Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Visualización actual:Versión - del portal de Foundry (clásico)Cambio a la versión del nuevo portal de Foundry
Note
El SDK de Microsoft Foundry para la evaluación y el portal de Foundry están en versión preliminar pública, pero las API están disponibles con carácter general para la evaluación del modelo y del conjunto de datos (la evaluación del agente permanece en versión preliminar pública). Los Azure SDK y evaluadores de evaluación de IA marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública en todas partes.
Los agentes son asistentes de productividad poderosos. Planifican, toman decisiones y ejecutan acciones. Los agentes suelen razonar a partir de las intenciones del usuario en las conversaciones, seleccionar las herramientas adecuadas para satisfacer las solicitudes de los usuarios y completar tareas según las instrucciones. Microsoft Foundry soporta estos evaluadores específicos de agentes para flujos de trabajo agenticos:
- Resolución de intención (vista previa)
- Precisión de llamada a la herramienta (vista previa)
- Cumplimiento de tareas (vista previa)
Evaluating Azure AI agents
Los agentes emiten mensajes, y proporcionar entradas normalmente requiere analizar estos mensajes para extraer información relevante. Si estás creando agentes usando Azure AI Agent Service, el servicio ofrece integración nativa para evaluación que recibe directamente sus mensajes de agente. Para un ejemplo, véase Evaluar agentes de IA.
Además de IntentResolution, ToolCallAccuracy, y TaskAdherence, que son específicos de los flujos de trabajo agentes, puedes evaluar otros aspectos de calidad y seguridad de estos flujos utilizando un conjunto completo de evaluadores integrados. Foundry admite esta lista de evaluadores para los mensajes de agentes de IA de Azure desde nuestro convertidor:
-
Calidad:
IntentResolution,ToolCallAccuracy,TaskAdherence,Relevance,Coherence, , yFluency -
Seguridad:
CodeVulnerabilities,Violence,Self-harm,Sexual,HateUnfairness,IndirectAttack, , yProtectedMaterials
Este artículo incluye ejemplos de IntentResolution, ToolCallAccuracy, y TaskAdherence. Para ejemplos de otros evaluadores con mensajes de agentes de IA Azure, véase evaluando Azure agentes IA.
Configuración de modelos para evaluadores asistidos por IA
Para referencia en los siguientes fragmentos de código, los evaluadores asistidos por IA utilizan una configuración de modelo para el juez del modelo de lenguaje grande (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"),
)
Soporte para modelos evaluadores
Azure AI Agent Service soporta AzureOpenAI o OpenAI
| Evaluators | Modelos de razonamiento como juez (ejemplo: modelos de la serie o de Azure OpenAI / OpenAI) | Modelos no razonantes como juez (ejemplo: gpt-4.1 o gpt-4o) | To enable |
|---|---|---|---|
IntentResolution, TaskAdherence, ToolCallAccuracy, ResponseCompleteness, Coherence, Fluency, Similarity, Groundedness, , RetrievalRelevance |
Supported | Supported | Establecer el parámetro is_reasoning_model=True adicional al inicializar evaluadores |
| Other evaluators | Not Supported | Supported | -- |
Para una evaluación compleja que requiere razonamiento refinado, utiliza un modelo de razonamiento sólido, como 4.1-mini el que equilibra el rendimiento del razonamiento y la eficiencia de costes.
Intent resolution
IntentResolutionEvaluator Mide lo bien que el sistema identifica y entiende la solicitud de un usuario. Esta comprensión incluye cómo analiza la intención del usuario, hace preguntas para aclarar y recuerda a los usuarios finales el alcance de sus capacidades. Una puntuación más alta indica una mejor identificación de la intención del usuario.
Ejemplo de resolución de intención
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."
)
Salida de resolución de intención
La puntuación numérica utiliza una escala de Likert (entero del 1 al 5), donde una puntuación más alta es mejor. Dado un umbral numérico (el valor por defecto es 3), el evaluador responde si la puntuación es mayor o igual al umbral, o falla en caso contrario. Usar la razón y otros campos puede ayudarte a entender por qué la puntuación es alta o baja.
{
"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.",
}
Si creas agentes fuera de Foundry Agent Service, este evaluador acepta un esquema típico para los mensajes de agente. Para explorar un cuaderno de ejemplo, consulta Resolución de Intención.
Precisión de llamadas a herramientas
ToolCallAccuracyEvaluator Mide la precisión y eficiencia de las llamadas a herramientas realizadas por un agente en una ejecución. Proporciona una puntuación del 1 al 5 basada en:
- La relevancia y utilidad de la herramienta utilizada
- La corrección de los parámetros utilizados en las llamadas a herramientas
- Los recuentos de llamadas perdidas o excesivas
Compatibilidad con la evaluación de llamadas de herramientas
ToolCallAccuracyEvaluator apoya la evaluación en Servicio de Agentes para las siguientes herramientas:
- File Search
- Búsqueda de Azure AI
- Bing Grounding
- Bing Custom Search
- SharePoint Grounding
- Code Interpreter
- agente de datos de Fabric
- OpenAPI
- Function Tool (herramientas definidas por el usuario)
Si se utiliza una herramienta no soportada en la ejecución del agente, el evaluador genera un pase y explica que no se soporta evaluar las herramientas. Este enfoque facilita filtrar estos casos. Recomendamos que incluyas herramientas no soportadas como herramientas definidas por el usuario para permitir la evaluación.
Ejemplo de precisión de llamadas a herramientas
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."
}
}
}
}
]
)
Salida de precisión de llamadas a herramientas
La puntuación numérica está en una escala de Likert (entero del 1 al 5). Una puntuación más alta es mejor. Dado un umbral numérico (por defecto 3), el evaluador también indica aprobado si la puntuación >= umbral, o suspendido en caso contrario. Utiliza los campos de detalle de la razón y la llamada de herramientas para entender por qué la puntuación es alta o baja.
{
"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": []
}
}
}
Si construyes agentes fuera de Azure AI Agent Service, este evaluador acepta un esquema típico para mensajes de agentes. Para un cuaderno de ejemplo, véase Precisión de las llamadas a herramientas.
Task adherence
En varios sistemas de IA orientados a tareas, como los agentes de la empresa, es importante evaluar si el agente se mantiene en el camino para completar una tarea en lugar de realizar pasos ineficientes o fuera de alcance.
TaskAdherenceEvaluator Mide qué tan bien se ajusta la respuesta de un agente a las tareas asignadas, según la instrucción de la tarea y las herramientas disponibles. La instrucción de tarea se extrae del mensaje del sistema y de la consulta del usuario. Una puntuación más alta indica una mejor adhesión a las instrucciones del sistema para resolver la tarea.
Ejemplo de adherencia a tareas
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."
)
Salida de cumplimiento de tareas
El evaluador emite aprobado o suspendido en caso contrario. Utiliza el campo de razón para entender la razón detrás de la puntuación
{
"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."
}
Si estás construyendo agentes fuera de Azure AI Agent Service, este evaluador acepta un esquema típico para mensajes de agentes. Para un cuaderno de ejemplo, consulta Adherencia a las Tareas.