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 .NET intelligenten 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 aufbauen, bestehen aus den folgenden NuGet-Paketen:

Testen der Integration

Die Bibliotheken lassen sich reibungslos in vorhandene .NET-Apps integrieren, sodass Sie vorhandene Testinfrastruktur und vertraute Syntax verwenden 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 aus Microsoft und GitHub aufgebaut und wurden auf beliebten Microsoft Copilot Erfahrungen getestet. Die folgenden Abschnitte zeigen die integrierten Qualitäts-, NLP- und Sicherheitsbewertungen sowie die Metriken, die sie messen.

Um Eigene Auswertungen hinzuzufügen, implementieren Sie die IEvaluator Schnittstelle.

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 , um Antworten aus dem KI-Modell in einem Cache beizubehalten. Wenn die Anforderungsparameter (Eingabeaufforderung und Modell) in nachfolgenden Ausführungen unverändert sind, liefert sie Antworten aus dem Cache, um eine schnellere Ausführung und niedrigere Kosten zu ermöglichen.

Berichterstattung

Die Bibliothek unterstützt 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 Tool dotnet aieval, das als Teil des Pakets Microsoft.Extensions.AI.Evaluation.Console 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 flexibel, und Sie können die benötigten Komponenten auswählen. Deaktivieren Sie z. B. das Zwischenspeichern von Antworten, oder passen Sie die Berichterstellung an, damit sie in Ihrer Umgebung optimal funktioniert. Sie können Ihre Auswertungen auch anpassen und konfigurieren, indem Sie beispielsweise angepasste Metriken und Berichterstellungsoptionen hinzufügen.

Verwendungsbeispiele

Verwendungsbeispiele finden Sie in den folgenden Lernprogrammen:

Siehe auch