Microsoft.Extensions.AI.Evaluation knihovny

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:

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.

Snímek zprávy o vyhodnocení AI v Azure DevOps pipeline.

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:

Viz také