Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
- 📦 Microsoft. Extensions.AI.Evaluation – Definieert de belangrijkste abstracties en typen voor ondersteunende evaluatie.
- 📦 Microsoft. Extensions.AI.Evaluation.NLP - Bevat evaluators die de gelijkenis van de antwoordtekst van een LLM evalueren op een of meer referentiereacties met behulp van metrische gegevens voor natuurlijke taalverwerking (NLP). Deze evaluators zijn niet OP BASIS van LLM of AI; ze gebruiken traditionele NLP-technieken zoals teksttokenisatie en n-gram-analyse om de gelijkenis van tekst te evalueren.
- 📦 Microsoft. Extensions.AI.Evaluation.Quality – Bevat evaluators die de kwaliteit van LLM-antwoorden in een app beoordelen op basis van metrische gegevens, zoals relevantie en volledigheid. Deze evaluators gebruiken de LLM rechtstreeks om evaluaties uit te voeren.
-
📦 Microsoft. Extensions.AI.Evaluation.Safety – Bevat evaluators, zoals de
ProtectedMaterialEvaluatorenContentHarmEvaluator, die gebruikmaken van de Microsoft Foundry Evaluation-service om evaluaties uit te voeren. - 📦 Microsoft. Extensions.AI.Evaluation.Reporting : bevat ondersteuning voor het opslaan van LLM-antwoorden in de cache, het opslaan van de resultaten van evaluaties en het genereren van rapporten van die gegevens.
- 📦 Microsoft. Extensions.AI.Evaluation.Reporting. Azure: ondersteunt de rapportagebibliotheek met een implementatie voor het opslaan van LLM-antwoorden en het opslaan van de evaluatieresultaten in een container Azure Storage.
- 📦 Microsoft. Extensions.AI.Evaluation.Console – een opdrachtregelprogramma voor het genereren van rapporten en het beheren van evaluatiegegevens.
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:
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.