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.
Importante
Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.
Esta extensión Azure DevOps habilita la evaluación sin conexión de Microsoft Foundry Agents dentro de las canalizaciones de CI/CD. Simplifica el proceso de evaluación sin conexión, por lo que puede identificar posibles problemas y realizar mejoras antes de publicar una actualización en producción.
Para usar esta extensión, proporcione un conjunto de datos con consultas de prueba y una lista de evaluadores. Esta tarea invoca a los agentes con las consultas, las evalúa y genera un informe de resumen.
Funciones
- Agent Evaluation: Automatice la evaluación de preproducción de agentes de Microsoft Foundry en el flujo de trabajo de CI/CD.
- Evaluadores: use cualquier evaluador del catálogo de evaluadores de Foundry.
- Análisis estadístico: los resultados de la evaluación incluyen intervalos de confianza y pruebas de importancia estadística para determinar si los cambios son significativos y no debido a una variación aleatoria.
Categorías del evaluador
- Evaluadores de agentes: evaluadores de procesos y de nivel de sistema para flujos de trabajo de agentes.
- Evaluadores RAG: evalúan los procesos de extremo a extremo y de recuperación en sistemas RAG.
- Evaluadores de riesgos y seguridad: evalúe los riesgos y los problemas de seguridad en las respuestas.
- Evaluadores de uso general: evaluación de calidad, como coherencia y fluidez.
- Calificadores basados en OpenAI: use los calificadores de OpenAI, como la comprobación de cadenas, la similitud de texto, el modelo de puntuación o etiqueta.
- Evaluadores personalizados: defina sus propios evaluadores personalizados mediante Python código o patrones LLM-as-judge.
Requisitos previos
- Un proyecto. Para más información, consulte Creación de un proyecto.
- Un agente de fundición.
- La extensión AI Agent Evaluation instalada en la organización de Azure DevOps.
Propina
El método de autenticación recomendado es Microsoft Entra ID a través de una conexión de servicio Azure Resource Manager. Cree una conexión de servicio en el proyecto de Azure DevOps y luego haga referencia a ella en la pipeline empleando la tarea AzureCLI@2 antes de AIAgentEvaluation@2.
Entradas
Parámetros
| Nombre | ¿Obligatorio? | Descripción |
|---|---|---|
| azure-ai-punto-final-del-proyecto | Sí | Punto final de tu proyecto Microsoft Foundry. Para encontrar este valor, abra su proyecto en Foundry portal y copie el endpoint desde la página Información general. |
| nombre de implementación | Sí | Nombre de una implementación de modelo de IA de Azure que se va a utilizar para la evaluación. Busque las implementaciones existentes en Modelos y puntos de conexión en el portal de Foundry. |
| ruta de datos | Sí | Ruta de acceso al archivo de datos que contiene los evaluadores y las consultas de entrada para las evaluaciones. |
| agent-ids | Sí | Identificador de uno o varios agentes para evaluar en formato agent-name:version (por ejemplo, my-agent:1 o my-agent:1,my-agent:2). Varios agentes están separados por comas y se comparan con los resultados estadísticos de las pruebas. |
| id del agente base | No | Identificador del agente de línea base para comparar al evaluar varios agentes. Si no se proporciona, se usa el primer agente. |
Nota
Para buscar el identificador y la versión del agente, abra el proyecto en el portal de Foundry, vaya a Agentes, seleccione el agente y copie el identificador del agente en el panel de detalles. La versión es el número de versión de implementación (por ejemplo, my-agent:1).
Archivo de datos
El archivo de datos de entrada debe ser un archivo JSON con la siguiente estructura:
| Campo | Tipo | ¿Obligatorio? | Descripción |
|---|---|---|---|
| nombre | string | Sí | Nombre del conjunto de datos de evaluación. |
| evaluadores | string[] | Sí | Lista de nombres de evaluadores que se van a usar. Consulte la lista de evaluadores disponibles en el catálogo de evaluadores del proyecto en el portal de Foundry: Catálogo de evaluadores de compilación >>. |
| datos | objetos[] | Sí | Matriz de objetos de entrada con query campos de evaluador opcionales como ground_truth, context. Asignación automática a evaluadores; use data_mapping para anular. |
| openai_graders | objeto | No | Configuración de evaluadores basados en OpenAI (label_model, score_model, string_check, etc.). |
| parámetros_del_evaluador | objeto | No | Parámetros de inicialización específicos del evaluador (por ejemplo, umbrales, configuración personalizada). |
| mapeo de datos | objeto | No | Asignaciones de campos de datos personalizadas (generadas automáticamente a partir de datos si no se proporcionan). |
Archivo de datos de ejemplo básico
{
"name": "test-data",
"evaluators": [
"builtin.fluency",
"builtin.task_adherence",
"builtin.violence"
],
"data": [
{
"query": "Tell me about Tokyo disneyland"
},
{
"query": "How do I install Python?"
}
]
}
Archivos de datos de ejemplo adicionales
| Nombre de archivo | Descripción |
|---|---|
| dataset-tiny.json | Conjunto de datos con un número reducido de consultas y evaluadores de prueba. |
| dataset.json | Conjunto de datos con todos los tipos de evaluador admitidos y suficientes consultas para el cálculo del intervalo de confianza y la prueba estadística. |
| dataset-builtin-evaluators.json | Ejemplo de evaluadores integrados de Foundry (por ejemplo, coherencia, fluidez, relevancia, fundamentación, métricas). |
| dataset-openai-graders.json | Ejemplo de calificadores basados en OpenAI (modelos de etiquetas, modelos de puntuación, similitud de texto, comprobaciones de cadenas). |
| dataset-custom-evaluators.json | Ejemplo de evaluadores personalizados con parámetros del evaluador. |
| dataset-data-mapping.json | Ejemplo de mapeo de datos que muestra cómo anular las asignaciones automáticas de campos mediante nombres personalizados de columnas de datos. |
Canalización de ejemplo
Para usar esta extensión, agregue la tarea AIAgentEvaluation@2 a la canalización de Azure. En el ejemplo siguiente se muestra una canalización completa que se autentica mediante una conexión de servicio Azure Resource Manager y evalúa un agente.
steps:
- task: AIAgentEvaluation@2
displayName: "Evaluate AI Agents"
inputs:
azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
deployment-name: "$(DeploymentName)"
data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
agent-ids: "$(AgentIds)"
Resultados y salidas de evaluación
Verá los resultados de la evaluación en el resumen de la canalización de Azure DevOps. El informe muestra las puntuaciones de evaluación de cada métrica, intervalos de confianza y, al evaluar varios agentes, una comparación estadística en pares que indica si las diferencias son significativas o dentro de una variación aleatoria.
En la captura de pantalla siguiente se muestra un informe de ejemplo que compara dos agentes.