Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
The Microsoft.Extensions.AI.Evaluation libraries (currently in preview) simplify the process of evaluating the quality and accuracy of responses generated by AI models in .NET intelligent apps. Various metrics measure aspects like relevance, truthfulness, coherence, and completeness of the responses. Evaluations are crucial in testing, because they help ensure that the AI model performs as expected and provides reliable and accurate results.
The evaluation libraries, which are built on top of the Microsoft.Extensions.AI abstractions, are composed of the following NuGet packages:
The libraries are designed to integrate smoothly with existing .NET apps, allowing you to leverage existing testing infrastructures and familiar syntax to evaluate intelligent apps. You can use any test framework (for example, MSTest, xUnit, or NUnit) and testing workflow (for example, Test Explorer, dotnet test, or a CI/CD pipeline). The library also provides easy ways to do online evaluations of your application by publishing evaluation scores to telemetry and monitoring dashboards.
The evaluation libraries were built in collaboration with data science researchers from Microsoft and GitHub, and were tested on popular Microsoft Copilot experiences. The following table shows the built-in evaluators.
Metric | Description | Evaluator type |
---|---|---|
Relevance, truth, and completeness | How effectively a response addresses a query | RelevanceTruthAndCompletenessEvaluator |
Fluency | Grammatical accuracy, vocabulary range, sentence complexity, and overall readability | FluencyEvaluator |
Coherence | The logical and orderly presentation of ideas | CoherenceEvaluator |
Equivalence | The similarity between the generated text and its ground truth with respect to a query | EquivalenceEvaluator |
Groundedness | How well a generated response aligns with the given context | GroundednessEvaluator |
You can also customize to add your own evaluations by implementing the IEvaluator interface or extending the base classes such as ChatConversationEvaluator and SingleNumericMetricEvaluator.
The library uses response caching functionality, which means responses from the AI model are persisted in a cache. In subsequent runs, if the request parameters (prompt and model) are unchanged, responses are then served from the cache to enable faster execution and lower cost.
The library contains support for storing evaluation results and generating reports. The following image shows an example report in an Azure DevOps pipeline:
The dotnet aieval
tool, which ships as part of the Microsoft.Extensions.AI.Evaluation.Console
package, also includes functionality for generating reports and managing the stored evaluation data and cached responses.
The libraries are designed to be flexible. You can pick the components that you need. For example, you can disable response caching or tailor reporting to work best in your environment. You can also customize and configure your evaluations, for example, by adding customized metrics and reporting options.
For a more comprehensive tour of the functionality and APIs available in the Microsoft.Extensions.AI.Evaluation libraries, see the API usage examples (dotnet/ai-samples repo). These examples are structured as a collection of unit tests. Each unit test showcases a specific concept or API and builds on the concepts and APIs showcased in previous unit tests.
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Module
Run evaluations and generate synthetic datasets - Training
Learn how to run evaluations and generate synthetic datasets with the Azure AI Evaluation SDK.
Certification
Microsoft Certified: Azure AI Engineer Associate - Certifications
Design and implement an Azure AI solution using Azure AI services, Azure AI Search, and Azure Open AI.