Freigeben über


Die Microsoft.Extensions.AI.Evaluation-Bibliotheken

Die Microsoft.Extensions.AI.Evaluation-Bibliotheken vereinfachen den Prozess der Bewertung der Qualität und Sicherheit von Antworten, die von KI-Modellen in intelligenten .NET-Apps generiert werden. Verschiedene Qualitätsmetriken messen Aspekte wie Relevanz, Wahrheit, Kohärenz und Vollständigkeit der Antworten. Sicherheitsmetriken messen Aspekte wie Hass und Unfairität, Gewalt und sexuelle Inhalte. Bewertungen sind bei Tests von entscheidender Bedeutung, da sie sicherstellen, dass das KI-Modell erwartungsgemäß funktioniert und zuverlässige und genaue Ergebnisse liefert.

Die Auswertungsbibliotheken, die auf den Microsoft.Extensions.AI Abstraktionen basieren, bestehen aus den folgenden NuGet-Paketen:

Testen der Integration

Die Bibliotheken sind so konzipiert, dass sie reibungslos in vorhandene .NET-Apps integriert werden, sodass Sie vorhandene Testinfrastrukturen und vertraute Syntax nutzen können, um intelligente Apps auszuwerten. Sie können jedes Testframework (z. B. MSTest, xUnit oder NUnit) und Testworkflow (z. B. Test Explorer, Dotnet-Test oder eine CI/CD-Pipeline) verwenden. Die Bibliothek bietet auch einfache Möglichkeiten, Online-Auswertungen Ihrer Anwendung durchzuführen, indem Auswertungsergebnisse in Telemetrie- und Überwachungsdashboards veröffentlicht werden.

Umfassende Auswertungsmetriken

Die Auswertungsbibliotheken wurden in Zusammenarbeit mit Data Science-Forschern von Microsoft und GitHub erstellt und auf beliebten Microsoft Copilot-Erfahrungen getestet. Die folgenden Abschnitte zeigen die integrierten Qualitäts-, NLP- und Sicherheitsbewertungen sowie die Metriken, die sie messen.

Sie können auch anpassen, um Eigene Auswertungen hinzuzufügen, indem Sie die IEvaluator Schnittstelle implementieren.

Qualitätsprüfer

Qualitätsbewertungen messen die Antwortqualität. Sie verwenden eine LLM, um die Auswertung durchzuführen.

Evaluatortyp Metric Description
RelevanceEvaluator Relevance Wertet aus, wie relevant eine Antwort auf eine Abfrage ist.
CompletenessEvaluator Completeness Bewertet, wie umfassend und präzise eine Antwort ist
RetrievalEvaluator Retrieval Wertet die Leistung beim Abrufen von Informationen für einen zusätzlichen Kontext aus.
FluencyEvaluator Fluency Bewertet grammatikalische Genauigkeit, Vokabularbereich, Satzkomplexität und allgemeine Lesbarkeit
CoherenceEvaluator Coherence Wertet die logische und geordnete Darstellung von Ideen aus.
EquivalenceEvaluator Equivalence Wertet die Ähnlichkeit zwischen dem generierten Text und seiner Grundwahrheit in Bezug auf eine Abfrage aus.
GroundednessEvaluator Groundedness Wertet aus, wie gut eine generierte Antwort mit dem angegebenen Kontext übereinstimmt.
RelevanceTruthAndCompletenessEvaluator Relevance (RTC), Truth (RTC) und Completeness (RTC) Bewertet, wie relevant, wahrheitsgemäß und vollständig eine Antwort ist
IntentResolutionEvaluator Intent Resolution Bewertet die Effektivität eines KI-Systems bei der Identifizierung und Auflösung von Benutzerabsichten (agentorientiert)
TaskAdherenceEvaluator Task Adherence Bewertet, wie gut ein KI-System die ihm zugewiesene Aufgabe erfüllt (fokussiert auf den Agenten).
ToolCallAccuracyEvaluator Tool Call Accuracy Bewertet die Effektivität eines KI-Systems bei der Verwendung der bereitgestellten Tools (agent-focused)

† Dieser Evaluator ist experimentell markiert.

NLP-Evaluatoren

NLP-Evaluatoren bewerten die Qualität einer LLM-Antwort, indem sie diese mit einer Referenzantwort vergleichen und dabei NLP-Techniken (Natural Language Processing) verwenden. Diese Bewerter sind nicht LLM oder KI-basiert; Stattdessen verwenden sie ältere NLP-Techniken, um Textvergleiche durchzuführen.

Evaluatortyp Metric Description
BLEUEvaluator BLEU Wertet eine Antwort aus, indem sie mit einer oder mehreren Referenzantworten verglichen wird, wobei der Bilingual Evaluation Understudy (BLEU) Algorithmus verwendet wird. Dieser Algorithmus wird häufig verwendet, um die Qualität von Maschinellen Übersetzungen oder Textgenerierungsaufgaben zu bewerten.
GLEUEvaluator GLEU Misst die Ähnlichkeit zwischen der generierten Antwort und einer oder mehreren Referenzantworten mithilfe des Google BLEU (GLEU)-Algorithmus, einer Variante des BLEU-Algorithmus, der für die Bewertung auf Satzebene optimiert ist.
F1Evaluator F1 Wertet eine Antwort aus, indem sie mithilfe des F1-Bewertungsalgorithmus mit einer Referenzantwort verglichen wird (das Verhältnis der Anzahl der gemeinsamen Wörter zwischen der generierten Antwort und der Referenzantwort).

Sicherheitsevaluatoren

Sicherheitsbewertungen überprüfen, ob schädliche, unangemessene oder unsichere Inhalte in einer Antwort vorhanden sind. Sie verlassen sich auf den Foundry Evaluation-Dienst, der ein Modell verwendet, das fein abgestimmt ist, um Auswertungen durchzuführen.

Evaluatortyp Metric Description
GroundednessProEvaluator Groundedness Pro Verwendet ein fein abgestimmtes Modell, das hinter dem Foundry Evaluation-Dienst gehostet wird, um zu bewerten, wie gut eine generierte Antwort mit dem angegebenen Kontext übereinstimmt.
ProtectedMaterialEvaluator Protected Material Wertet die Antwort auf das Vorhandensein von geschütztem Material aus.
UngroundedAttributesEvaluator Ungrounded Attributes Wertet eine Antwort für das Vorhandensein von Inhalten aus, die auf eine nicht geerdete Ableitung von menschlichen Attributen hindeuten.
HateAndUnfairnessEvaluator Hate And Unfairness Wertet eine Antwort auf das Vorhandensein von Inhalten aus, die hassvoll oder unfair sind.
SelfHarmEvaluator Self Harm Wertet eine Antwort auf das Vorhandensein von Inhalten aus, die auf Selbstverletzung hinweisen
ViolenceEvaluator Violence Wertet eine Antwort auf das Vorhandensein von gewalttätigen Inhalten aus.
SexualEvaluator Sexual Wertet eine Antwort auf das Vorhandensein sexueller Inhalte aus.
CodeVulnerabilityEvaluator Code Vulnerability Wertet eine Antwort auf das Vorhandensein anfälliger Codes aus.
IndirectAttackEvaluator Indirect Attack Wertet eine Antwort auf das Vorhandensein indirekter Angriffe aus, z. B. manipulierte Inhalte, Eindringlinge und Informationssammlungen.

† Darüber hinaus bietet die ContentHarmEvaluator eine einmalige Bewertung für die vier Metriken, die von HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator und SexualEvaluator unterstützt werden.

Zwischengespeicherte Antworten

Die Bibliothek verwendet Antwortzwischenspeicherungsfunktionen , was bedeutet, dass Antworten aus dem KI-Modell in einem Cache beibehalten werden. Wenn die Anforderungsparameter (Eingabeaufforderung und Modell) unverändert sind, werden die Antworten anschließend vom Cache bereitgestellt, um eine schnellere Ausführung und niedrigere Kosten zu ermöglichen.

Berichterstattung

Die Bibliothek enthält Unterstützung für das Speichern von Auswertungsergebnissen und das Generieren von Berichten. Die folgende Abbildung zeigt einen Beispielbericht in einer Azure DevOps-Pipeline:

Screenshot eines KI-Auswertungsberichts in einer Azure DevOps-Pipeline.

Das dotnet aieval Tool, das als Teil des Microsoft.Extensions.AI.Evaluation.Console Pakets ausgeliefert wird, umfasst Funktionen zum Generieren von Berichten und zum Verwalten der gespeicherten Auswertungsdaten und zwischengespeicherten Antworten. Weitere Informationen finden Sie unter Generieren eines Berichts.

Konfiguration

Die Bibliotheken sind so konzipiert, dass sie flexibel sind. Sie können die benötigten Komponenten auswählen. Sie können z. B. das Zwischenspeichern von Antworten deaktivieren oder die Berichterstellung so anpassen, dass sie in Ihrer Umgebung optimal funktioniert. Sie können Ihre Auswertungen auch anpassen und konfigurieren, indem Sie beispielsweise angepasste Metriken und Berichterstellungsoptionen hinzufügen.

Beispiele

Eine umfassendere Tour der Funktionen und APIs, die in den Microsoft.Extensions.AI.Evaluation-Bibliotheken verfügbar sind, finden Sie in den API-Verwendungsbeispielen (dotnet/ai-samples repo). Diese Beispiele sind als eine Sammlung von Unittests strukturiert. Jeder Komponententest zeigt ein bestimmtes Konzept oder eine API und baut auf den Konzepten und APIs auf, die in früheren Komponententests vorgestellt wurden.

Siehe auch