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 GitHub Action 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 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 consultas, ejecuta las evaluaciones 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.
Propina
La manera recomendada de autenticarse es mediante Microsoft Entra ID, que puede usar para conectarse de forma segura a los recursos de Azure. Puede automatizar el proceso de autenticación mediante la acción Azure Login GitHub. Para obtener más información, consulte acción de inicio de sesión de Azure con OpenID Connect.
Cómo configurar evaluaciones de agentes de inteligencia artificial
Entrada de datos de evaluaciones del agente de IA
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. |
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 desencadenador, como la confirmación, y las rutas de acceso de archivo para desencadenar los flujos de trabajo automatizados.
Propina
Para minimizar los costos, no ejecute la evaluación en cada commit.
En este ejemplo se muestra cómo puede ejecutar la evaluación del agente de IA al comparar distintos agentes mediante 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 las evaluaciones del agente de IA
Los resultados de la evaluación se envían a la sección de resumen de cada ejecución de acción de evaluación de IA GitHub en Actions en GitHub. El informe muestra las puntuaciones de evaluación de cada métrica, intervalos de confianza y , cuando se evalúan 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.