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.
Knihovny Microsoft.Extensions.AI.Evaluation zjednodušují proces vyhodnocování kvality a bezpečnosti odpovědí generovaných modely AI v inteligentních aplikacích .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 hodnocení, které jsou postavené na abstrakcích Microsoft.Extensions.AI, 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é vyhodnocují podobnost textu odpovědi LLM na jednu nebo více referenčních odpovědí 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 vyhodnocovače , které v aplikaci vyhodnocuje 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 vyhodnocovače, jako například
ProtectedMaterialEvaluatoraContentHarmEvaluator, které používají k vyhodnocení 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 reportovací knihovnu s implementací pro ukládání odpovědí LLM do mezipaměti a pro 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 jsou navržené tak, aby se hladce integrovaly s existujícími aplikacemi .NET, což umožňuje využití stávající testovací infrastruktury a známé syntaxe 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 pro hodnocení byly vytvořeny ve spolupráci s výzkumníky datových věd z Microsoftu a GitHubu a byly testovány na oblíbených prostředích Microsoft Copilot. Následující části ukazují integrované vyhodnocovače kvality, NLP a bezpečnostní vyhodnocovače a metriky, které měří.
Můžete také přizpůsobit přidání vlastních hodnocení implementací rozhraní IEvaluator.
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á používá model, který je jemně vyladěný k provádění vyhodnocení.
| 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 , což znamená, že odpovědi z modelu AI se uchovávají v mezipaměti. Pokud se parametry požadavku (výzvy a modelu) v následných spuštěních nezmění, odpovědi se pak obsluhují z mezipaměti, aby se umožnilo rychlejší spuštění a nižší náklady.
Reportování
Knihovna obsahuje podporu pro ukládání výsledků hodnocení 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 Microsoft.Extensions.AI.Evaluation.Console balíčku, 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 navržené tak, aby byly flexibilní. Můžete vybrat potřebné součásti. Můžete například zakázat ukládání odpovědí do mezipaměti nebo přizpůsobit vytváření sestav tak, aby fungovalo 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í.
Samples
Podrobnější prohlídku funkcí a rozhraní API dostupných v knihovnách Microsoft.Extensions.AI.Evaluation najdete v příkladech použití rozhraní API (úložiště dotnet/ai-samples). Tyto příklady jsou strukturované jako kolekce jednotkových testů. Každý jednotkový test demonstruje konkrétní koncept nebo rozhraní API a vychází z konceptů a rozhraní API demonstrovaných v předchozích jednotkových testech.