Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aktualnie wyświetlane:Wersja - portalu Foundry (wersja klasyczna)Przełączanie do wersji dla nowego portalu Foundry
Note
Zestaw MICROSOFT Foundry SDK do oceny i portalu Foundry jest dostępny w publicznej wersji zapoznawczej, ale interfejsy API są ogólnie dostępne do oceny modelu i zestawu danych (ocena agenta pozostaje w publicznej wersji zapoznawczej). Zestaw SDK oceny Azure sztucznej inteligencji i ewaluatory oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej wszędzie.
Agenci są potężnymi asystentami produktywności. Planują, podejmują decyzje i realizują działania. Agenci zazwyczaj analizują intencje użytkowników w rozmowach, wybierają odpowiednie narzędzia do spełniania próśb użytkowników i wykonują zadania zgodnie z instrukcjami. Microsoft Foundry wspiera te ewaluatory specyficzne dla agentów dla przepływów pracy agentów:
Evaluating Azure AI agents
Agenci emitują wiadomości, a dostarczanie danych wejściowych zazwyczaj wymaga ich parsowania w celu wyodrębnienia istotnych informacji. Jeśli budujesz agentów korzystając z usługi Azure AI Agent Service, usługa ta zapewnia natywną integrację do ewaluacji, która bezpośrednio przyjmuje ich komunikaty agentów. Dla przykładu zobacz Ocena agentów AI.
Oprócz IntentResolution, ToolCallAccuracy, i TaskAdherence, które są specyficzne dla przepływów pracy agentów, można ocenić inne aspekty jakości i bezpieczeństwa tych przepływów, korzystając z kompleksowego zestawu wbudowanych ewaluatorów. Foundry obsługuje tę listę ewaluatorów dla wiadomości agentów Azure AI z naszego konwertera:
-
Jakość:
IntentResolution,ToolCallAccuracy,TaskAdherence, ,Relevance,Coherence, orazFluency -
Bezpieczeństwo:
CodeVulnerabilities,Violence,Self-harm, ,Sexual,HateUnfairness,IndirectAttack, orazProtectedMaterials
Ten artykuł zawiera przykłady IntentResolution, ToolCallAccuracy, oraz TaskAdherence. Przykłady innych ewaluatorów z Azure komunikatami agentów AI można znaleźć w evaluating Azure AI agents.
Konfiguracja modelu dla ewaluatorów wspomaganych przez AI
Dla odniesienia w poniższych fragmentach kodu, ewaluatorzy wspomagani AI używają konfiguracji modelu dla dużego językowego 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"),
)
Wsparcie modeli ewaluatorów
Azure Usługa Agenta AI obsługuje modele AzureOpenAI lub OpenAI rozumowanie oraz modele nierozumowania dla sędziego LLM, w zależności od oceniających:
| Evaluators | Modele rozumowania jako sędzia (przykład: modele serii o z Azure OpenAI / OpenAI) | Modele nierozumowania jako sędzia (przykład: gpt-4.1 lub gpt-4o) | To enable |
|---|---|---|---|
IntentResolution, TaskAdherence, , , CoherenceRetrievalResponseCompletenessFluencySimilarityGroundednessToolCallAccuracyRelevance |
Supported | Supported | Ustaw dodatkowy parametr is_reasoning_model=True podczas inicjalizacji ewaluatorów |
| Other evaluators | Not Supported | Supported | -- |
Do złożonej oceny wymagającej dopracowanego rozumowania należy stosować silny model rozumowania, na przykład 4.1-mini łączący efektywność rozumowania i efektywność kosztową.
Intent resolution
IntentResolutionEvaluator Mierzy, jak dobrze system identyfikuje i rozumie żądanie użytkownika. To rozumienie obejmuje to, jak dobrze określa intencje użytkownika, zadaje pytania wyjaśniające oraz przypomina użytkownikom końcowym o zakresie swoich możliwości. Wyższy wynik oznacza lepsze rozpoznanie intencji użytkownika.
Przykład rozwiązania intencji
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."
)
Wyjście z rozdzielczością intencyjną
Wynik liczbowy wykorzystuje skalę Likerta (liczba całkowita od 1 do 5), gdzie wyższy wynik jest lepszy. Przy danym progu liczbowym (domyślnie 3) wynik oceniający zalicza się , jeśli wynik jest wyższy lub równy progowi , lub nie zalicza w przeciwnym wypadku. Korzystanie z powodu i innych pól może pomóc Ci zrozumieć, dlaczego wynik jest wysoki lub niski.
{
"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.",
}
Jeśli budujesz agentów poza Foundry Agent Service, ten ewaluator akceptuje schemat typowy dla wiadomości agentów. Aby poznać przykładowy notes, zobacz Intent Resolution.
Dokładność wywołań narzędzi
ToolCallAccuracyEvaluator mierzy dokładność i efektywność wywołań narzędzi wykonywanych przez agenta w przebiegu. Daje ocenę od 1 do 5 na podstawie:
- Znaczenie i przydatność używanego narzędzia
- Poprawność parametrów używanych w wywołaniach narzędzi
- Liczba nieodebranych lub nadmiernych połączeń
Obsługa oceny wywołań narzędzi
ToolCallAccuracyEvaluator wspiera ocenę w Agent Service dla następujących narzędzi:
- File Search
- Wyszukiwanie AI platformy Azure
- Bing Grounding
- wyszukiwanie niestandardowe Bing
- SharePoint Grounding
- Code Interpreter
- agent danych Fabric
- OpenAPI
- Narzędzie funkcji (narzędzia zdefiniowane przez użytkownika)
Jeśli w uruchomieniu agenta użyte jest nieobsługiwane narzędzie, ewaluator wykonuje pass-pass i wyjaśnia, że ocena narzędzi nie jest wspierana. Takie podejście ułatwia odfiltrowanie tych przypadków. Zalecamy, aby nieobsługiwane narzędzia były traktowane jako narzędzia definiowane przez użytkownika, aby umożliwić ewaluację.
Przykład dokładności wywołania narzędzia
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."
}
}
}
}
]
)
Wyjście z dokładnością wywołań narzędzi
Wynik liczbowy jest w skali Likerta (liczba całkowita od 1 do 5). Wyższy wynik jest lepszy. Przy danym progu liczbowym (domyślnie 3), oceniający również wychodzi jako zaliczony , jeśli wynik >= próg, lub nie zalicza w przeciwnym razie. Użyj pól do szczegółów powodów i wywołań narzędzi, aby zrozumieć, dlaczego wynik jest wysoki lub niski.
{
"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": []
}
}
}
Jeśli budujesz agentów poza Azure AI Agent Service, ten ewaluator akceptuje schemat typowy dla komunikatów agentów. Przykładowy zeszyt można znaleźć w artykule Accuracy Tool Call.
Task adherence
W różnych systemach AI zorientowanych na zadania, takich jak systemy agentowe, ważne jest, aby ocenić, czy agent pozostaje na właściwym torze wykonania zadania, zamiast podejmować nieefektywne lub niezgodne z zakresem działań w zakresie.
TaskAdherenceEvaluator Mierzy, jak dobrze odpowiedź agenta odpowiada przydzielonym zadaniom, zgodnie z instrukcjami i dostępnymi narzędziami. Instrukcja zadania jest wyodrębniana z komunikatu systemowego i zapytania użytkownika. Wyższy wynik oznacza lepsze przestrzeganie instrukcji systemowych dotyczących rozwiązywania zadania.
Przykład przestrzegania zadań
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."
)
Wyjście z przestrzegania zadań
Wyniki ewaluatora przechodząlub nie zdają. Użyj pola powód, aby zrozumieć powody oceny
{
"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."
}
Jeśli tworzysz agentów poza usługą Azure AI Agent, ten ewaluator akceptuje schemat typowy dla komunikatów agentów. Przykładowy zeszyt można znaleźć w artykule Przestrzeganie zadań.