Compartir a través de


Las bibliotecas de Microsoft.Extensions.AI.Evaluation

Las bibliotecas Microsoft.Extensions.AI.Evaluation simplifican el proceso de evaluación de la calidad y precisión de las respuestas generadas por los modelos de IA en aplicaciones inteligentes de .NET. Varias métricas miden aspectos como relevancia, veracidad, coherencia e integridad de las respuestas. 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:

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 y seguridad integrados y las métricas que miden.

También puede personalizar agregando 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 Descripción
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 en la recuperación de información con 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.

† Este evaluador está marcado como experimental.

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 Azure AI Foundry Evaluation, que usa un modelo ajustado para realizar evaluaciones.

Tipo de evaluador Métrica Descripción
GroundednessProEvaluator Groundedness Pro Usa un modelo optimizado hospedado detrás del servicio Azure AI Foundry Evaluation para evaluar el nivel de alineación de una respuesta generada con el contexto determinado.
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 indique la inferencia sin fundamento 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 autolesión.
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.

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:

Captura de pantalla de un informe de evaluación de IA 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.

Muestras

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.

Consulte también