Nachdem Sie Ihr Gen AI-Modell erstellt und bewertet haben, können Sie es verwenden, um einen Agenten wie einen Chatbot zu erstellen. Mit dem Gen AI Evaluation Service können Sie die Fähigkeit Ihres Agents messen, Aufgaben und Ziele für Ihren Anwendungsfall zu erledigen.
Übersicht
Sie haben folgende Möglichkeiten, Ihren Kundenservicemitarbeiter zu bewerten:
Bewertung der endgültigen Antwort: Hier wird die endgültige Ausgabe eines Kundenservicemitarbeiters bewertet (d. h., ob er sein Ziel erreicht hat oder nicht).
Kurvenverlaufsbewertung: Der Pfad (die Abfolge von Toolaufrufen), den der Kundenservicemitarbeiter eingeschlagen hat, um die endgültige Antwort zu erhalten.
Mit dem Gen AI-Bewertungsdienst können Sie eine Agentausführung auslösen und in einer einzigen Vertex AI SDK-Abfrage Messwerte sowohl für die Kursverlaufsbewertung als auch für die endgültige Antwortbewertung abrufen.
Unterstützte Kundenservicemitarbeiter
Der Gen AI Evaluation Service unterstützt die folgenden Kategorien von Kundenservicemitarbeitern:
Unterstützte Kundenservicemitarbeiter | Beschreibung |
---|---|
Mit der Vorlage der Reasoning Engine erstellter Bot | Die Reasoning Engine (LangChain in Vertex AI) ist eine Google Cloud Plattform, auf der Sie Agenten bereitstellen und verwalten können. |
LangChain-Kundenservicemitarbeiter, die mit der anpassbaren Vorlage der Reasoning Engine erstellt wurden | LangChain ist eine Open-Source-Plattform. |
Benutzerdefinierte Kundenservicemitarbeiterfunktion | Die benutzerdefinierte Agentfunktion ist eine flexible Funktion, die einen Prompt für den Kundenservicemitarbeiter entgegennimmt und eine Antwort und eine Antwortabfolge in einem Wörterbuch zurückgibt. |
Messwerte für die Bewertung von Kundenservicemitarbeitern definieren
Definieren Sie Ihre Messwerte für die endgültige Antwort- oder Flugbahnbewertung:
Bewertung der endgültigen Antwort
Die endgültige Antwortbewertung erfolgt nach demselben Verfahren wie die Modellantwortbewertung. Weitere Informationen finden Sie unter Bewertungsmesswerte definieren.
Flugbahnbewertung
Anhand der folgenden Messwerte können Sie die Fähigkeit des Modells bewerten, der erwarteten Flugbahn zu folgen:
Genaue Übereinstimmung
Wenn die prognostizierte Flugbahn mit der Referenzflugbahn identisch ist und die Toolaufrufe genau in derselben Reihenfolge erfolgen, gibt der Messwert trajectory_exact_match
die Bewertung 1 zurück, andernfalls 0.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die der Kundenservicemitarbeiter zur Erstellung der endgültigen Antwort verwendet hat. |
reference_trajectory |
Die voraussichtliche Toolnutzung des Kundenservicemitarbeiters, um die Anfrage zu beantworten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
0 | Die prognostizierte Flugbahn stimmt nicht mit der Referenz überein. |
1 | Die vorhergesagte Flugbahn stimmt mit der Referenz überein. |
Sortierte Übereinstimmung
Wenn die prognostizierte Flugbahn alle Toolaufrufe aus der Referenzflugbahn in derselben Reihenfolge enthält und möglicherweise auch zusätzliche Toolaufrufe enthält, gibt der Messwert trajectory_in_order_match
eine Punktzahl von 1 zurück, andernfalls 0.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die vorhergesagte Flugbahn, die der Kundenservicemitarbeiter verwendet, um die endgültige Antwort zu erreichen. |
reference_trajectory |
Die voraussichtliche vorhergesagte Flugbahn, die der Kundenservicemitarbeiter zurücklegen muss, um die Anfrage zu beantworten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
0 | Die Toolaufrufe in der prognostizierten Flugbahn stimmen nicht mit der Reihenfolge in der Referenzflugbahn überein. |
1 | Die vorhergesagte Flugbahn stimmt mit der Referenz überein. |
Übereinstimmung in beliebiger Reihenfolge
Wenn die vorhergesagte Flugbahn alle Toolaufrufe aus der Referenzflugbahn enthält, die Reihenfolge jedoch keine Rolle spielt und zusätzliche Toolaufrufe enthalten kann, wird für den Messwert trajectory_any_order_match
eine Punktzahl von 1 zurückgegeben, andernfalls 0.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die der Kundenservicemitarbeiter zur Erstellung der endgültigen Antwort verwendet hat. |
reference_trajectory |
Die voraussichtliche Toolnutzung des Kundenservicemitarbeiters, um die Anfrage zu beantworten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
0 | Die prognostizierte Flugbahn enthält nicht alle Toolaufrufe in der Referenzflugbahn. |
1 | Die vorhergesagte Flugbahn stimmt mit der Referenz überein. |
Precision
Der Messwert trajectory_precision
gibt an, wie viele der Toolaufrufe in der vorhergesagten Flugbahn gemäß der Referenzflugbahn tatsächlich relevant oder korrekt sind.
Die Genauigkeit wird so berechnet: Zählen Sie, wie viele Aktionen in der vorhergesagten Flugbahn auch in der Referenzflugbahn vorkommen. Teilen Sie diese Anzahl durch die Gesamtzahl der Aktionen in der prognostizierten Flugbahn.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die der Kundenservicemitarbeiter zur Erstellung der endgültigen Antwort verwendet hat. |
reference_trajectory |
Die voraussichtliche Toolnutzung des Kundenservicemitarbeiters, um die Anfrage zu beantworten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
Eine Gleitkommazahl im Bereich [0,1] | Je höher der Wert, desto genauer ist die Vorhersage der Flugbahn. |
Recall
Mit dem Messwert trajectory_recall
wird gemessen, wie viele der wichtigen Toolaufrufe aus der Referenztrajektorie tatsächlich in der prognostizierten Trajektorie erfasst werden.
Der Recall wird so berechnet: Zählen Sie, wie viele Aktionen in der Referenztrajektorie auch in der prognostizierten Trajektorie vorkommen. Teilen Sie diese Anzahl durch die Gesamtzahl der Aktionen in der Referenztrajektorie.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die der Kundenservicemitarbeiter zur Erstellung der endgültigen Antwort verwendet hat. |
reference_trajectory |
Die voraussichtliche Toolnutzung des Kundenservicemitarbeiters, um die Anfrage zu beantworten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
Eine Gleitkommazahl im Bereich [0,1] | Je höher der Wert, desto besser ist die Erinnerung an die prognostizierte Flugbahn. |
Einzeln verwendetes Tool
Mit dem Messwert trajectory_single_tool_use
wird geprüft, ob ein bestimmtes Tool, das in der Messwertspezifikation angegeben ist, in der prognostizierten Flugbahn verwendet wird. Es wird nicht geprüft, in welcher Reihenfolge die Toolaufrufe erfolgen oder wie oft das Tool verwendet wird, sondern nur, ob es vorhanden ist oder nicht.
Eingabeparameter für Messwerte
Eingabeparameter | Beschreibung |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die der Kundenservicemitarbeiter verwendet hat, um die endgültige Antwort zu erhalten. |
Ausgabebewertungen
Wert | Beschreibung |
---|---|
0 | Das Tool ist nicht vorhanden |
1 | Das Tool ist vorhanden. |
Außerdem werden den Bewertungsergebnissen standardmäßig die folgenden beiden Messwerte für die Kundenservicemitarbeiter hinzugefügt. Sie müssen sie nicht in EvalTask
angeben.
latency
Zeit, die der Kundenservicemitarbeiter für die Beantwortung benötigt.
Wert | Beschreibung |
---|---|
Ein Float | Berechnet in Sekunden. |
failure
Ein boolescher Wert, der angibt, ob die Agent-Aufrufung zu einem Fehler geführt hat oder erfolgreich war.
Ausgabebewertungen
Wert | Beschreibung |
---|---|
1 | Fehler |
0 | Gültige Antwort zurückgegeben |
Dataset für die Bewertung von Kundenservicemitarbeitern vorbereiten
Bereiten Sie das Dataset für die endgültige Antwort- oder Flugbahnbewertung vor.
Das Datenschema für die Bewertung der endgültigen Antwort ähnelt dem der Bewertung der Modellantwort.
Für die berechnungsbasierte Flugbahnbewertung müssen in Ihrem Datensatz die folgenden Informationen enthalten sein:
Eingabetyp | Inhalt des Eingabefelds |
---|---|
predicted_trajectory |
Die Liste der Toolaufrufe, die die Kundenservicemitarbeiter zur endgültigen Antwort verwendet haben. |
reference_trajectory (für trajectory_single_tool_use metric nicht erforderlich) |
Die voraussichtliche Toolnutzung des Kundenservicemitarbeiters, um die Anfrage zu beantworten. |
Beispiele für Bewertungs-Datasets
Die folgenden Beispiele zeigen Datasets für die Flugbahnbewertung. Hinweis: reference_trajectory
ist für alle Messwerte mit Ausnahme von trajectory_single_tool_use
erforderlich.
reference_trajectory = [
# example 1
[
{
"tool_name": "set_device_info",
"tool_input": {
"device_id": "device_2",
"updates": {
"status": "OFF"
}
}
}
],
# example 2
[
{
"tool_name": "get_user_preferences",
"tool_input": {
"user_id": "user_y"
}
},
{
"tool_name": "set_temperature",
"tool_input": {
"location": "Living Room",
"temperature": 23
}
},
]
]
predicted_trajectory = [
# example 1
[
{
"tool_name": "set_device_info",
"tool_input": {
"device_id": "device_3",
"updates": {
"status": "OFF"
}
}
}
],
# example 2
[
{
"tool_name": "get_user_preferences",
"tool_input": {
"user_id": "user_z"
}
},
{
"tool_name": "set_temperature",
"tool_input": {
"location": "Living Room",
"temperature": 23
}
},
]
]
eval_dataset = pd.DataFrame({
"predicted_trajectory": predicted_trajectory,
"reference_trajectory": reference_trajectory,
})
Bewertungs-Dataset importieren
Sie können Ihr Dataset in den folgenden Formaten importieren:
In Cloud Storage gespeicherte JSONL- oder CSV-Datei
BigQuery-Tabelle
Pandas DataFrame
Der Gen AI Evaluation Service bietet öffentliche Beispiel-Datasets, anhand derer Sie sehen können, wie Sie Ihre Kundenservicemitarbeiter bewerten können. Im folgenden Code wird gezeigt, wie die öffentlichen Datasets aus einem Cloud Storage-Bucket importiert werden:
# dataset name to be imported
dataset = "on-device" # Alternatives: "customer-support", "content-creation"
# copy the tools and dataset file
!gcloud storage cp gs://cloud-ai-demo-datasets/agent-eval-datasets/{dataset}/tools.py .
!gcloud storage cp gs://cloud-ai-demo-datasets/agent-eval-datasets/{dataset}/eval_dataset.json .
# load the dataset examples
import json
eval_dataset = json.loads(open('eval_dataset.json').read())
# run the tools file
%run -i tools.py
Dabei ist dataset
einer der folgenden öffentlichen Datensätze:
"on-device"
für einen On-Device-Home Assistant, der Smart-Home-Geräte steuert. Der Kundenservicemitarbeiter hilft bei Anfragen wie „Planen Sie die Klimaanlage im Schlafzimmer so, dass sie zwischen 23:00 Uhr und 8:00 Uhr eingeschaltet und sonst ausgeschaltet ist.“"customer-support"
für einen Kundenservicemitarbeiter. Der Kundenservicemitarbeiter hilft bei Fragen wie „Können Sie ausstehende Bestellungen stornieren und offene Supporttickets eskalieren?“"content-creation"
für einen Kundenservicemitarbeiter für die Erstellung von Marketinginhalten. Der Kundenservicemitarbeiter hilft bei Anfragen wie „Kampagne X in eine einmalige Kampagne auf der Social-Media-Website Y mit einem um 50% reduzierten Budget umwandeln, nur am 25. Dezember 2024“.
Kundenservicemitarbeiter bewerten
Führen Sie eine Bewertung für den Kurs oder die endgültige Antwort aus:
Für die Bewertung von Kundenservicemitarbeitern können Sie Antwort- und Verlaufsbewertungsmesswerte kombinieren, wie im folgenden Code:
single_tool_use_metric = TrajectorySingleToolUse(tool_name='tool_name')
eval_task = EvalTask(
dataset=EVAL_DATASET,
metrics=[
"rouge_l_sum",
"bleu",
custom_response_eval_metric,
"trajectory_exact_match",
"trajectory_precision",
single_tool_use_metric
pointwise_trajectory_eval_metric # llm-based metric
],
)
eval_result = eval_task.evaluate(
runnable=RUNNABLE,
)
Messwertanpassung
Sie können einen LLM-basierten Messwert für die Kursbewertung mithilfe einer Vorlage oder von Grund auf anpassen. Sie können auch einen benutzerdefinierten berechnungsbasierten Messwert für die Flugbahnbewertung definieren.
Ergebnisse ansehen und interpretieren
Bei der Flugbahnbewertung oder der Bewertung der endgültigen Antwort werden die Bewertungsergebnisse so angezeigt:
Die Bewertungsergebnisse enthalten die folgenden Informationen:
Messwerte für die endgültige Antwort
Ergebnisse auf Instanzebene
Spalte | Beschreibung |
---|---|
Antwort | Die vom Kundenservicemitarbeiter generierte endgültige Antwort. |
latency_in_seconds | Zeit, die zum Generieren der Antwort benötigt wurde. |
Fehler | Gibt an, ob eine gültige Antwort generiert wurde oder nicht. |
Punktzahl | Eine Bewertung, die für die in der Messwertspezifikation angegebene Antwort berechnet wird. |
Erklärung | Die Erläuterung für die in der Messwertspezifikation angegebene Bewertung. |
Zusammengefasste Ergebnisse
Spalte | Beschreibung |
---|---|
Mittel | Durchschnittliche Punktzahl für alle Instanzen. |
Standardabweichung | Standardabweichung aller Punktzahlen. |
Messwerte zur Flugbahn
Ergebnisse auf Instanzebene
Spalte | Beschreibung |
---|---|
predicted_trajectory | Abfolge von Toolaufrufen, die vom Kundenservicemitarbeiter ausgeführt werden, um die endgültige Antwort zu erhalten. |
reference_trajectory | Abfolge der erwarteten Toolaufrufe. |
Punktzahl | Eine Bewertung, die für die prognostizierte Flugbahn und die in der Messwertspezifikation angegebene Referenzflugbahn berechnet wird. |
latency_in_seconds | Zeit, die zum Generieren der Antwort benötigt wurde. |
Fehler | Gibt an, ob eine gültige Antwort generiert wurde oder nicht. |
Zusammengefasste Ergebnisse
Spalte | Beschreibung |
---|---|
Mittel | Durchschnittliche Punktzahl für alle Instanzen. |
Standardabweichung | Standardabweichung aller Punktzahlen. |
Nächste Schritte
Probieren Sie die folgenden Notebooks zur Bewertung von Kundenservicemitarbeitern aus:
Langchain-Kundenservicemitarbeiter mit Reasoning Engine bewerten
CrewAI-Kundenservicemitarbeiter mit Reasoning Engine bewerten