Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Microsoft.Extensions.AI.Evaluation knihovny zjednodušují proces vyhodnocování kvality a bezpečnosti odpovědí generovaných modely AI v inteligentních aplikacích na platformě .NET. Různé metriky kvality měří aspekty, jako je relevance, pravdivost, soudržnost a úplnost odpovědí. Bezpečnostní metriky měří aspekty, jako je nenávist a nespravedlivost, násilí a sexuální obsah. Vyhodnocení jsou při testování zásadní, protože pomáhají zajistit, aby model AI fungoval očekávaným způsobem a poskytoval spolehlivé a přesné výsledky.
Knihovny pro vyhodnocení, které vycházejí z Microsoft.Extensions.AI abstrakcí, se skládají z následujících balíčků NuGet:
- 📦 Microsoft. Extensions.AI.Evaluation – definuje základní abstrakce a typy pro podporu vyhodnocení.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP – obsahuje vyhodnocovače, které posuzují podobnost textu odpovědi LLM s jednou nebo více referenčními odpověďmi pomocí metrik zpracování přirozeného jazyka (NLP). Tyto vyhodnocovače nejsou založené na LLM ani umělé inteligenci; k vyhodnocení podobnosti textu používají tradiční techniky NLP, jako je například tokenizace textu a analýza n-gramu.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality – obsahuje hodnotitele, kteří v aplikaci vyhodnocují kvalitu odpovědí LLM podle metrik, jako je relevance a úplnost. Tito vyhodnocovače používají LLM přímo k vyhodnocení.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety – obsahuje evaluátory, například
ProtectedMaterialEvaluatoraContentHarmEvaluator, které k vyhodnocení používají službu Microsoft Foundry Evaluation. - 📦 Microsoft. Extensions.AI.Evaluation.Reporting – obsahuje podporu ukládání odpovědí LLM do mezipaměti, ukládání výsledků vyhodnocení a generování sestav z těchto dat.
- 📦 Microsoft. Extensions.AI.Evaluation.Reporting. Azure – podporuje knihovnu sestav s implementací pro ukládání odpovědí LLM do mezipaměti a ukládání výsledků vyhodnocení do kontejneru Azure Storage.
- 📦 Microsoft. Extensions.AI.Evaluation.Console – nástroj příkazového řádku pro generování sestav a správu dat vyhodnocení.
Testování integrace
Knihovny se hladce integrují se stávajícími .NET aplikacemi a umožňují používat stávající testovací infrastrukturu a známou syntaxi k vyhodnocení inteligentních aplikací. Můžete použít libovolnou testovací architekturu (například MSTest, xUnit nebo NUnit) a testovací pracovní postup (například Průzkumník testů, test dotnet nebo kanál CI/CD). Knihovna také poskytuje jednoduché způsoby, jak provádět online vyhodnocení vaší aplikace publikováním skóre hodnocení do telemetrických a monitorovacích řídicích panelů.
Komplexní metriky vyhodnocení
Knihovny hodnocení byly vytvořeny ve spolupráci s výzkumníky datových věd z Microsoft a GitHub a byly testovány na oblíbených Microsoft Copilot prostředích. Následující části ukazují integrované vyhodnocovače kvality, NLP a bezpečnostní vyhodnocovače a metriky, které měří.
Pokud chcete přidat vlastní vyhodnocení, implementujte IEvaluator rozhraní.
Hodnotitelé kvality
Hodnocení kvality měří kvalitu odezvy. K vyhodnocení používají LLM.
| Typ vyhodnocovače | Ukazatel | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Vyhodnotí, jak relevantní je odpověď na dotaz. |
| CompletenessEvaluator | Completeness |
Vyhodnotí, jak je komplexní a přesná odpověď. |
| RetrievalEvaluator | Retrieval |
Vyhodnotí výkon při načítání informací pro další kontext. |
| FluencyEvaluator | Fluency |
Vyhodnotí gramatickou přesnost, rozsah slovníku, složitost vět a celkovou čitelnost. |
| CoherenceEvaluator | Coherence |
Vyhodnotí logickou a uspořádanou prezentaci nápadů. |
| EquivalenceEvaluator | Equivalence |
Vyhodnotí podobnost mezi vygenerovaným textem a jeho základní pravdou s ohledem na dotaz. |
| GroundednessEvaluator | Groundedness |
Vyhodnotí, jak dobře vygenerovaná odpověď odpovídá danému kontextu. |
| RelevanceTruthAndCompletenessEvaluator† |
Relevance (RTC), Truth (RTC) a Completeness (RTC) |
Vyhodnotí, jak relevantní, pravdivá a úplná odpověď je. |
| IntentResolutionEvaluator | Intent Resolution |
Vyhodnotí efektivitu systému AI při identifikaci a řešení záměru uživatele (zaměřeného na agenta). |
| TaskAdherenceEvaluator | Task Adherence |
Vyhodnotí efektivitu systému AI při dodržování úkolu přiřazeného k němu (zaměřenému na agenta). |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Vyhodnocuje efektivitu systému AI s využitím nástrojů, které mu byly dodány (zaměřené na agenty). |
† Tento vyhodnocovač je označen experimentální.
Vyhodnocovače NLP
Vyhodnocovače NLP vyhodnocují kvalitu odpovědi LLM porovnáním s referenční odpovědí pomocí technik zpracování přirozeného jazyka (NLP). Tyto vyhodnocovače nejsou založené na LLM ani umělé inteligenci; místo toho používají starší techniky NLP k porovnání textu.
| Typ vyhodnocovače | Ukazatel | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Vyhodnotí odpověď porovnáním s jednou nebo více referenčními odpověďmi pomocí algoritmu BLEU (bilingual evaluation understudy). Tento algoritmus se běžně používá k vyhodnocení kvality úloh strojového překladu nebo generování textu. |
| GLEUEvaluator | GLEU |
Měří podobnost mezi vygenerovanou odpovědí a jednou nebo více referenčními odpověďmi pomocí algoritmu Google BLEU (GLEU), varianty algoritmu BLEU optimalizovaného pro vyhodnocení na úrovni věty. |
| F1Evaluator | F1 |
Vyhodnotí odpověď porovnáním s odkazovou odpovědí pomocí algoritmu bodování F1 (poměr počtu sdílených slov mezi vygenerovanou odpovědí a referenční odpovědí). |
Bezpečnostní vyhodnocovače
Bezpečnostní vyhodnocovače kontrolují přítomnost škodlivého, nevhodného nebo nebezpečného obsahu v odpovědi. Spoléhají na službu Foundry Evaluation, která k vyhodnocení používá model, který je jemně vyladěný.
| Typ vyhodnocovače | Ukazatel | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Pomocí jemně vyladěného modelu hostovaného za službou Foundry Evaluation vyhodnocuje, jak dobře vygenerovaná odpověď odpovídá danému kontextu. |
| ProtectedMaterialEvaluator | Protected Material |
Vyhodnotí odpověď na přítomnost chráněného materiálu. |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
Vyhodnotí odpověď na přítomnost obsahu, který indikuje nepodložené odvozování lidských vlastností. |
| HateAndUnfairnessEvaluator† | Hate And Unfairness |
Vyhodnotí odpověď na přítomnost obsahu, který je nesnášící nebo nespravedlivý. |
| SelfHarmEvaluator† | Self Harm |
Vyhodnotí odpověď na přítomnost obsahu, který naznačuje sebepoškozující chování. |
| ViolenceEvaluator† | Violence |
Vyhodnotí odpověď na přítomnost násilného obsahu. |
| SexualEvaluator† | Sexual |
Vyhodnotí odpověď na přítomnost sexuálního obsahu. |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Vyhodnotí odpověď na přítomnost zranitelného kódu. |
| IndirectAttackEvaluator | Indirect Attack |
Vyhodnotí odpověď na přítomnost nepřímých útoků, jako je manipulace s obsahem, neoprávněným vniknutím a shromažďování informací. |
† Kromě toho ContentHarmEvaluator poskytuje jednostřelové vyhodnocení pro čtyři metriky, které HateAndUnfairnessEvaluator podporuje, SelfHarmEvaluator, ViolenceEvaluator a SexualEvaluator.
Odpovědi uložené v mezipaměti
Knihovna používá funkci ukládání odpovědí do mezipaměti k zachování odpovědí z modelu AI v mezipaměti. Pokud se parametry požadavku (výzva a model) v následných spuštěních nezmění, obsluhuje odpovědi z mezipaměti za účelem rychlejšího spuštění a nižších nákladů.
Reportování
Knihovna podporuje ukládání výsledků vyhodnocení a generování sestav. Následující obrázek ukazuje ukázkovou sestavu v pipeline Azure DevOps.
Nástroj dotnet aieval, který se dodává jako součást balíčku Microsoft.Extensions.AI.Evaluation.Console, obsahuje funkce pro generování sestav a správu uložených zkušebních dat a odpovědí uložených v mezipaměti. Další informace najdete v tématu Generování sestavy.
Konfigurace
Knihovny jsou flexibilní a můžete si vybrat potřebné komponenty. Například můžete zakázat cacheování odpovědí nebo přizpůsobit reporty tak, aby fungovaly nejlépe ve vašem prostředí. Můžete si také přizpůsobit a nakonfigurovat své hodnotící procesy, například přidáním přizpůsobených metrik a možností reportování.
Příklady použití
Příklady použití najdete v následujících kurzech:
- Rychlý start: Vyhodnocení kvality odpovědi
- Kurz: Vyhodnocení kvality odpovědí pomocí ukládání do mezipaměti a generování sestav
- Kurz: Vyhodnocení bezpečnosti odpovědí pomocí ukládání do mezipaměti a generování sestav