Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В настоящее время просмотр:Версия портала Foundry (классическая версия - )Переход на версию для нового портала Foundry
Note
Пакет SDK для Microsoft Foundry для оценки и портала Foundry находятся в общедоступной предварительной версии, но API обычно доступны для оценки модели и набора данных (оценка агента остается в общедоступной предварительной версии). Пакет SDK для оценки Azure ИИ и вычислители, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии везде.
Агенты — мощные помощники по продуктивности. Они планируют, принимают решения и выполняют действия. Агенты обычно рассуждают по намерениям пользователя в разговорах, выбирают правильные инструменты для удовлетворения их запросов и выполняют задачи согласно инструкциям. Microsoft Foundry поддерживает такие агенто-специфические оценщики для агентных рабочих процессов:
- Разрешение намерений (предварительный просмотр)
- Точность вызова инструментов (предварительный просмотр)
- Соблюдение задач (предварительный просмотр)
Оценка агентов Azure AI
Агенты излучают сообщения, и для предоставления входных данных обычно требуется разбор этих сообщений для извлечения релевантной информации. Если вы создаёте агентов с помощью Azure AI Agent Service, сервис предоставляет нативную интеграцию для оценки, которая напрямую принимает их агентские сообщения. Для примера см. раздел «Оценка агентов ИИ».
Помимо IntentResolution, ToolCallAccuracy, и TaskAdherence, которые специфичны для агентных рабочих процессов, вы можете оценить другие аспекты качества и безопасности этих рабочих процессов с помощью комплексного набора встроенных оценщиков. Foundry поддерживает этот список оценщиков для сообщений агентов AI Azure от нашего конвертера:
-
Качество:
IntentResolution,ToolCallAccuracy,TaskAdherence,RelevanceCoherence, , иFluency -
Безопасность:
CodeVulnerabilities,Violence,Self-harm,SexualHateUnfairness,IndirectAttack, иProtectedMaterials
В этой статье приведены примеры IntentResolution, ToolCallAccuracy, и TaskAdherence. Для примеров других оценщиков с Azure сообщениями агентов ИИ см. evaluating Azure AI-агентов.
Конфигурация модели для оценщиков с помощью ИИ
Для справки в следующих фрагментах кода оценщики с помощью ИИ используют конфигурацию модели для большого языка model-judge (LLM-judge):
import os
from azure.ai.evaluation import AzureOpenAIModelConfiguration
from dotenv import load_dotenv
load_dotenv()
model_config = AzureOpenAIModelConfiguration(
azure_endpoint=os.environ["AZURE_ENDPOINT"],
api_key=os.environ.get("AZURE_API_KEY"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
)
Поддержка оценочных моделей
Azure AI Agent Service поддерживает AzureOpenAI или OpenAI reasoning models а также нелогичные модели для LLM-judge в зависимости от оценщиков:
| Evaluators | Модели рассуждения как судьи (пример: модели серии o-серии из Azure OpenAI / OpenAI) | Модели без рассуждений в качестве судьи (пример: gpt-4.1 или gpt-4o) | To enable |
|---|---|---|---|
IntentResolution, TaskAdherence, ToolCallAccuracyResponseCompletenessCoherenceFluencySimilarityGroundednessRetrievalRelevance |
Supported | Supported | Задайте дополнительный параметр is_reasoning_model=True при инициализации оценщиков |
| Other evaluators | Not Supported | Supported | -- |
Для сложной оценки, требующей утончённого рассуждения, используйте сильную модель рассуждения, например 4.1-mini , с балансом между эффективностью рассуждения и эффективностью затрат.
Intent resolution
IntentResolutionEvaluator измеряет, насколько хорошо система определяет и понимает запрос пользователя. Это понимание включает то, насколько хорошо он охватывает намерения пользователя, задаёт вопросы для уточнения и напоминает конечным пользователям о сфере своих возможностей. Более высокий балл указывает на лучшее определение намерений пользователя.
Пример разрешения намерения
from azure.ai.evaluation import IntentResolutionEvaluator
intent_resolution = IntentResolutionEvaluator(model_config=model_config, threshold=3)
intent_resolution(
query="What are the opening hours of the Eiffel Tower?",
response="Opening hours of the Eiffel Tower are 9:00 AM to 11:00 PM."
)
Вывод разрешения намерения
Числовой балл использует шкалу Ликерта (целое число от 1 до 5), где более высокий балл — лучше. При заданном числовом пороге (по умолчанию 3), вывод оценщика проходит , если балл выше или равен порогу, или если он провалится в противном случае. Использование причины и других областей поможет понять, почему балл высокий или низкий.
{
"intent_resolution": 5,
"intent_resolution_result": "pass",
"intent_resolution_threshold": 3,
"intent_resolution_reason": "The response provides the opening hours of the Eiffel Tower clearly and accurately, directly addressing the user's query. It includes specific times, which fully resolves the user's request for information about the opening hours.",
}
Если вы создаёте агенты вне Foundry Agent Service, этот оценщик принимает схему, типичную для сообщений агентов. Чтобы изучить пример блокнота, см. раздел Intent Resolution.
Точность вызова инструментов
ToolCallAccuracyEvaluator измеряет точность и эффективность вызовов инструментов, совершаемых агентом в ходе запуска. Он даёт оценку от 1 до 5 на основе:
- Актуальность и полезность используемого инструмента
- Корректность параметров, используемых в вызовах инструментов
- Количество пропущенных или чрезмерных звонков
Поддержка оценки вызовов средства
ToolCallAccuracyEvaluator поддерживает оценку в Agent Service для следующих инструментов:
- File Search
- Поиск с использованием ИИ Azure
- Bing Grounding
- Пользовательский поиск Bing
- SharePoint Grounding
- Code Interpreter
- Агент данных Fabric
- OpenAPI
- Средство функций (определяемые пользователем средства)
Если в запуске агента используется неподдерживаемый инструмент, оценщик выводит пропуск и объясняет, что оценка инструментов не поддерживается. Такой подход облегчает отсеивание таких случаев. Мы рекомендуем оборачивать неподдерживаемые инструменты как пользовательские инструменты для поддержки оценки.
Пример точности вызова инструментов
from azure.ai.evaluation import ToolCallAccuracyEvaluator
tool_call_accuracy = ToolCallAccuracyEvaluator(model_config=model_config, threshold=3)
# provide the agent response with tool calls
tool_call_accuracy(
query="What timezone corresponds to 41.8781,-87.6298?",
response=[
{
"createdAt": "2025-04-25T23:55:52Z",
"run_id": "run_DmnhUGqYd1vCBolcjjODVitB",
"role": "assistant",
"content": [
{
"type": "tool_call",
"tool_call_id": "call_qi2ug31JqzDuLy7zF5uiMbGU",
"name": "azure_maps_timezone",
"arguments": {
"lat": 41.878100000000003,
"lon": -87.629800000000003
}
}
]
},
{
"createdAt": "2025-04-25T23:55:54Z",
"run_id": "run_DmnhUGqYd1vCBolcjjODVitB",
"tool_call_id": "call_qi2ug31JqzDuLy7zF5uiMbGU",
"role": "tool",
"content": [
{
"type": "tool_result",
"tool_result": {
"ianaId": "America/Chicago",
"utcOffset": None,
"abbreviation": None,
"isDaylightSavingTime": None
}
}
]
},
{
"createdAt": "2025-04-25T23:55:55Z",
"run_id": "run_DmnhUGqYd1vCBolcjjODVitB",
"role": "assistant",
"content": [
{
"type": "text",
"text": "The timezone for the coordinates 41.8781, -87.6298 is America/Chicago."
}
]
}
],
tool_definitions=[
{
"name": "azure_maps_timezone",
"description": "local time zone information for a given latitude and longitude.",
"parameters": {
"type": "object",
"properties": {
"lat": {
"type": "float",
"description": "The latitude of the location."
},
"lon": {
"type": "float",
"description": "The longitude of the location."
}
}
}
}
]
)
# alternatively, provide the tool calls directly without the full agent response
tool_call_accuracy(
query="How is the weather in Seattle?",
tool_calls=[{
"type": "tool_call",
"tool_call_id": "call_CUdbkBfvVBla2YP3p24uhElJ",
"name": "fetch_weather",
"arguments": {
"location": "Seattle"
}
}],
tool_definitions=[{
"id": "fetch_weather",
"name": "fetch_weather",
"description": "Fetches the weather information for the specified location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The location to fetch weather for."
}
}
}
}
]
)
Вывод точности вызова инструментов
Числовая оценка измеряется по шкале Ликерта (целое число от 1 до 5). Более высокий балл — это лучше. Имея числовой порог (по умолчанию 3), оценщик также выводит pass , если score >= порог или провал . Используйте поля «причина и вызов инструмента», чтобы понять, почему оценка высокая или низкая.
{
"tool_call_accuracy": 5,
"tool_call_accuracy_result": "pass",
"tool_call_accuracy_threshold": 3,
"details": {
"tool_calls_made_by_agent": 1,
"correct_tool_calls_made_by_agent": 1,
"per_tool_call_details": [
{
"tool_name": "fetch_weather",
"total_calls_required": 1,
"correct_calls_made_by_agent": 1,
"correct_tool_percentage": 100%,
"tool_call_errors": 0,
"tool_call_success_result": "pass"
}
],
"excess_tool_calls": {
"total": 0,
"details": []
},
"missing_tool_calls": {
"total": 0,
"details": []
}
}
}
Если вы создаёте агенты вне Azure AI Agent Service, этот оценщик принимает схему, типичную для сообщений агентов. Для примера блокнота см. Точность вызова инструментов.
Task adherence
В различных системах ИИ, ориентированных на задачи, таких как агентные, важно оценить, сохраняет ли агент правильный путь, чтобы выполнить задачу, вместо того чтобы совершать неэффективные или выходящие за рамки действия.
TaskAdherenceEvaluator измеряет, насколько хорошо реакция агента соответствует назначенным задачам, в зависимости от инструкции и доступных инструментов. Инструкция задачи извлекается из системного сообщения и пользовательского запроса. Более высокий балл указывает на лучшее соблюдение системных инструкций для решения задачи.
Пример соблюдения задачи
from azure.ai.evaluation import TaskAdherenceEvaluator
task_adherence = TaskAdherenceEvaluator(model_config=model_config)
task_adherence(
query="What are the best practices for maintaining a healthy rose garden during the summer?",
response="Make sure to water your roses regularly and trim them occasionally."
)
Вывод соответствия задачам
В противном случае выводы оценивателя проходят илине проходят. Используйте поле причины, чтобы понять логику результата
{
"task_adherence_result": "fail",
"task_adherence_reason": "The response partially addresses the query by mentioning relevant practices but lacks critical details and depth, making it insufficient for a comprehensive understanding of maintaining a rose garden in summer."
}
Если вы создаёте агенты вне Azure AI Agent Service, этот оценщик принимает схему, типичную для сообщений агентов. Для примера блокнота см. раздел «Выполнение задач».