De Microsoft. Extensions.AI.Evaluation-bibliotheken

De Microsoft. Extensions.AI.Evaluation-bibliotheken vereenvoudigen het proces van het evalueren van de kwaliteit en veiligheid van reacties die zijn gegenereerd door AI-modellen in .NET intelligente apps. Verschillende metrische gegevens over kwaliteit meten aspecten zoals relevantie, waarheidsgetrouwheid, samenhang en volledigheid van de antwoorden. Metrische veiligheidsgegevens meten aspecten zoals haat en oneerlijkheid, geweld en seksuele inhoud. Evaluaties zijn van cruciaal belang bij het testen, omdat ze ervoor zorgen dat het AI-model naar verwachting presteert en betrouwbare en nauwkeurige resultaten biedt.

De evaluatiebibliotheken, die zijn gebaseerd op de Microsoft.Extensions.AI abstracties, bestaan uit de volgende NuGet-pakketten:

Integratietests

De bibliotheken kunnen probleemloos worden geïntegreerd met bestaande .NET-apps, zodat u de bestaande testinfrastructuur en vertrouwde syntaxis kunt gebruiken om intelligente apps te evalueren. U kunt elk testframework (bijvoorbeeld MSTest, xUnit of NUnit) en testwerkstroom (bijvoorbeeld Test Explorer, dotnet-test of een CI/CD-pijplijn) gebruiken. De bibliotheek biedt ook eenvoudige manieren om online evaluaties van uw toepassing uit te voeren door evaluatiescores te publiceren naar telemetrie- en bewakingsdashboards.

Uitgebreide metrische evaluatiegegevens

De evaluatiebibliotheken zijn gebouwd in samenwerking met data science-onderzoekers uit Microsoft en GitHub en zijn getest op populaire Microsoft Copilot ervaringen. In de volgende secties ziet u de ingebouwde kwaliteits-, NLP- en veiligheids evaluators en de metrische gegevens die ze meten.

Als u uw eigen evaluaties wilt toevoegen, implementeert u de IEvaluator interface.

Kwaliteitscontroleurs

Kwaliteits evaluators meten de responskwaliteit. Ze gebruiken een LLM om de evaluatie uit te voeren.

Evaluatortype Metrische gegevens Description
RelevanceEvaluator Relevance Evalueert hoe relevant een antwoord is op een query
CompletenessEvaluator Completeness Evalueert hoe uitgebreid en nauwkeurig een antwoord is
RetrievalEvaluator Retrieval Evalueert de prestaties bij het ophalen van informatie voor aanvullende context
FluencyEvaluator Fluency Evalueert grammaticale nauwkeurigheid, vocabulaire bereik, zincomplexiteit en algemene leesbaarheid
CoherenceEvaluator Coherence Evalueert de logische en ordelijke presentatie van ideeën
EquivalenceEvaluator Equivalence Evalueert de overeenkomst tussen de gegenereerde tekst en de grondwaar met betrekking tot een query
GroundednessEvaluator Groundedness Evalueert hoe goed een gegenereerd antwoord overeenkomt met de opgegeven context
RelevanceTruthAndCompletenessEvaluator Relevance (RTC), Truth (RTC) en Completeness (RTC) Evalueert hoe relevant, waarheidsgetrouw en volledig een antwoord is
IntentResolutionEvaluator Intent Resolution Evalueert de effectiviteit van een AI-systeem bij het identificeren en oplossen van gebruikersintentie (gericht op agents)
TaskAdherenceEvaluator Task Adherence Evalueert de effectiviteit van een AI-systeem bij het naleven van de taak die eraan is toegewezen (gericht op agents)
ToolCallAccuracyEvaluator Tool Call Accuracy Evalueert de effectiviteit van een AI-systeem bij het gebruik van de hulpprogramma's die eraan zijn geleverd (gericht op agents)

† Deze evaluator is gemarkeerd als experimenteel.

NLP-beoordelaars

NLP-evaluators evalueren de kwaliteit van een LLM-antwoord door deze te vergelijken met een referentiereactie met behulp van NLP-technieken (Natural Language Processing). Deze evaluators zijn niet OP BASIS van LLM of AI; In plaats daarvan gebruiken ze oudere NLP-technieken om tekstvergelijkingen uit te voeren.

Evaluatortype Metrische gegevens Description
BLEUEvaluator BLEU Evalueert een antwoord door het te vergelijken met een of meer referentiereacties, met behulp van het bilingual evaluation understudy-algoritme (BLEU). Dit algoritme wordt vaak gebruikt om de kwaliteit van taken voor machinevertaling of het genereren van tekst te evalueren.
GLEUEvaluator GLEU Meet de overeenkomst tussen het gegenereerde antwoord en een of meer referentiereacties met behulp van het Google BLEU-algoritme (GLEU), een variant van het BLEU-algoritme dat is geoptimaliseerd voor evaluatie op zinsniveau.
F1Evaluator F1 Evalueert een antwoord door het te vergelijken met een verwijzingsantwoord met behulp van het score-algoritme F1 (de verhouding van het aantal gedeelde woorden tussen het gegenereerde antwoord en het verwijzingsantwoord).

Veiligheids evaluatoren

Veiligheids evaluatoren controleren op de aanwezigheid van schadelijke, ongepaste of onveilige inhoud in een reactie. Ze zijn afhankelijk van de Foundry Evaluation-service, die gebruikmaakt van een model dat is afgestemd op het uitvoeren van evaluaties.

Evaluatortype Metrische gegevens Description
GroundednessProEvaluator Groundedness Pro Maakt gebruik van een nauwkeurig afgestemd model dat wordt gehost achter de Foundry Evaluation-service om te evalueren hoe goed een gegenereerd antwoord overeenkomt met de opgegeven context
ProtectedMaterialEvaluator Protected Material Evalueert het antwoord op de aanwezigheid van beveiligd materiaal
UngroundedAttributesEvaluator Ungrounded Attributes Evalueert een antwoord op de aanwezigheid van inhoud die een ongegronde inferentie van menselijke eigenschappen aangeeft
HateAndUnfairnessEvaluator Hate And Unfairness Evalueert een antwoord op de aanwezigheid van inhoud die haatbaar of oneerlijk is
SelfHarmEvaluator Self Harm Evalueert een antwoord op de aanwezigheid van inhoud die zelfschade aangeeft
ViolenceEvaluator Violence Evalueert een reactie op de aanwezigheid van gewelddadige inhoud
SexualEvaluator Sexual Evalueert een reactie op de aanwezigheid van seksuele inhoud
CodeVulnerabilityEvaluator Code Vulnerability Evalueert een antwoord op de aanwezigheid van kwetsbare code
IndirectAttackEvaluator Indirect Attack Evalueert een reactie op de aanwezigheid van indirecte aanvallen, zoals gemanipuleerde inhoud, inbraak en informatieverzameling

† Daarnaast biedt de ContentHarmEvaluator evaluatie van één opname voor de vier metrische gegevens die worden ondersteund door HateAndUnfairnessEvaluator, SelfHarmEvaluatoren ViolenceEvaluatorSexualEvaluator.

Antwoorden in cache

De bibliotheek maakt gebruik van de functionaliteit voor responsecaching om reacties van het AI-model in de cache op te slaan. Als de aanvraagparameters (prompt en model) in volgende uitvoeringen ongewijzigd zijn, worden antwoorden uit de cache gebruikt voor snellere uitvoering en lagere kosten.

Berichtgeving

De bibliotheek ondersteunt het opslaan van evaluatieresultaten en het genereren van rapporten. In de volgende afbeelding ziet u een voorbeeldrapport in een Azure DevOps-pijplijn:

Schermopname van een AI-evaluatierapport in een Azure DevOps pipeline.

Het hulpprogramma dotnet aieval, dat wordt geleverd als onderdeel van het Microsoft.Extensions.AI.Evaluation.Console-pakket, bevat functionaliteit voor het genereren van rapporten en het beheren van de opgeslagen evaluatiegegevens en reacties in de cache. Zie Een rapport genereren voor meer informatie.

Configuratie

De bibliotheken zijn flexibel en u kunt de benodigde onderdelen kiezen. Schakel bijvoorbeeld het opslaan van reacties in de cache uit of pas rapportage aan zodat deze het beste werkt in uw omgeving. U kunt uw evaluaties ook aanpassen en configureren, bijvoorbeeld door aangepaste metrische gegevens en rapportageopties toe te voegen.

Samples

Voor een uitgebreidere rondleiding door de functionaliteit en API's in de Microsoft. Extensions.AI.Evaluation-bibliotheken raadpleegt u de API-gebruiksvoorbeelden (dotnet/ai-samples-opslagplaats). Deze voorbeelden zijn een verzameling unit tests. Elke eenheidstest toont een specifiek concept of API en bouwt voort op de concepten en API's die in de vorige eenheidstests worden weergegeven.

Zie ook