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 .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:
- 📦 Microsoft. Extensions.AI.Evaluation – Definiert die Kernabstraktionen und Typen für die unterstützende 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 (Natural Language Processing) auswerten. 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 evaluators, 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 speichern die Auswertungsergebnisse in einem container Azure Storage.
- 📦 Microsoft. Extensions.AI.Evaluation.Console – Ein Befehlszeilentool zum Generieren von Berichten und Verwalten von Auswertungsdaten.
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:
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:
- Schnellstart: Antwortqualität bewerten
- Lernprogramm: Bewerten der Antwortqualität mit Zwischenspeicherung und Berichterstellung
- Lernprogramm: Bewerten der Reaktionssicherheit mit Zwischenspeicherung und Berichterstellung