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.
Las bibliotecas Microsoft.Extensions.AI.Evaluation simplifican el proceso de evaluación de la calidad y seguridad de las respuestas generadas por los modelos de IA en aplicaciones inteligentes de .NET. Varias métricas de calidad miden aspectos como relevancia, veracidad, coherencia e integridad de las respuestas. Las métricas de seguridad miden aspectos como el odio y la injusticia, la violencia y el contenido sexual. Las evaluaciones son cruciales en las pruebas, ya que ayudan a garantizar que el modelo de inteligencia artificial funciona según lo esperado y proporciona resultados confiables y precisos.
Las bibliotecas de evaluación, que se basan en las abstracciones de Microsoft.Extensions.AI, se componen de los siguientes paquetes NuGet:
- 📦 Microsoft.Extensions.AI.Evaluation : define las abstracciones y tipos principales para admitir la evaluación.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP : contiene evaluadores que evalúan la similitud del texto de respuesta de un LLM a una o varias respuestas de referencia mediante métricas de procesamiento de lenguaje natural (NLP). Estos evaluadores no están basados en LLM ni en inteligencia artificial; usan técnicas tradicionales de NLP, como la tokenización de texto y el análisis de n-gramas para evaluar la similitud de texto.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality : contiene evaluadores que evalúan la calidad de las respuestas llM en una aplicación según las métricas, como la relevancia y la integridad. Estos evaluadores usan el LLM directamente para realizar evaluaciones.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety – contiene evaluadores, tales como
ProtectedMaterialEvaluatoryContentHarmEvaluator, que usan el servicio de evaluación de Microsoft Foundry para realizar evaluaciones. - 📦 Microsoft.Extensions.AI.Evaluation.Reporting : contiene compatibilidad con el almacenamiento en caché de respuestas LLM, el almacenamiento de los resultados de las evaluaciones y la generación de informes a partir de esos datos.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure : admite la biblioteca de informes con una implementación para almacenar las respuestas LLM en caché y almacenar los resultados de la evaluación en un contenedor de Azure Storage .
- 📦 Microsoft.Extensions.AI.Evaluation.Console : una herramienta de línea de comandos para generar informes y administrar datos de evaluación.
Integración de pruebas
Las bibliotecas están diseñadas para integrarse sin problemas con las aplicaciones .NET existentes, lo que le permite aprovechar las infraestructuras de prueba existentes y la sintaxis familiar para evaluar las aplicaciones inteligentes. Puede usar cualquier marco de pruebas (por ejemplo, MSTest, xUnit o NUnit) y el flujo de trabajo de prueba (por ejemplo, explorador de pruebas, prueba de dotnet o una canalización de CI/CD). La biblioteca también proporciona maneras sencillas de realizar evaluaciones en línea de la aplicación mediante la publicación de puntuaciones de evaluación en paneles de telemetría y supervisión.
Métricas de evaluación completas
Las bibliotecas de evaluación se crearon en colaboración con investigadores de ciencia de datos de Microsoft y GitHub, y se probaron en experiencias populares de Microsoft Copilot. En las secciones siguientes se muestran los evaluadores de calidad, NLP y seguridad integrados y las métricas que miden.
También puede personalizar añadiendo sus propias evaluaciones mediante la implementación de la interfaz IEvaluator.
Evaluadores de calidad
Los evaluadores de calidad miden la calidad de respuesta. Usan un LLM para realizar la evaluación.
| Tipo de evaluador | Métrica | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Evalúa la importancia de una respuesta a una consulta. |
| CompletenessEvaluator | Completeness |
Evalúa cómo es completa y precisa una respuesta. |
| RetrievalEvaluator | Retrieval |
Evalúa el rendimiento al recuperar información de contexto adicional. |
| FluencyEvaluator | Fluency |
Evalúa la precisión gramatical, el intervalo de vocabulario, la complejidad de las oraciones y la legibilidad general. |
| CoherenceEvaluator | Coherence |
Evalúa la presentación lógica y ordenada de ideas |
| EquivalenceEvaluator | Equivalence |
Evalúa la similitud entre el texto generado y su verdad básica con respecto a una consulta. |
| GroundednessEvaluator | Groundedness |
Evalúa la alineación de una respuesta generada con el contexto especificado. |
| RelevanceTruthAndCompletenessEvaluator† |
Relevance (RTC), Truth (RTC) y Completeness (RTC) |
Evalúa cómo es relevante, veraz y completa una respuesta. |
| IntentResolutionEvaluator | Intent Resolution |
Evalúa la eficacia de un sistema de inteligencia artificial para identificar y resolver la intención del usuario (centrada en el agente) |
| TaskAdherenceEvaluator | Task Adherence |
Evalúa la eficacia de un sistema de inteligencia artificial para cumplir con la tarea asignada a ella (centrada en el agente) |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Evalúa la eficacia de un sistema de inteligencia artificial en el uso de las herramientas proporcionadas para él (centrados en el agente) |
† Este evaluador está marcado como experimental.
Evaluadores de NLP
Los evaluadores de NLP evalúan la calidad de una respuesta LLM comparando con una respuesta de referencia mediante técnicas de procesamiento de lenguaje natural (NLP). Estos evaluadores no están basados en LLM ni en inteligencia artificial; en su lugar, usan técnicas anteriores de NLP para realizar comparaciones de texto.
| Tipo de evaluador | Métrica | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Evalúa una respuesta comparándola con una o varias respuestas de referencia mediante el algoritmo de evaluación bilingüe understudy (BLEU). Este algoritmo se usa normalmente para evaluar la calidad de las tareas de traducción automática o generación de texto. |
| GLEUEvaluator | GLEU |
Mide la similitud entre la respuesta generada y una o varias respuestas de referencia mediante el algoritmo de Google BLEU (GLEU), una variante del algoritmo BLEU optimizado para la evaluación de nivel de frase. |
| F1Evaluator | F1 |
Evalúa una respuesta comparándola con una respuesta de referencia mediante el algoritmo de puntuación F1 (la relación del número de palabras compartidas entre la respuesta generada y la respuesta de referencia). |
Evaluadores de seguridad
Los evaluadores de seguridad comprueban la presencia de contenido dañino, inapropiado o no seguro en una respuesta. Se basan en el servicio De evaluación de Foundry, que usa un modelo ajustado para realizar evaluaciones.
| Tipo de evaluador | Métrica | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Usa un modelo optimizado hospedado detrás del servicio De evaluación de Foundry para evaluar el nivel de alineación de una respuesta generada con el contexto especificado. |
| ProtectedMaterialEvaluator | Protected Material |
Evalúa la respuesta para la presencia de material protegido |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
Evalúa una respuesta para detectar la presencia de contenido que indica la inferencia infundada de atributos humanos. |
| HateAndUnfairnessEvaluator† | Hate And Unfairness |
Evalúa una respuesta para la presencia de contenido que es odioso o injusto. |
| SelfHarmEvaluator† | Self Harm |
Evalúa una respuesta para detectar la presencia de contenido que indica autolesiones. |
| ViolenceEvaluator† | Violence |
Evalúa una respuesta para la presencia de contenido violento |
| SexualEvaluator† | Sexual |
Evalúa una respuesta para la presencia de contenido sexual |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Evalúa una respuesta para la presencia de código vulnerable. |
| IndirectAttackEvaluator | Indirect Attack |
Evalúa una respuesta para la presencia de ataques indirectos, como el contenido manipulado, la intrusión y la recopilación de información. |
† Además, ContentHarmEvaluator proporciona una evaluación de captura única para las cuatro métricas admitidas por HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluatory SexualEvaluator.
Respuestas almacenadas en caché
La biblioteca usa la funcionalidad de almacenamiento en caché de respuestas , lo que significa que las respuestas del modelo de IA se conservan en una memoria caché. En ejecuciones posteriores, si los parámetros de solicitud (prompt y model) no se modifican, las respuestas se sirven desde la memoria caché para permitir una ejecución más rápida y un costo menor.
Generación de informes
La biblioteca contiene compatibilidad para almacenar los resultados de evaluación y generar informes. En la imagen siguiente se muestra un informe de ejemplo en una canalización de Azure DevOps:
La dotnet aieval herramienta, que se distribuye como parte del Microsoft.Extensions.AI.Evaluation.Console paquete, incluye funcionalidad para generar informes y administrar los datos de evaluación almacenados y las respuestas almacenadas en caché. Para obtener más información, consulte Generación de un informe.
Configuración
Las bibliotecas están diseñadas para ser flexibles. Puede elegir los componentes que necesita. Por ejemplo, puede deshabilitar el almacenamiento en caché de respuestas o adaptar los informes para que funcionen mejor en su entorno. También puede personalizar y configurar las evaluaciones, por ejemplo, agregando métricas personalizadas y opciones de informes.
Samples
Para obtener un recorrido más completo sobre la funcionalidad y las API disponibles en las bibliotecas Microsoft.Extensions.AI.Evaluation, consulte los ejemplos de uso de api (repositorio dotnet/ai-samples). Estos ejemplos se estructuran como una colección de pruebas unitarias. Cada prueba unitaria muestra un concepto o API específico y se basa en los conceptos y LAS API que se muestran en las pruebas unitarias anteriores.