Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Visualizzazione attualmente:Versione del portale - Foundry (versione classica)Passare alla versione per il nuovo portale foundry
Note
Il Microsoft Foundry SDK per la valutazione e il portale foundry sono disponibili in anteprima pubblica, ma le API sono disponibili a livello generale per la valutazione del modello e del set di dati (la valutazione dell'agente rimane in anteprima pubblica). I Azure AI Evaluation SDK e gli analizzatori contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica ovunque.
Gli agenti sono potenti assistenti di produttività. Pianificano, prendono decisioni ed attuano azioni. Gli agenti solitamente ragionano sulle intenzioni dell'utente nelle conversazioni, selezionano gli strumenti corretti per soddisfare le richieste degli utenti e completano i compiti secondo le istruzioni. Microsoft Foundry supporta questi valutatori specifici per agenti per flussi di lavoro agentici:
- Risoluzione dell'intento (anteprima)
- Accuratezza delle chiamate dello strumento (anteprima)
- Conformità al compito (anteprima)
Evaluating Azure AI agents
Gli agenti emettono messaggi e fornire input richiede tipicamente di analizzarli per estrarre informazioni rilevanti. Se stai costruendo agenti usando Azure AI Agent Service, il servizio fornisce un'integrazione nativa per la valutazione che prende direttamente i loro messaggi agent. Per un esempio, vedi Valuta agenti IA.
Oltre a IntentResolution, ToolCallAccuracy, e TaskAdherence, che sono specifici per i flussi di lavoro agentici, puoi valutare altri aspetti di qualità e sicurezza di questi flussi utilizzando una suite completa di valutatori integrati. Foundry supporta questa lista di valutatori per i messaggi degli agenti AI di Azure dal nostro convertitore:
-
Qualità:
IntentResolution,ToolCallAccuracy,TaskAdherence,Relevance,Coherence, eFluency -
Sicurezza:
CodeVulnerabilities,Violence,Self-harm,Sexual,HateUnfairness,IndirectAttack, eProtectedMaterials
Questo articolo include esempi di IntentResolution, ToolCallAccuracy, e TaskAdherence. Per esempi di altri valutatori con messaggi Azure agenti IA, vedi evaluating Azure AI agents.
Configurazione del modello per valutatori assistiti dall'IA
Per riferimento nei seguenti frammenti di codice, gli valutatori assistiti dall'IA utilizzano una configurazione di modello per il grande modello di linguaggio (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"),
)
Supporto ai modelli valutatori
Azure AI Agent Service supporta modelli di ragionamento AzureOpenAI o OpenAI razionamento e modelli non ragionanti per il giudice LLM a seconda dei valutatori:
| Evaluators | Modelli di ragionamento come giudice (esempio: modelli o-series da Azure OpenAI / OpenAI) | Modelli non ragionanti come giudice (esempio: gpt-4.1 o gpt-4o) | To enable |
|---|---|---|---|
IntentResolution
ToolCallAccuracy, TaskAdherence, , ResponseCompleteness, CoherenceFluency, Similarity, Groundedness, , RetrievalRelevance |
Supported | Supported | Imposta il parametro is_reasoning_model=True aggiuntivo quando inizializzano i valutatori |
| Other evaluators | Not Supported | Supported | -- |
Per una valutazione complessa che richiede un ragionamento raffinato, usa un modello di ragionamento solido, come 4.1-mini quello che bilancia prestazioni del ragionamento ed efficienza dei costi.
Intent resolution
IntentResolutionEvaluator misura quanto bene il sistema identifica e comprende la richiesta di un utente. Questa comprensione include quanto bene coglie l'intento dell'utente, pone domande per chiarire e ricorda agli utenti finali l'ampiezza delle sue capacità. Un punteggio più alto indica una migliore identificazione dell'intento dell'utente.
Esempio di risoluzione dell'intento
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."
)
Output della risoluzione dell'intento
Il punteggio numerico utilizza una scala di Likert (intero da 1 a 5), dove un punteggio più alto è migliore. Data una soglia numerica (il valore predefinito è 3), il valutatore esegue il passaggio se il punteggio è maggiore o uguale alla soglia, oppure fallisce altrimenti. Usare il motivo e altri campi può aiutarti a capire perché il punteggio è alto o basso.
{
"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.",
}
Se costruisci agenti al di fuori di Foundry Agent Service, questo valutatore accetta uno schema tipico per i messaggi agente. Per esplorare un quaderno di esempio, consulta Risoluzione dell'Intento.
Accuratezza delle chiamate di strumenti
ToolCallAccuracyEvaluator misura l'accuratezza e l'efficienza delle chiamate di strumenti effettuate da un agente durante una run. Fornisce un punteggio da 1 a 5 basato su:
- La rilevanza e l'utilità dello strumento utilizzato
- La correttezza dei parametri utilizzati nelle chiamate degli strumenti
- I conteggi di chiamate mancanti o eccessive
Supporto per la valutazione delle chiamate degli strumenti
ToolCallAccuracyEvaluator supporta la valutazione in Servizio Agente per i seguenti strumenti:
- File Search
- Azure AI Search
- Bing Grounding
- Ricerca personalizzata Bing
- SharePoint Grounding
- Code Interpreter
- agente dati Fabric
- OpenAPI
- Strumento funzione (strumenti definiti dall'utente)
Se uno strumento non supportato viene utilizzato nell'esecuzione dell'agente, il valutatore fornisce un passaggio e spiega che la valutazione degli strumenti non è supportata. Questo approccio rende facile filtrare questi casi. Raccomandiamo di includere gli strumenti non supportati come strumenti definiti dall'utente per consentire la valutazione.
Esempio di accuratezza delle chiamate di strumenti
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."
}
}
}
}
]
)
Output di accuratezza delle chiamate di strumento
Il punteggio numerico è su una scala di Likert (intero da 1 a 5). Un punteggio più alto è meglio. Data una soglia numerica (predefinita a 3), il valutatore invia anche pass se il punteggio >= soglia, o fallito altrimenti. Usa i campi di dettaglio per motivi e chiamate strumenti per capire perché il punteggio è alto o basso.
{
"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": []
}
}
}
Se costruisci agenti al di fuori di Azure AI Agent Service, questo valutatore accetta uno schema tipico dei messaggi agent. Per un quaderno di esempio, vedi Accuratezza delle chiamate di strumenti.
Task adherence
In vari sistemi di IA orientati al compito, come i sistemi agentici, è importante valutare se l'agente rimane sulla strada giusta per completare un compito invece di compiere passaggi inefficienti o fuori ambito.
TaskAdherenceEvaluator misura quanto bene la risposta di un agente aderisce ai compiti assegnati, in base alle istruzioni del compito e agli strumenti disponibili. L'istruzione del compito viene estratta dal messaggio di sistema e dalla query dell'utente. Un punteggio più alto indica una migliore aderenza alle istruzioni del sistema per la risoluzione del compito.
Esempio di aderenza al compito
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."
)
Output di aderenza al compito
Altrimenti il valutatore invia il test di superamento o fallimento . Usa il campo motivo per capire il ragionamento dietro il punteggio
{
"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."
}
Se stai costruendo agenti al di fuori di Azure AI Agent Service, questo valutatore accetta uno schema tipico dei messaggi agent. Per un quaderno di esempio, vedi Compiti di Adesione.