Sdílet prostřednictvím


Knihovny Microsoft.Extensions.AI.Evaluation

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.

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.

Snímek obrazovky zprávy vyhodnocení AI v kanálu 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.

Viz také