Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.
В этой статье вы узнаете, как выполнять оценки в облаке (предварительная версия) для предварительного тестирования в тестовом наборе данных.
Используйте облачные оценки для большинства сценариев, особенно при тестировании в масштабе, интеграции вычислений в конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) или выполнения предварительного тестирования. Выполнение вычислений в облаке устраняет необходимость управления локальной вычислительной инфраструктурой и поддерживает крупномасштабные автоматизированные рабочие процессы тестирования. Вы также можете запланировать выполнение вычислений на регулярной основе или настроить непрерывную оценку для автоматической оценки примеров ответов агента в рабочей среде.
Результаты оценки облака хранятся в проекте Foundry. Вы можете просмотреть результаты на портале, получить их с помощью пакета SDK или перенаправить их в Application Insights при подключении. Облачная оценка поддерживает все курируемые Майкрософт встроенные оценщики и ваши собственные пользовательские оценщики. Оценщики управляются в каталоге оценщиков с той же проектной областью и управлением доступом на основе ролей.
Подсказка
Полные примеры кода для запуска см. в примерах оценки в пакете SDK для Python на #REF!.
При использовании пакета SDK для Foundry он регистрирует результаты оценки в проекте Foundry для повышения наблюдаемости. Эта функция поддерживает все встроенные средства оценки, управляемые корпорацией Майкрософт. и собственные настраиваемые оценщики. Оценщики могут находиться в библиотеке оценщиков и иметь ту же проектную область, управление доступом, основанное на ролях.
Как работает оценка облака
Чтобы провести облачную оценку, создайте структуру для оценки с вашей схемой данных и критериями тестирования (оценщиками), а затем выполните проведение оценки. Запуск выполняет каждого оценщика по вашим данным и возвращает оцененные результаты, которые можно опрашивать для завершения.
Облачная оценка поддерживает следующие сценарии:
| Сценарий | Когда следует использовать | Тип источника данных | Цель |
|---|---|---|---|
| Оценка набора данных | Оцените предварительно вычисляемые ответы в JSONL-файле. | jsonl |
— |
| Целевая оценка модели | Предоставьте запросы и создайте ответы из модели во время выполнения для оценки. | azure_ai_target_completions |
azure_ai_model |
| Оценка целевого объекта агента | Предоставьте запросы и генерируйте ответы от агента Foundry во время выполнения программы для оценки. | azure_ai_target_completions |
azure_ai_agent |
| Оценка ответа агента | Получение и оценка ответов агента Foundry по идентификаторам ответов. | azure_ai_responses |
— |
| Оценка искусственных данных (предварительная версия) | Создайте искусственные тестовые запросы, отправьте их в модель или агент и оцените ответы. | azure_ai_synthetic_data_gen_preview |
или |
| Оценка красной команды | Запуск автоматического состязательного тестирования на модели или агенте. | azure_ai_red_team |
или |
Для большинства сценариев требуются входные данные. Вы можете предоставить данные двумя способами:
| Тип источника | Description |
|---|---|
file_id |
Ссылка на загруженный набор данных по идентификатору. |
file_content |
Предоставьте данные в строке запроса. |
Для каждой оценки требуется , который сообщает службе, какие поля следует ожидать в ваших данных:
- — вы определяете как имена полей и их типы. Задайте значение при использовании целевого объекта, чтобы вычислители могли ссылаться на созданные ответы.
- — схема выводится из сервиса. Установите значение для оценки ответа агента, для оценки синтетических данных (предварительная версия) или для красной команды.
Для каждого сценария требуются оценщики, которые определяют критерии тестирования. Инструкции по выбору оценщиков см. в разделе встроенные оценщики.
Предпосылки
- Проект Foundry.
- Развертывание OpenAI #REF! с моделью GPT, поддерживающей завершение чата (например,
gpt-5-mini). - Роль пользователя #REF! AI в проекте Foundry.
- При необходимости можно использовать собственную учетную запись хранения для выполнения вычислений.
Замечание
Некоторые функции оценки имеют региональные ограничения. Дополнительные сведения см. в поддерживаемых регионах .
Начало работы
Установите пакет SDK и настройте клиент:
pip install "azure-ai-projects>=2.0.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
CreateEvalJSONLRunDataSourceParam,
SourceFileContent,
SourceFileContentContent,
SourceFileID,
)
# Azure AI Project endpoint
# Example: https://<account_name>.services.ai.azure.com/api/projects/<project_name>
endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
# Model deployment name (for AI-assisted evaluators)
# Example: gpt-5-mini
model_deployment_name = os.environ.get("AZURE_AI_MODEL_DEPLOYMENT_NAME", "")
# Dataset details (optional, for reusing existing datasets)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")
# Create the project client
project_client = AIProjectClient(
endpoint=endpoint,
credential=DefaultAzureCredential(),
)
# Get the OpenAI client for evaluation API
client = project_client.get_openai_client()
Подготовка входных данных
Для большинства сценариев оценки требуются входные данные. Вы можете предоставить данные двумя способами:
Отправка набора данных (рекомендуется)
Отправьте JSONL-файл, чтобы создать набор данных с версиями в проекте Foundry. Наборы данных поддерживают управление версиями и повторное использование в нескольких запусках оценки. Используйте этот подход для рабочих процессов тестирования и CI/CD.
Подготовьте JSONL-файл с одним объектом JSON на строку, содержащую поля, необходимые вычислителям:
{"query": "What is machine learning?", "response": "Machine learning is a subset of AI.", "ground_truth": "Machine learning is a type of AI that learns from data."}
{"query": "Explain neural networks.", "response": "Neural networks are computing systems inspired by biological neural networks.", "ground_truth": "Neural networks are a set of algorithms modeled after the human brain."}
# Upload a local JSONL file. Skip this step if you already have a dataset registered.
data_id = project_client.datasets.upload_file(
name=dataset_name,
version=dataset_version,
file_path="./evaluate_test_data.jsonl",
).id
Предоставление встроенных данных
Для быстрого экспериментирования с небольшими наборами тестов предоставьте данные непосредственно в запросе на оценку с помощью .
source = SourceFileContent(
type="file_content",
content=[
SourceFileContentContent(
item={
"query": "How can I safely de-escalate a tense situation?",
"ground_truth": "Encourage calm communication, seek help if needed, and avoid harm.",
}
),
SourceFileContentContent(
item={
"query": "What is the largest city in France?",
"ground_truth": "Paris",
}
),
],
)
В конфигурации источника данных передайте в качестве поля при создании запуска. Разделы сценария, которые следуют, используют по умолчанию.
Оценка набора данных
Оцените предварительно вычисляемые ответы в JSONL-файле с помощью типа источника данных. Этот сценарий полезен, если у вас уже есть выходные данные модели и требуется оценить их качество.
Подсказка
Прежде чем начать, завершите начало работы и подготовьте входные данные.
Определение схемы данных и вычислителей
Укажите схему, соответствующую полям JSONL, и выберите вычислители (критерии тестирования) для выполнения. Используйте параметр для подключения полей из ваших входных данных к параметрам оценщика с синтаксисом . Всегда включайте поля входных данных, необходимых для каждого оценщика. Имена полей должны совпадать с именами в JSONL-файле — например, если в данных используется вместо , то в сопоставлении используйте . Сведениями о необходимых параметрах для встроенных оценщиков можно ознакомиться в документе.
- Python
- cURL
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
"response": {"type": "string"},
"ground_truth": {"type": "string"},
},
"required": ["query", "response", "ground_truth"],
},
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"initialization_parameters": {
"deployment_name": model_deployment_name
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "f1",
"evaluator_name": "builtin.f1_score",
"data_mapping": {
"response": "{{item.response}}",
"ground_truth": "{{item.ground_truth}}",
},
},
]
Создание оценки и запуск
Создайте оценку, а затем запустите операцию с вашим набором данных. Выполнение выполняет каждый вычислитель для каждой строки в наборе данных.
- Python
- cURL
# Create the evaluation
eval_object = client.evals.create(
name="dataset-evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
# Create a run using the uploaded dataset
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="dataset-run",
data_source=CreateEvalJSONLRunDataSourceParam(
type="jsonl",
source=SourceFileID(
type="file_id",
id=data_id,
),
),
)
Для полного примера работающего кода см. sample_evaluations_builtin_with_dataset_id.py на #REF!. Для опроса состояния завершения и интерпретации результатов см. раздел "Получение результатов".
Целевая оценка модели
Отправьте запросы в развернутую модель во время выполнения и оцените ответы с помощью типа источника данных с целевым объектом. Входные данные содержат запросы; Модель создает ответы, которые затем вычисляются.
Подсказка
Прежде чем начать, завершите начало работы и подготовьте входные данные.
Определение шаблона сообщения и целевого объекта
Шаблон управляет отправкой запросов в модель. Используется для ссылки на поля из входных данных. Укажите модель для оценки и необязательных параметров выборки:
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_model",
"model": "gpt-5-mini",
"sampling_params": {
"top_p": 1.0,
"max_completion_tokens": 2048,
},
}
Настройка оценщиков и сопоставлений данных
Когда модель создает ответы во время выполнения, используйте в для ссылки на выходные данные модели. Используется для ссылки на поля из входных данных.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
]
Создание оценки и запуск
- Python
- cURL
eval_object = client.evals.create(
name="Model Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="model-target-evaluation",
data_source=data_source,
)
Полный пример запуска см. в разделе sample_model_evaluation.py на #REF!. Для опроса состояния завершения и интерпретации результатов см. раздел "Получение результатов".
Подсказка
Чтобы добавить другой запуск оценки, можно использовать тот же код.
Оценка целевого объекта агента
Отправьте запросы агенту Foundry во время выполнения и оцените ответы с помощью типа источника данных с целевым объектом.
Подсказка
Прежде чем начать, завершите начало работы и подготовьте входные данные.
Определение шаблона сообщения и целевого объекта
Шаблон управляет отправкой запросов агенту. Используется для ссылки на поля из входных данных. Укажите агент для оценки по имени.
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "developer",
"content": {
"type": "input_text",
"text": "You are a helpful assistant. Answer clearly and safely."
}
},
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_agent",
"name": "my-agent",
"version": "1" # Optional. Uses latest version if omitted.
}
Настройка оценщиков и сопоставлений данных
Когда агент создает ответы во время выполнения, используйте переменные в для ссылки на выходные данные агента.
| Variable | Description | Используется для |
|---|---|---|
{{sample.output_text}} |
Ответ агента в текстовом формате. | Оценщики, которые ожидают строковый ответ (например, , ). |
{{sample.output_items}} |
Структурированный JSON-вывод агента, включая вызовы инструментов. | Оценщики, которым требуется полный контекст взаимодействия (например, ). |
{{item.field}} |
Поле из входных данных. | Поля ввода, например или . |
Подсказка
Поле может содержать структурированные json, включая системные сообщения и журнал бесед. Некоторые оценщики агентов, такие как , используют этот контекст для более точной оценки. Дополнительные сведения о форматировании запросов см. в разделе о вычислителях агентов.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "task_adherence",
"evaluator_name": "builtin.task_adherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_items}}",
},
},
]
Создание оценки и запуск
- Python
- cURL
eval_object = client.evals.create(
name="Agent Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
agent_eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-target-evaluation",
data_source=data_source,
)
Полный пример запуска см. в разделе sample_agent_evaluation.py на #REF!. Для опроса состояния завершения и интерпретации результатов см. раздел "Получение результатов".
Оценка ответа агента
Получите и оцените ответы агента Foundry по идентификаторам ответов, используя тип источника данных . Используйте этот сценарий для оценки конкретных взаимодействий агента после их возникновения.
Подсказка
Прежде чем начать, завершите Get started.
Идентификатор ответа — это уникальный идентификатор, возвращаемый каждый раз, когда агент Foundry создает ответ. Идентификаторы ответов можно собирать из взаимодействий агента с помощью API ответов или из журналов трассировки приложения. Предоставьте идентификаторы как содержимое файла, или загрузите их в виде набора данных (см. раздел Подготовка входных данных).
Сбор идентификаторов ответов
Каждый вызов API ответов возвращает объект ответа с уникальным полем. Соберите эти идентификаторы из взаимодействий приложения или создайте их напрямую:
# Generate response IDs by calling a model through the Responses API
response = client.responses.create(
model=model_deployment_name,
input="What is machine learning?",
)
print(response.id) # Example: resp_abc123
Вы также можете собирать идентификаторы ответов из взаимодействий с агентом в журналах трассировки приложения или конвейере мониторинга. Каждый идентификатор ответа однозначно идентифицирует сохраненный ответ, который может получить служба оценки.
Создание оценки и запуск
- Python
- cURL
data_source_config = {"type": "azure_ai_source", "scenario": "responses"}
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
},
]
eval_object = client.evals.create(
name="Agent Response Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_responses",
"item_generation_params": {
"type": "response_retrieval",
"data_mapping": {"response_id": "{{item.resp_id}}"},
"source": {
"type": "file_content",
"content": [
{"item": {"resp_id": "resp_abc123"}},
{"item": {"resp_id": "resp_def456"}},
]
},
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-response-evaluation",
data_source=data_source,
)
Полный пример запуска см. в разделе sample_agent_response_evaluation.py на #REF!. Для опроса состояния завершения и интерпретации результатов см. раздел "Получение результатов".
Оценка искусственных данных (предварительная версия)
Создайте искусственные тестовые запросы, отправьте их в развернутую модель или агент Foundry и оцените ответы с помощью типа источника данных. Используйте этот сценарий, если у вас нет тестового набора данных— служба создает запросы на основе предоставленного запроса (и/или из инструкций агента), выполняет их в целевом объекте и оценивает ответы.
Подсказка
Прежде чем начать, завершите Get started.
Как работает оценка искусственных данных
- Служба генерирует искусственные запросы на основе ваших и необязательных файлов начальных данных.
- Каждый запрос отправляется в указанный целевой объект (модель или агент) для создания ответа.
- Вычислители оценивают каждый ответ с помощью созданного запроса и ответа.
- Созданные запросы хранятся в качестве набора данных в проекте для повторного использования.
Параметры
| Параметр | Обязательный | Description |
|---|---|---|
samples_count |
Yes | Максимальное количество генерируемых искусственных запросов теста. |
model_deployment_name |
Yes | Развертывание модели для создания искусственных запросов. Поддерживаются только модели с возможностями API ответов. Сведения о доступности см. в разделе " Доступность региона API ответов". |
prompt |
нет | Инструкции, описывающие тип создаваемого запроса. Необязательно, если целевой объект агента настроены инструкции. |
output_dataset_name |
нет | Имя выходного набора данных, в котором хранятся созданные запросы. Если оно не указано, служба автоматически создает имя. |
sources |
нет | Начальные файлы данных (по идентификатору файла) для повышения релевантности созданных запросов. В настоящее время поддерживается только один файл. |
Настройка оценщиков и сопоставлений данных
Генератор искусственных данных создает запросы в поле. Целевой объект создает ответы, доступные в . Сопоставьте эти поля с вашими оценщиками:
data_source_config = {"type": "azure_ai_source", "scenario": "synthetic_data_gen_preview"}
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
]
Создание оценки и запуск
- Python
- cURL
Целевой объект модели
Создайте искусственные запросы и оцените модель:
eval_object = client.evals.create(
name="Synthetic Data Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
"output_dataset_name": "my-synthetic-dataset",
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-data-evaluation",
data_source=data_source,
)
При необходимости можно добавить системный запрос для формирования поведения целевой модели. При использовании с генерацией искусственных данных включите только сообщения ролей — служба автоматически предоставляет созданные запросы в виде пользовательских сообщений.
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
"input_messages": {
"type": "template",
"template": [
{
"type": "message",
"role": "system",
"content": {
"type": "input_text",
"text": "You are a helpful customer service agent. Be empathetic and solution-oriented."
}
}
]
},
}
Целевой объект агента
Создайте искусственные запросы и оцените агент Foundry:
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_agent",
"name": agent_name,
"version": agent_version,
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-agent-evaluation",
data_source=data_source,
)
Для опроса состояния завершения и интерпретации результатов см. раздел "Получение результатов". Ответ содержит свойство, содержащее идентификатор созданного набора данных, который можно использовать для получения или повторного использования синтетических данных.
Получение результатов
После завершения выполнения оценки получите оцененные результаты и просмотрите их на портале или программным способом.
Опрос результатов
Проведения оценки являются асинхронными. Опрашивайте состояние выполнения до завершения, а затем извлекайте результаты.
import time
from pprint import pprint
while True:
run = client.evals.runs.retrieve(
run_id=eval_run.id, eval_id=eval_object.id
)
if run.status in ("completed", "failed"):
break
time.sleep(5)
print("Waiting for eval run to complete...")
# Retrieve results
output_items = list(
client.evals.runs.output_items.list(
run_id=run.id, eval_id=eval_object.id
)
)
pprint(output_items)
print(f"Report URL: {run.report_url}")
Интерпретация результатов
Для одного примера данных все оценщики выводят следующую схему.
- Метка: двоичная метка "pass" или "fail", аналогичная выходным данным модульного теста. Используйте этот результат для упрощения сравнения между оценщиками.
- Оценка: оценка по естественной шкале каждого оценщика. Некоторые оценщики используют детализированную рубрику, ставят оценки по 5-балльной шкале (оценщики качества) или по 7-балльной шкале (оценщики безопасности содержимого). Другие, такие как методы оценки сходства текста, используют F1-оценки, значения которых варьируются от 0 до 1. Все недвоичные "оценки" бинаризуются в "сдано" или "не сдано" в поле "метка" на основе "порога".
- Пороговое значение: любые не двоичные оценки будут преобразованы в "прохождение" или "провал" на основе порогового значения по умолчанию, которое пользователь может изменить в интерфейсе SDK.
- Причина: чтобы улучшить понятность, все оценщики LLM-судья также выводят поле для пояснения, чтобы объяснить, почему дана определенная оценка.
- Сведения: (необязательно) Для некоторых оценщиков, таких как tool_call_accuracy, может быть поле "подробности" или флаги, содержащие дополнительные сведения, которые помогают пользователям отлаживать свои приложения.
Пример выходных данных (один элемент)
{
"type": "azure_ai_evaluator",
"name": "Coherence",
"metric": "coherence",
"score": 4.0,
"label": "pass",
"reason": "The response is well-structured and logically organized, presenting information in a clear and coherent manner.",
"threshold": 3,
"passed": true
}
Пример выходных данных (агрегат)
Для агрегированных результатов по нескольким примерам данных (набору данных) средний показатель примеров с "pass" определяет итоговый показатель для этого набора данных.
{
"eval_id": "eval_abc123",
"run_id": "run_xyz789",
"status": "completed",
"result_counts": {
"passed": 85,
"failed": 15,
"total": 100
},
"per_testing_criteria_results": [
{
"name": "coherence",
"passed": 92,
"failed": 8,
"pass_rate": 0.92
},
{
"name": "relevance",
"passed": 78,
"failed": 22,
"pass_rate": 0.78
}
]
}
Устранение неполадок
Выполнение задания в течение длительного времени
Задание оценки может оставаться в состоянии выполнения в течение длительного периода. Обычно это происходит, когда развертывание модели OpenAI #REF! не имеет достаточной емкости, что приводит к повторным запросам службы.
Резолюция:
- Отмена текущего задания оценки с помощью .
- Увеличьте емкость модели на портале #REF!.
- Снова запустите оценку.
Ошибки проверки подлинности
Если вы получаете ошибку или , убедитесь, что:
-
DefaultAzureCredentialнастроен правильно (при использовании Azure CLI запуститьaz login). - У вашей учетной записи есть роль пользователь #REF! AI в проекте Foundry.
- URL-адрес конечной точки проекта является правильным и включает имена учетных записей и проектов.
Ошибки формата данных
Если проверка завершается ошибкой схемы или сопоставления данных:
- Убедитесь, что в файле JSONL есть один допустимый объект JSON для каждой строки.
- Убедитесь, что имена полей соответствуют именам полей в JSONL-файле точно (учитывает регистр).
- Убедитесь, что свойства соответствуют полям в наборе данных.
Ошибки ограничения скорости
Создание запусков оценки ограничено скоростью на уровне клиента, подписки и проекта. Если вы получите ответ:
- Проверьте заголовок в ответе на рекомендуемое время ожидания.
- Просмотрите текст ответа для сведений об ограничении скорости.
- Используйте экспоненциальную задержку при повторных попытках выполнения неудачных запросов.
Если задание оценки завершается ошибкой во время выполнения:
- Уменьшите размер набора данных оценки или разделите его на меньшие пакеты.
- Увеличьте квоту токенов в минуту (TPM) для развертывания вашей модели на портале #REF!.
Ошибки инструмента оценки агента
Если средство оценки агента возвращает ошибку для неподдерживаемых средств:
- Проверьте поддерживаемые средства для оценщиков агентов.
- В качестве обходного решения оберните неподдерживаемые инструменты в виде пользовательских инструментов функций, чтобы оценщик смог их оценить.
Связанный контент
- Готовые рабочие образцы
- Постоянно оценивайте ваших агентов ИИ
- Просмотр результатов оценки на портале Foundry
- Начало работы с Foundry
- Справочник по REST API