Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- 📦 Microsoft.Extensions.AI.Evaluation – Definiert die kernen Abstraktionen und Typen zur Unterstützung der Auswertung.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP – Enthält Evaluatoren, die die Ähnlichkeit des Antworttexts eines LLM mit einer oder mehreren Referenzantworten mithilfe von NLP-Metriken bewerten. Diese Bewerter sind nicht LLM oder KI-basiert; sie verwenden herkömmliche NLP-Techniken wie die Texttokenisierung und n-Gramm-Analyse, um die Ähnlichkeit von Text zu bewerten.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality – Enthält Evaluatoren, die die Qualität der LLM-Antworten in einer App anhand von Metriken wie Relevanz und Vollständigkeit bewerten. Diese Bewerter verwenden die LLM direkt, um Auswertungen durchzuführen.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety – Enthält Evaluatoren, z. B. den
ProtectedMaterialEvaluatorundContentHarmEvaluator, die den Microsoft Foundry-Evaluierungsdienst verwenden, um Auswertungen durchzuführen. - 📦 Microsoft.Extensions.AI.Evaluation.Reporting – Enthält Unterstützung für das Zwischenspeichern von LLM-Antworten, das Speichern der Ergebnisse von Auswertungen und das Generieren von Berichten aus diesen Daten.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure – Unterstützt die Berichtsbibliothek mit einer Implementierung zum Zwischenspeichern von LLM-Antworten und zum Speichern der Auswertungsergebnisse in einem Azure Storage-Container .
- 📦 Microsoft.Extensions.AI.Evaluation.Console – Ein Befehlszeilentool zum Generieren von Berichten und Verwalten von Auswertungsdaten.
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:
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.