Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure оценки OpenAI — это средства оценки в пакете SDK Microsoft Foundry, который оценивает производительность моделей ИИ и их выходные данные с помощью оценки на основе LLM или детерминированного сравнения. К этим классам относятся:
| Grader | Что он измеряет | Required parameters | Output |
|---|---|---|---|
label_model |
Классифицирует текст в предопределенные категории |
model, , nameinput, labelspassing_labels |
Передача и сбой на основе метки |
score_model |
Присваивает числовую оценку на основе критериев |
model, , nameinput |
0-1 float |
string_check |
Точное сопоставление строк или шаблонов |
input, , referenceoperation |
Pass/Fail |
text_similarity |
Сходство между двумя текстовыми строками |
input, , referenceevaluation_metricpass_threshold |
0-1 float |
Вы можете выполнять оценки локально или удаленно. Каждый классировщик оценивает конкретные аспекты моделей ИИ и их выходные данные.
Настройка и запуск оценки
Azure оценки OpenAI используют API Evals OpenAI и настраиваются по-разному от встроенных оценщиков, которые используют тип azure_ai_evaluator. Используйте классы, если требуется настраиваемая классификация на основе LLM или оценка с полным контролем над запросом, или если требуется детерминированная строка или проверка сходства без судьи LLM.
Azure оценки OpenAI предоставляют гибкую оценку с помощью детерминированных или детерминированных подходов на основе LLM:
-
Классы на основе моделей (
label_model,score_model) — используйте LLM для оценки выходных данных. -
Детерминированные оценки (
string_check,text_similarity) — использование алгоритмического сравнения
Examples:
Дополнительные сведения о выполнении вычислений и настройке источников данных см. в статье о выполнении вычислений из пакета SDK .
Example input
Тестовый набор данных должен содержать поля, на которые ссылается ваш класс.
{"query": "What is the weather like today?", "response": "It's sunny and warm with clear skies.", "ground_truth": "Today is sunny with temperatures around 75°F."}
{"query": "Summarize the meeting notes.", "response": "The team discussed Q3 goals and assigned action items.", "ground_truth": "Meeting covered quarterly objectives and task assignments."}
Label grader
Классировщик меток (label_model) использует LLM для классификации текста в предопределенные категории. Используйте его для анализа тональности, классификации содержимого или любой задачи многоклассовой маркировки.
{
"type": "label_model",
"name": "sentiment_check",
"model": model_deployment,
"input": [
{"role": "developer", "content": "Classify the sentiment as 'positive', 'neutral', or 'negative'"},
{"role": "user", "content": "Statement: {{item.query}}"},
],
"labels": ["positive", "neutral", "negative"],
"passing_labels": ["positive", "neutral"],
}
Выход: Возвращает назначенную метку из определенного набора. Классировщик проходит, если метка находится в passing_labels.
Score grader
Оценка (score_model) использует LLM для назначения числовых показателей выходным данным модели, отражая качество, правильность или сходство со ссылкой. Используйте его для тонкой оценки, требующей рассуждений.
{
"type": "score_model",
"name": "quality_score",
"model": model_deployment,
"input": [
{"role": "system", "content": "Rate the response quality from 0 to 1. 1 = perfect, 0 = completely wrong."},
{"role": "user", "content": "Response: {{item.response}}\nGround Truth: {{item.ground_truth}}"},
],
"pass_threshold": 0.7,
"range": [0, 1]
}
Выход: Возвращает оценку с плавающей запятой (например, 0.85). Классировщик проходит, если оценка соответствует или превышает pass_threshold.
Note
range значение [0, 1] по умолчанию, если опущено.
pass_threshold необязательный; Если значение не задано, оценка оценки градировщика, но не создает результат прохождения или сбоя.
Оценка строкового проверяющего
Классировщик строк выполняетstring_check детерминированные сравнения строк. Используйте его для точной проверки соответствия, где ответы должны точно соответствовать ссылке.
{
"type": "string_check",
"name": "exact_match",
"input": "{{item.response}}",
"reference": "{{item.ground_truth}}",
"operation": "eq",
}
Operations:
| Operation | Description |
|---|---|
eq |
Точное совпадение (учитывает регистр) |
ne |
Not equal |
like |
Сопоставление шаблонов с подстановочными знаками |
ilike |
Сопоставление шаблонов без учета регистра |
Выход: Возвращает оценку для совпадения без 0 совпадений1.
Класс сходства текста
Класс сходства текста сравниваетtext_similarity две текстовые строки с помощью метрик сходства. Используйте его для сопоставления с открытым или парафрасным совпадением, где точное совпадение слишком строго.
{
"type": "text_similarity",
"name": "similarity_check",
"input": "{{item.response}}",
"reference": "{{item.ground_truth}}",
"evaluation_metric": "bleu",
"pass_threshold": 0.8,
}
Metrics:
| Metric | Description |
|---|---|
fuzzy_match |
Приблизительное сопоставление строк с помощью расстояния редактирования |
bleu |
Оценка перекрытия N-грамм, часто используемая для перевода |
gleu |
Вариант GOOGLE BLEU с оценкой на уровне предложения |
meteor |
Метрика на основе выравнивания, учитывая синонимы и парафразы |
cosine |
Сходство косинуса с векторизованным текстом |
rouge_1, , rouge_2rouge_4rouge_3rouge_5,rouge_l |
Варианты перекрытия N-грамм (юниграмма до 5-грамм и самая длинная общая подсеку) |
Выход: Возвращает оценку сходства в виде плавающей запятой (чем выше, тем более похожим). Классировщик проходит, если оценка соответствует или превышает pass_threshold.
Example output
Оценки возвращают результаты с состоянием pass/fail. Ключевые поля выходных данных:
{
"type": "score_model",
"name": "quality_score",
"score": 0.85,
"passed": true
}