Was ist die Auswertung von Mosaic AI Agents?
Wichtig
Dieses Feature befindet sich in der Public Preview.
Dieser Artikel gibt einen Überblick über die Arbeit mit der Auswertung von Mosaik AI Agent. Agent Evaluation hilft Entwicklern, Qualität, Kosten und Latenz von agentenbasierten KI-Anwendungen zu bewerten, einschließlich RAG-Anwendungen und Ketten. Die Agentauswertung dient sowohl zur Identifizierung von Qualitätsproblemen als auch zur Ermittlung der Ursache dieser Probleme. Die Funktionen der Agentbewertung sind über die Entwicklungs-, Staging- und Produktionsphase des MLOps-Lebenszyklus hinweg vereinheitlicht, und alle Bewertungsmetriken und -daten werden in MLflow Runs protokolliert.
Agent Evaluation integriert erweiterte, forschungsgestützte Auswertungstechniken in ein benutzerfreundliches SDK und eine Benutzeroberfläche, die in Ihr Lakehouse, MLflow und die anderen Databricks Data Intelligence Platform-Komponenten integriert ist. Diese proprietäre Technologie wurde in Zusammenarbeit mit Mosaik AI-Forschung entwickelt und bietet einen umfassenden Ansatz zur Analyse und Verbesserung der Agentenleistung.
Agentische KI-Anwendungen sind komplex und umfassen viele verschiedene Komponenten. Die Bewertung der Leistung dieser Anwendungen ist nicht so einfach wie die Bewertung der Leistung herkömmlicher ML-Modelle. Sowohl qualitative als auch quantitative Metriken, die zur Bewertung der Qualität verwendet werden, sind grundsätzlich komplexer. Agent Evaluation umfasst proprietäre LLM-Richter und Agentmetriken, um Abruf- und Anforderungsqualität sowie allgemeine Leistungsmetriken wie Latenz und Tokenkosten auszuwerten.
Wie wird eine Agent-Auswertung verwendet?
Der folgende Code zeigt, wie Sie die Agentenauswertung für zuvor generierte Ausgaben aufrufen und testen. Er gibt einen Dataframe mit Auswertungsergebnissen zurück, die von LLM-Richtern berechnet werden, die Teil der Agentenauswertung sind.
Sie können Folgendes kopieren und in Ihr vorhandenes Databricks-Notebook einfügen:
%pip install mlflow databricks-agents
dbutils.library.restartPython()
import mlflow
import pandas as pd
examples = {
"request": [
{
# Recommended `messages` format
"messages": [{
"role": "user",
"content": "Spark is a data analytics framework."
}],
},
# Primitive string format
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
"How do I convert a Spark DataFrame to Pandas?"
],
"response": [
"Spark is a data analytics framework.",
"This is not possible as Spark is not a panda.",
],
"retrieved_context": [ # Optional, needed for judging groundedness.
[{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
[{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
],
"expected_response": [ # Optional, needed for judging correctness.
"Spark is a data analytics framework.",
"To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
]
}
result = mlflow.evaluate(
data=pd.DataFrame(examples), # Your evaluation set
# model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
model_type="databricks-agent", # Enable Mosaic AI Agent Evaluation
)
# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])
Alternativ können Sie das folgende Notebook in Ihren Databricks-Arbeitsbereich importieren und ausführen:
Beispiel-Notebook für die Agentenauswertung in Mosaic AI
Agentenauswertungseingaben und -ausgaben
Das folgende Diagramm zeigt eine Übersicht über die von agent Evaluation akzeptierten Eingaben und die entsprechenden Ausgaben, die von agent Evaluation erstellt wurden.
Eingaben
Ausführliche Informationen zur erwarteten Eingabe für die Agentauswertung, einschließlich Feldnamen und Datentypen, finden Sie im Eingabeschema. Einige der Felder sind die folgenden:
- Abfrage des Benutzers (
request
): Eingabe an den Agent (Frage oder Abfrage des Benutzers). Beispiel: "Was ist RAG?". - Antwort des Agents (
response
): Vom Agent generierte Antwort. Beispiel: "Erweiterte Abrufgenerierung ist ...". - Erwartete Antwort (
expected_response
): (Optional) Eine bodenwahre (richtige) Antwort. - MLflow-Ablaufverfolgung (): (
trace
Optional) Die MLflow-Ablaufverfolgung des Agents, aus der die Agentauswertung Zwischenausgaben extrahiert, z. B. den abgerufenen Kontext oder Toolaufrufe. Alternativ können Sie diese Zwischenausgaben direkt bereitstellen.
Ausgaben
Basierend auf diesen Eingaben erzeugt die Agent-Auswertung zwei Arten von Ausgaben:
- Auswertungsergebnisse (pro Zeile): Für jede Zeile, die als Eingabe bereitgestellt wird, erzeugt Die Agentauswertung eine entsprechende Ausgabezeile, die eine detaillierte Bewertung der Qualität, Kosten und Latenz Ihres Agents enthält.
- LLM-Richter überprüfen verschiedene Aspekte der Qualität, z. B. Korrektheit oder Erdheit, Ausgeben eines Ja/Nein-Punktes und schriftlicher Begründung für diese Bewertung. Ausführliche Informationen finden Sie unter "Qualität, Kosten und Latenz" durch die Agent-Auswertung.
- Die Bewertungen der LLM-Richter werden kombiniert, um eine Gesamtbewertung zu erstellen, die angibt, ob die Zeile "bestanden" (ist qualitativ hoch) oder "fehlschlägt" (hat ein Qualitätsproblem).
- Bei fehlerhaften Zeilen wird eine Ursache identifiziert. Jede Grundursache entspricht der Bewertung eines bestimmten LLM-Richters, sodass Sie die Rationale des Richters verwenden können, um potenzielle Korrekturen zu identifizieren.
- Kosten und Latenz werden aus der MLflow-Ablaufverfolgung extrahiert. Ausführliche Informationen finden Sie unter "Bewertung der Kosten und Latenz".
- Metriken (aggregierte Bewertungen): Aggregierte Bewertungen, die die Qualität, Kosten und Latenz Ihres Agents in allen Eingabezeilen zusammenfassen. Dazu gehören Metriken wie der Prozentsatz der richtigen Antworten, die durchschnittliche Tokenanzahl, die durchschnittliche Latenz und vieles mehr. Ausführliche Informationen finden Sie unter "Bewerten von Kosten und Latenz" und "Aggregierte Metriken" auf der Ebene eines MLflow-Laufs für Qualität, Kosten und Latenz.
Entwicklung (Offline-Auswertung) und Produktion (Online-Überwachung)
Die Agentauswertung ist so konzipiert, dass sie zwischen Ihrer Entwicklungsumgebung (Offline) und Produktionsumgebungen (Online) konsistent ist. Dieses Design ermöglicht einen reibungslosen Übergang von der Entwicklung zur Produktion, sodass Sie schnell agentische Anwendungen in hoher Qualität durchlaufen, bewerten, bereitstellen und überwachen können.
Der Hauptunterschied zwischen Entwicklung und Produktion besteht darin, dass Sie in der Produktion keine Boden-Wahrheitsbezeichnungen haben, während Sie in der Entwicklung optional Boden-Wahrheitsbezeichnungen verwenden können. Die Verwendung von Ground-Truth-Bezeichnungen ermöglicht die Agent-Auswertung, zusätzliche Qualitätsmetriken zu berechnen.
Entwicklung (offline)
In der Entwicklung stammen Ihre requests
und expected_responses
stammen aus einem Evaluierungssatz. Ein Auswertungssatz ist eine Sammlung repräsentativer Eingaben, die Ihr Agent genau verarbeiten kann. Weitere Informationen zu Auswertungssätzen finden Sie unter Evaluierungssätze.
Zum Abrufen response
und trace
, Agent Evaluation kann den Code Ihres Agents aufrufen, um diese Ausgaben für jede Zeile im Auswertungssatz zu generieren. Alternativ können Sie diese Ausgaben selbst generieren und an die Agent-Auswertung übergeben. Weitere Informationen finden Sie unter Bereitstellen von Eingaben für einen Auswertungslauf .
Produktion (online)
In der Produktion stammen alle Eingaben zur Agent-Auswertung aus Ihren Produktionsprotokollen.
Wenn Sie Mosaik AI Agent Framework zum Bereitstellen Ihrer KI-Anwendung verwenden, kann die Agent-Auswertung so konfiguriert werden, dass diese Eingaben automatisch aus den Agent-erweiterten Rückschlusstabellen gesammelt und ein Überwachungsdashboard kontinuierlich aktualisiert werden. Weitere Informationen finden Sie unter Überwachen der Qualität Ihres Agenten für den Produktionsdatenverkehr.
Wenn Sie Ihren Agent außerhalb von Azure Databricks bereitstellen, können Sie Ihre Protokolle im erforderlichen Eingabeschema etlieren und ein Überwachungsdashboard entsprechend konfigurieren.
Einrichten eines Qualitäts-Benchmarks mit einem Bewertungssatz
Um die Qualität einer KI-Anwendung in der Entwicklung (offline) zu messen, müssen Sie einen Evaluierungssatz definieren, d. h. eine Reihe repräsentativer Fragen und optionale Antworten auf Die Wahrheit. Wenn die Anwendung einen Abrufschritt umfasst, z. B. in RAG-Workflows, können Sie optional unterstützende Dokumente bereitstellen, auf denen die Antwort basieren soll.
Ausführliche Informationen zu Auswertungssätzen, einschließlich Metrikabhängigkeiten und bewährten Methoden, finden Sie unter Evaluierungssätze. Informationen zum erforderlichen Schema finden Sie unter Agent Evaluation Input Schema.
Bewertungsausführungen
Ausführliche Informationen zum Ausführen einer Bewertung finden Sie unter Ausführen einer Bewertung und Anzeigen der Ergebnisse. Die Agent-Bewertung unterstützt zwei Optionen für die Bereitstellung der Ausgabe aus der Kette:
- Sie können die Anwendung als Teil der Auswertungsausführung ausführen. Die Anwendung generiert Ergebnisse für jede Eingabe im Bewertungssatz.
- Sie können eine Ausgabe aus einer vorherigen Ausführung der Anwendung bereitstellen.
Ausführliche Informationen und Erläuterungen zur Verwendung der einzelnen Optionen finden Sie unter Bereitstellen von Eingaben für eine Bewertungsausführung.
Einholen von menschlichem Feedback zur Qualität einer GenAI-Anwendung
Die Databricks-Rezensions-App erleichtert das Sammeln von Feedback zur Qualität einer KI-Anwendung von menschlichen Prüfern. Weitere Informationen finden Sie unter Einholen von Feedback zur Qualität einer Agent-Anwendung.
Geografische Verfügbarkeit von Assistentenfeatures
Die Auswertung des Mosaic AI Agent ist ein designierter Dienst, der Geografien verwendet, um die Datenresidenz bei der Verarbeitung von Kundeninhalten zu verwalten. Weitere Informationen zur Verfügbarkeit der Agent-Auswertung in verschiedenen geografischen Gebieten finden Sie unter Designierte Databricks-Dienste.
Preise
Preisinformationen finden Sie unter Mosaik KI Agent Bewertung Preise.
Einschränkung
Die Agent-Auswertung ist in HIPAA-fähigen Arbeitsbereichen nicht verfügbar.
Informationen zu den Modellen, die die LLM-Richter unterstützen
- LLM-Richter verwenden möglicherweise Dienste von Drittanbietern, um Ihre GenAI-Anwendungen zu bewerten, einschließlich Azure OpenAI, betrieben von Microsoft.
- Für Azure OpenAI ist in Databricks die Missbrauchsüberwachung deaktiviert, sodass keine Prompts oder Antworten in Azure OpenAI gespeichert werden.
- Für Arbeitsbereiche der Europäischen Union (EU) verwenden LLM-Richter Modelle, die in der EU gehostet werden. Alle anderen Regionen verwenden Modelle, die in den USA gehostet werden.
- Durch die Deaktivierung von Azure KI-gesteuerten KI-Hilfsfeatures wird der LLM-Richter daran gehindert, Azure KI-gesteuerte Modelle aufzurufen.
- Daten, die an den LLM-Richter gesendet werden, werden nicht für eine Modellschulung verwendet.
- LLM-Richter sollen Kunden helfen, ihre RAG-Anwendungen zu bewerten, und LLM-Beurteilungsergebnisse sollten nicht verwendet werden, um eine LLM zu trainieren, zu verbessern oder zu optimieren.