Azure оценки OpenAI

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
}