Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Примечание
Содержание в новой документации Microsoft Foundry может открываться по ссылкам в этой статье вместо документации Foundry (классической версии), которую вы просматриваете сейчас.
Предупреждение
Разработка функций потока запросов закончилась 20 апреля 2026 г. Функция будет полностью прекращена 20 апреля 2027 г. В дату выхода на пенсию, Prompt Flow переходит в режим только для чтения. Существующие потоки будут продолжать работать до этой даты.
Рекомендуемое действие: Перенесите рабочие нагрузки Prompt Flow на Microsoft Agent Framework до 20 апреля 2027 г.
Потоки оценки — это специальные типы потоков, которые оценивают, насколько хорошо выходные данные выполнения соответствуют определенным критериям и целям.
В потоке подсказок вы можете настроить или создать собственный поток оценки, специально адаптированный для ваших задач и целей, а затем использовать его для оценки других потоков. В этом документе вы узнаете:
- Как разработать метод оценки.
- Понимание входных данных, выходных данных и метрик логирования для оценки потоков запросов.
Необходимые условия
Важно
Эта статья предоставляет устаревшую поддержку для проектов на основе концентраторов. Он не будет работать для проектов Foundry. Узнайте , какой у меня тип проекта?
примечание о совместимости SDK. Для примеров кода требуется определенная версия пакета SDK для Foundry Microsoft. При возникновении проблем совместимости рассмотрите возможность миграции из концентратора в проект Foundry.
- Учетная запись Azure с активной подпиской. Если у вас нет, создайте учетную запись free Azure, которая включает бесплатную пробную подписку.
- Если у вас нет одного, создайте проект на основе концентратора.
Начало разработки метода оценки
Существует два способа разработки собственных методов оценки:
Настройка встроенного потока оценки: Измените встроенный поток оценки.
- В разделе "Сборка и настройка" выберите поток запроса.
- Выберите "Создать", чтобы открыть мастер создания потока.
- В галерее потоков под Галерея исследований выберите Оценочный поток для фильтрации по этому типу. Выберите пример и нажмите "Клонировать", чтобы настроить.
Создайте новый поток оценки с нуля: Разработка нового метода оценки с нуля.
- В разделе "Сборка и настройка" выберите поток запроса.
- Выберите "Создать", чтобы открыть мастер создания потока.
- В коллекции потоков в разделе "Создание по типу " в поле "Поток оценки" выберите "Создать ", а затем можно просмотреть шаблон потока оценки.
Понимание оценки в Prompt flow
В потоке запроса поток — это последовательность узлов, которые обрабатывают входные данные и создают выходные данные. Потоки оценки также принимают необходимые входные данные и создают соответствующие выходные данные.
Ниже приведены некоторые специальные функции методов оценки:
- Они обычно выполняются после запуска, который подлежит тестированию, и получают выходные данные из этого выполнения.
- Помимо выходных данных тестового запуска, при необходимости они могут получать ещё один набор данных, который может содержать соответствующие истинные значения.
- У них может быть узел агрегирования, который вычисляет общую производительность проверяемого потока на основе отдельных показателей.
- Они могут записывать метрики с помощью
log_metric()функции.
Мы представляем, как следует определять входные и выходные данные в разработке методов оценки.
Входы
Оценка выполняется после другого запуска, чтобы оценить, насколько хорошо выходные данные выполнения соответствуют определенным критериям и целям. Поэтому оценка получает выходные данные, поступающие от этого запуска.
Кроме того, могут потребоваться другие входные данные, такие как эталонные данные, которые могут поступать из набора данных. По умолчанию оценка использует тот же набор данных, что и тестовый набор данных, предоставленный для тестового запуска. Однако если соответствующие метки или целевые истинные значения находятся в другом наборе данных, вы можете легко переключиться на него.
Поэтому для выполнения оценки необходимо указать источники этих необходимых входных данных. Для этого при отправке оценки отображается раздел "сопоставление входных данных".
- Если источник данных является выходными данными запуска, источник указывается как
${run.output.[OutputName]} - Если источник данных находится из тестового набора данных, источник указывается как
${data.[ColumnName]}
Примечание
Если оценка не требует данных из набора данных, вам не нужно ссылаться на столбцы набора данных в разделе сопоставления входных данных, указывая, что выбор набора данных является необязательной конфигурацией. Выбор набора данных не влияет на результат оценки.
Описание входных данных
Чтобы напомнить, какие входные данные необходимы для вычисления метрик, можно добавить описание для каждого требуемого входного значения. Описания отображаются при сопоставлении источников в пакетной отправке.
Чтобы добавить описания для каждого входного ввода, выберите "Показать описание " в разделе входных данных при разработке метода оценки. И вы можете выбрать "Скрыть описание", чтобы скрыть описание.
Затем это описание отображается при использовании данного метода оценки в процессе пакетной отправки.
Выходные данные и метрики
Выходные данные оценки — это результаты, которые измеряют производительность проверяемого потока. Выходные данные обычно содержат метрики, такие как оценки, а также могут содержать текст по соображениям и предложениям.
Выходные результаты на уровне экземпляра
В потоке запросов каждый экземпляр набора данных обрабатывается по одному за раз, и создается выходная запись. Аналогичным образом, в большинстве случаев оценки есть метрика для каждого результата, что позволяет проверить, как поток работает с каждым отдельным из данных.
Чтобы записать оценку для каждого примера данных, вычислите оценку для каждого вывода и запишите оценку как выходной поток, задав его в разделе выходных данных. Этот пользовательский опыт аналогичен определению стандартного вывода данных.
Мы вычисляем эту оценку на line_process узле, который можно создать и изменить с нуля при создании узла определённого типа. Этот узел Python также можно заменить на узел LLM, чтобы использовать LLM для вычисления оценки.
При использовании этого метода оценки для оценки другого потока, оценка уровня экземпляра может быть просмотрена на вкладке Обзор>выходных данных.
Узел ведения журнала метрик и агрегирования
Кроме того, также важно предоставить общую оценку для процесса выполнения. Вы можете проверить параметр "задать как агрегирование" узла Python в процессе оценки, чтобы преобразовать его в узел "сводки", что позволит узлу принимать входные данные в виде списка и обрабатывать их пакетно.
Таким образом, можно вычислить и обработать все оценки каждого выходного потока и вычислить общий результат для каждого варианта.
Метрики можно записывать в узел агрегирования с помощью запроса flow_sdk.log_metrics(). Метрики должны быть числовыми (float/int). Ведение журнала метрик типа строк не поддерживается.
Мы вычисляем эту оценку на aggregate узле, который можно создать и изменить с нуля при создании по типу. Вы также можете заменить этот узел Python на узел LLM, чтобы использовать LLM для вычисления оценки. См. следующий пример использования log_metric API в потоке оценки:
from typing import List
from promptflow import tool, log_metric
@tool
def calculate_accuracy(grades: List[str], variant_ids: List[str]):
aggregate_grades = {}
for index in range(len(grades)):
grade = grades[index]
variant_id = variant_ids[index]
if variant_id not in aggregate_grades.keys():
aggregate_grades[variant_id] = []
aggregate_grades[variant_id].append(grade)
# calculate accuracy for each variant
for name, values in aggregate_grades.items():
accuracy = round((values.count("Correct") / len(values)), 2)
log_metric("accuracy", accuracy, variant_id=name)
return aggregate_grades
Как вы назвали эту функцию в узле Python, вам не нужно назначать ее в другом месте, и вы можете просмотреть метрики позже. При использовании этого метода оценки в пакетном запуске оценку уровня экземпляра можно просматривать на вкладке "Обзор-метрики".