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) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.
Esta GitHub Action permite la evaluación sin conexión de Microsoft Foundry Agents dentro de los pipelines de CI/CD. Está diseñado para simplificar 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 acción, proporcione un conjunto de datos con consultas de prueba y una lista de evaluadores. Esta acción invoca a los agentes con las preguntas, ejecuta las evaluaciones y genera un informe resumido.
Características
- Evaluación del agente: automatice la evaluación de preproducción de los 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: Evaluar los procesos de recuperación y de extremo a extremo en sistemas RAG.
- Evaluadores de riesgos y seguridad: evalúe los riesgos y los problemas de seguridad en las respuestas.
- Evaluadores de propósito general: Evaluación de la calidad, como la coherencia y la fluidez.
- OpenAI-based graders: utilizar los calificadores de OpenAI, incluidos la comprobación de cadenas, la similitud de texto y el modelo de puntuación/etiquetado.
- Evaluadores personalizados: defina sus propios evaluadores personalizados mediante código de Python o patrones LLM como juez.
Prerrequisitos
- Un project. Para obtener más información, consulte Create a project.
- Un agente de Foundry.
Sugerencia
La manera recomendada de autenticarse es mediante Microsoft Entra ID, lo que le permite conectarse de forma segura a los recursos de Azure. Puede automatizar el proceso de autenticación mediante la acción de inicio de sesión de Azure para GitHub. Para obtener más información, consulte Acción de inicio de sesión de Azure con OpenID Connect.
Cómo configurar evaluaciones para agentes de IA
Entrada de evaluaciones del agente de IA
Parámetros
| Nombre | ¿Obligatorio? | Description |
|---|---|---|
| azure-ai-project-endpoint | Sí | Punto de conexión del proyecto Microsoft Foundry. |
| nombre de implementación | Sí | Nombre del despliegue del modelo de IA de Azure para su uso en la evaluación. |
| ruta de datos | Sí | Ruta de acceso al archivo de datos que contiene los evaluadores y las consultas de entrada para las evaluaciones. |
| identificadores de agente | Sí | Identificador de uno o varios agentes a 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. |
| baseline-agent-id | No | Identificador del agente de referencia para comparar al evaluar múltiples agentes. Si no se facilita algún dato, se usa el primer agente. |
Archivo de datos
El archivo de datos de entrada debe ser un archivo JSON con la siguiente estructura:
| Campo | Tipo | ¿Obligatorio? | Description |
|---|---|---|---|
| nombre | cuerda / cadena | 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: Evaluaciones de construcción > Catálogo de evaluadores >. |
| datos | objeto[] | 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 invalidarlo. |
| 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). |
| data_mapping | objeto | No | Asignaciones de campos de datos personalizadas (generadas automáticamente a partir de datos si no se facilitan). |
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
| Filename | Description |
|---|---|
| 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 fábrica (por ejemplo, coherencia, fluidez, relevancia, métricas, fundamentación). |
| 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 sobrescribir los mapeos automáticos de campos con nombres personalizados de columnas de datos. |
Flujo de trabajo de evaluaciones del agente de IA
Para usar la acción de GitHub, agregue la acción de GitHub a los flujos de trabajo de CI/CD. Especifique los criterios de activación, como al confirmar, y las rutas de archivo para activar los flujos de trabajo automatizados.
Sugerencia
Para minimizar los costos, no ejecute la evaluación en cada commit.
En este ejemplo se muestra cómo se puede ejecutar la evaluación de IA del agente de Azure al comparar diferentes agentes utilizando identificadores de agente.
name: "AI Agent Evaluation"
on:
workflow_dispatch:
push:
branches:
- main
permissions:
id-token: write
contents: read
jobs:
run-action:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Azure login using Federated Credentials
uses: azure/login@v2
with:
client-id: ${{ vars.AZURE_CLIENT_ID }}
tenant-id: ${{ vars.AZURE_TENANT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- name: Run Evaluation
uses: microsoft/ai-agent-evals@v3-beta
with:
# Replace placeholders with values for your Foundry Project
azure-ai-project-endpoint: "<your-ai-project-endpoint>"
deployment-name: "<your-deployment-name>"
agent-ids: "<your-ai-agent-ids>"
data-path: ${{ github.workspace }}/path/to/your/data-file
Salida de evaluaciones del agente de IA
Los resultados de la evaluación se generan en la sección de resumen de cada ejecución de la Acción de evaluación de IA en GitHub bajo Acciones en GitHub.
A continuación se muestra un informe de ejemplo para comparar dos agentes.