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 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:
- 📦 Microsoft.Extensions.AI.Evaluation : define las abstracciones y tipos principales para admitir la evaluación.
- 📦 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, como
ProtectedMaterialEvaluator
yContentHarmEvaluator
, que utilizan el servicio de evaluación Azure AI 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 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
, ViolenceEvaluator
y 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:
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.