Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft. Extensions.AI.Evaluation-bibliotek förenklar processen med att utvärdera kvaliteten och säkerheten för svar som genereras av AI-modeller i .NET intelligenta appar. Olika kvalitetsmått mäter aspekter som relevans, sanningsenlighet, konsekvens och fullständighet i svaren. Säkerhetsmått mäter aspekter som hat och orättvisa, våld och sexuellt innehåll. Utvärderingar är avgörande vid testning, eftersom de hjälper till att säkerställa att AI-modellen fungerar som förväntat och ger tillförlitliga och korrekta resultat.
Utvärderingsbiblioteken, som bygger på abstraktionerna Microsoft.Extensions.AI, består av följande NuGet-paket:
- 📦 Microsoft. Extensions.AI.Evaluation – Definierar de viktigaste abstraktionerna och typerna för att stödja utvärdering.
- 📦 Microsoft. Extensions.AI.Evaluation.NLP – Innehåller evaluators som utvärderar likheten mellan en LLM:s svarstext och ett eller flera referenssvar med hjälp av NLP-mått (natural language processing). Dessa utvärderare är inte LLM- eller AI-baserade. de använder traditionella NLP-tekniker som texttokenisering och n-gramanalys för att utvärdera textlikhet.
- 📦 Microsoft. Extensions.AI.Evaluation.Quality – Innehåller evaluators som utvärderar kvaliteten på LLM-svar i en app enligt mått som relevans och fullständighet. Dessa utvärderare använder LLM direkt för att utföra utvärderingar.
-
📦 Microsoft. Extensions.AI.Evaluation.Safety – Innehåller evaluators, till exempel
ProtectedMaterialEvaluatorochContentHarmEvaluator, som använder Microsoft Foundry Utvärderingstjänst för att utföra utvärderingar. - 📦 Microsoft. Extensions.AI.Evaluation.Reporting – innehåller stöd för cachelagring av LLM-svar, lagring av utvärderingsresultat och generering av rapporter från dessa data.
- 📦 Microsoft. Extensions.AI.Evaluation.Reporting. Azure – Stöder rapportbiblioteket med en implementering för cachelagring av LLM-svar och lagring av utvärderingsresultat i en Azure Storage container.
- 📦 Microsoft. Extensions.AI.Evaluation.Console – ett kommandoradsverktyg för att generera rapporter och hantera utvärderingsdata.
Test-integration
Biblioteken integreras smidigt med befintliga .NET appar, så att du kan använda befintlig testinfrastruktur och välbekant syntax för att utvärdera intelligenta appar. Du kan använda valfritt testramverk (till exempel MSTest, xUnit eller NUnit) och testa arbetsflödet (till exempel Test Explorer, dotnet-test eller en CI/CD-pipeline). Biblioteket erbjuder också enkla sätt att utvärdera online av din applikation genom att publicera utvärderingspoäng i telemetri- och övervakningspaneler.
Omfattande utvärderingsmått
Utvärderingsbiblioteken byggdes i samarbete med datavetenskapsforskare från Microsoft och GitHub och testades på populära Microsoft Copilot upplevelser. I följande avsnitt visas de inbyggda kvalitets-, NLP- och säkerhetsutvärderingarna och de mått som de mäter.
Om du vill lägga till egna utvärderingar implementerar du IEvaluator gränssnittet.
Kvalitetsutvärderingar
Kvalitetsutvärderingar mäter svarskvalitet. De använder en LLM för att utföra utvärderingen.
| Typ av utvärderare | Mätvärde | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Utvärderar hur relevant ett svar är för en fråga |
| CompletenessEvaluator | Completeness |
Utvärderar hur omfattande och korrekt ett svar är |
| RetrievalEvaluator | Retrieval |
Utvärderar prestanda vid hämtning av information för ytterligare kontext |
| FluencyEvaluator | Fluency |
Utvärderar grammatisk noggrannhet, vokabulärintervall, meningskomplexitet och övergripande läsbarhet |
| CoherenceEvaluator | Coherence |
Utvärderar den logiska och ordnade presentationen av idéer |
| EquivalenceEvaluator | Equivalence |
Utvärderar likheten mellan den genererade texten och dess grundsanning med avseende på en fråga |
| GroundednessEvaluator | Groundedness |
Utvärderar hur väl ett genererat svar överensstämmer med den angivna kontexten |
| RelevanceTruthAndCompletenessEvaluator† |
Relevance (RTC), Truth (RTC) och Completeness (RTC) |
Utvärderar hur relevant, sanningsenlig och fullständig ett svar är |
| IntentResolutionEvaluator | Intent Resolution |
Utvärderar ai-systemets effektivitet när det gäller att identifiera och lösa användarinsikter (agentfokuserad) |
| TaskAdherenceEvaluator | Task Adherence |
Utvärderar ai-systemets effektivitet genom att följa den uppgift som tilldelats det (agentfokuserat) |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Utvärderar ai-systemets effektivitet med hjälp av de verktyg som tillhandahålls till det (agentfokuserat) |
† Den här utvärderaren är markerad som experimentell.
NLP-utvärderare
NLP-utvärderare utvärderar kvaliteten på ett LLM-svar genom att jämföra det med ett referenssvar med hjälp av NLP-tekniker (natural language processing). Dessa utvärderare är inte LLM- eller AI-baserade. I stället använder de äldre NLP-tekniker för att utföra textjämförelser.
| Typ av utvärderare | Mätvärde | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Utvärderar ett svar genom att jämföra det med ett eller flera referenssvar med hjälp av bleu-algoritmen (tvåspråkig utvärderingsunderstudy). Den här algoritmen används ofta för att utvärdera kvaliteten på maskinöversättnings- eller textgenereringsuppgifter. |
| GLEUEvaluator | GLEU |
Mäter likheten mellan det genererade svaret och ett eller flera referenssvar med hjälp av algoritmen Google BLEU (GLEU), en variant av BLEU-algoritmen som är optimerad för utvärdering på meningsnivå. |
| F1Evaluator | F1 |
Utvärderar ett svar genom att jämföra det med ett referenssvar med hjälp av F1-bedömningsalgoritmen (förhållandet mellan antalet delade ord mellan det genererade svaret och referenssvaret). |
Säkerhetsutvärderingar
Säkerhetsutvärderingar kontrollerar om det finns skadligt, olämpligt eller osäkert innehåll i ett svar. De förlitar sig på tjänsten Foundry Evaluation, som använder en modell som är finjusterad för att utföra utvärderingar.
| Typ av utvärderare | Mätvärde | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Använder en finjusterad modell som finns bakom Foundry Evaluation-tjänsten för att utvärdera hur väl ett genererat svar överensstämmer med den angivna kontexten |
| ProtectedMaterialEvaluator | Protected Material |
Utvärderar svar för förekomsten av skyddat material |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
Utvärderar ett svar för förekomsten av innehåll som indikerar ogrundad slutsatsdragning av mänskliga attribut |
| HateAndUnfairnessEvaluator† | Hate And Unfairness |
Utvärderar ett svar för förekomsten av innehåll som är hatiskt eller orättvist |
| SelfHarmEvaluator† | Self Harm |
Utvärderar ett svar för förekomsten av innehåll som indikerar självskada |
| ViolenceEvaluator† | Violence |
Utvärderar ett svar för förekomsten av våldsamt innehåll |
| SexualEvaluator† | Sexual |
Utvärderar ett svar för förekomsten av sexuellt innehåll |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Utvärderar ett svar för förekomsten av sårbar kod |
| IndirectAttackEvaluator | Indirect Attack |
Utvärderar ett svar för förekomsten av indirekta attacker, till exempel manipulerat innehåll, intrång och informationsinsamling |
† Dessutom tillhandahåller ContentHarmEvaluator engångsutvärdering för de fyra mått som stöds av HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator, och SexualEvaluator.
Cachelagrade svar
Biblioteket använder funktionen för cachelagring av svar för att bevara svar från AI-modellen i en cache. I efterföljande körningar, om parametrarna för begäran (fråga och modell) är oförändrade, hanterar den svar från cachen för snabbare körning och lägre kostnad.
Rapportering
Biblioteket stöder lagring av utvärderingsresultat och generering av rapporter. Följande bild visar en exempelrapport i en Azure DevOps pipeline:
Verktyget dotnet aieval, som levereras som en del av paketet Microsoft.Extensions.AI.Evaluation.Console, innehåller funktioner för att generera rapporter och hantera lagrade utvärderingsdata och cachelagrade svar. Mer information finns i Generera en rapport.
Konfiguration
Biblioteken är flexibla och du kan välja de komponenter du behöver. Du kan till exempel inaktivera cachelagring av svar eller skräddarsy rapportering så att den fungerar bäst i din miljö. Du kan också anpassa och konfigurera dina utvärderingar, till exempel genom att lägga till anpassade mått och rapporteringsalternativ.
Användningsexempel
Exempel på användning finns i följande handledningar:
- Snabbstart: Utvärdera svarskvalitet
- Självstudie: Utvärdera svarskvalitet med cachelagring och rapportering
- Självstudie: Utvärdera svarssäkerhet med cachelagring och rapportering