Evaluation Studio für Agentic AI-Anwendungen
Sie können Evaluation Studio verwenden, um Bewertungen einer AI-Anwendung zu vergleichen.
Stellen Sie sich das folgende Szenario vor:
- Sie erstellen eine agentenbasierte KI-Anwendung, die auf Ihren Anwendungsfall zugeschnitten ist.
- Sie evaluieren die Anwendung anhand eines definierten Satzes von Testdaten.
- Auf der Grundlage der Ergebnisse ermitteln Sie verbesserungswürdige Bereiche und nehmen Änderungen an der Anwendung vor.
- Sie führen die Auswertung erneut durch, um zu sehen, wie sich die Änderungen auf die Ergebnisse auswirken.
- Im Rahmen des iterativen Entwicklungsprozesses wiederholen Sie die Schritte 2-4 mehrmals.
Nun wollen Sie die Ergebnisse der Bewertungen vergleichen, um die Version der Anwendung zu ermitteln, die nach den wichtigsten Kriterien am besten abschneidet.
Evaluation Studio for Agentic AI Applications hilft Ihnen, diesen Prozess zu rationalisieren, indem es Ihnen ermöglicht,:
- Verfolgen und verwalten Sie mehrere Bewertungsläufe.
- Visualisierung und Vergleich von Metriken über Iterationen hinweg
- Ermitteln Sie die effektivste Version Ihrer KI-Anwendung auf der Grundlage der Bewertungsergebnisse.
Schlüsselbegriffe
- KI-Experiment
- Ein Asset-Typ, der bewertete Metriken für verschiedene Läufe einer bestimmten Agentic AI-Anwendung speichert.
- AI-Experiment läuft
- Eine Bewertung einer agentenbasierten KI-Anwendung mit einigen Testdaten.
- AI-Auswertung
- Ein Asset-Typ, der zum Vergleich von Ergebnissen aus verschiedenen Versuchsläufen verwendet wird.
Anforderungen
Sie können AI-Assets in Evaluation Studio vergleichen, wenn Sie die folgenden Voraussetzungen erfüllen:
Erforderliche Rollen
Um Evaluation Studio nutzen zu können, müssen Sie in watsonx.governance die Rollen Admin oder Editor für Ihr Projekt zugewiesen bekommen. Möglicherweise muss Ihnen die Rolle Admin für Ihre Instanz zugewiesen werden. Weitere Informationen zu Rollen finden Sie unter Verwalten von Benutzern für den Dienst Watson OpenScale in der Dokumentation IBM Software Hub.
Experimentverfolgung für eine agentenbasierte KI-Anwendung
Aktivieren Sie zunächst die Experimentverfolgung in dem Notebook, mit dem die Agentic AI-Anwendung erstellt wurde. (Siehe das Beispiel-Notizbuch ).
Fügen Sie den folgenden Code hinzu:
import os
from ibm_watsonx_gov.clients.api_client import APIClient
from ibm_watsonx_gov.credentials import Credentials
from ibm_watsonx_gov.evaluators.agentic_evaluator import AgenticEvaluator
from ibm_watsonx_gov.config.agentic_ai_configuration import TracingConfiguration
# Set the required environment variables. For more details, please refer https://ibm.github.io/ibm-watsonx-gov/setup_wx_gov.html
os.environ["WATSONX_URL"] = "..."
os.environ["WATSONX_APIKEY"] = "..."
os.environ["WATSONX_USERNAME"] = "..."
os.environ["WATSONX_VERSION"] = "..."
# One of either WATSONX_APIKEY or WATSONX_PASSWORD can be used.
# os.environ["WATSONX_PASSWORD"] = "..."
# Initialize the API client with credentials
credentials = Credentials(url=WATSONX_URL,
api_key=WATSONX_APIKEY,
username=WATSONX_USERNAME,
version=WATSONX_VERSION)
api_client = APIClient(credentials=credentials)
# Create the instance of Agentic evaluator
evaluator = AgenticEvaluator(api_client=api_client, tracing_configuration=TracingConfiguration(project_id={project_id}))
ai_experiment_id = evaluator.track_experiment(
name="AI experiment for Agentic application",
use_existing=True
)
Mit dem Kennzeichen use_existing können Sie ein bereits vorhandenes KI-Experiment mit demselben Namen verwenden.
Lösen Sie anschließend einen Experimentierlauf aus, um die Anwendung mit Hilfe des folgenden Codes zu bewerten:
name = "run_1"
description = "Experiment run 1"
custom_tags = [
{
"key": "entity",
"value": "Finance"
},
{
"key": "output",
"value": "unstructured text"
},
{
"key": "use_case",
"value": "Banking"
},
]
run_request = AIExperimentRunRequest(
name=name,
description=description,
custom_tags=custom_tags
)
run_details = evaluator.start_run(run_request)
# Invoke the application
result = app.batch(inputs=question_bank_df.to_dict("records"))
evaluator.end_run()
result = evaluator.get_result()
Wenn Sie einen Experimentdurchlauf starten, können Sie einen Namen, eine Beschreibung und benutzerdefinierte Tags angeben, um zusätzlichen Kontext zur Auswertung zu erfassen.
Bei der Erstellung des Versuchslaufs wird die Anwendung mit den Testdaten ausgeführt. Sie können die Anwendung innerhalb desselben Experiments mehrfach aufrufen.
Wenn das Experiment abgeschlossen ist, berechnet die Methode end_run die Metriken, die Sie auf Anwendungs- und Knotenebene konfiguriert haben. Die Metriken werden für den Lauf gespeichert.
Sie können die Ergebnisse eines Versuchsdurchlaufs analysieren, einige Änderungen in der Anwendung vornehmen und sie erneut auswerten, indem Sie einen neuen Versuchsdurchlauf auslösen.
Vergleich von Experimentdurchläufen mit Hilfe von Evaluation Studio
Sie können die Ergebnisse verschiedener Läufe mit Hilfe von Evaluation Studio vergleichen. Sie können das AI-Auswertungs-Asset entweder über die Benutzeroberfläche oder über ein Notizbuch erstellen.
Von der UI
Gehen Sie zu Projekt->Asset und klicken Sie dann auf AI-Assets auswerten und vergleichen.
Klicken Sie auf AI-Experiment.

Wählen Sie die Experimentierläufe aus, die Sie vergleichen möchten, und klicken Sie dann auf Erstellen.

Ein Diagramm zeigt, wie die Metriken für die Versuchsläufe verglichen werden.

Aus einem Notizbuch
Sie können den folgenden Code verwenden, um Experimentläufe zu vergleichen:
# Compare all the runs of given AI experiment
ai_experiment = AIExperiment(
asset_id = ai_experiment_id
)
ai_evaluation_name = "AI evaluation to compare Banking experiments"
evaluator.compare_ai_experiments(
ai_experiments = [ai_experiment],
ai_evaluation_details = AIEvaluationAsset(name=ai_evaluation_name)
)
Sie können auch Experimentläufe vergleichen, die zu verschiedenen KI-Experiment-Assets gehören.
# Select all runs from 1st experiment for comparison
ai_experiment1 = AIExperiment(
asset_id = ai_experiment_id
)
# Select specific runs from 2nd experiment for comparison
ai_experiment2 = AIExperiment(
asset_id = ai_experiment_id_1,
runs = [<Run1 details>, <Run2 details>] # Run details are returned by the start_run method
)
evaluator.compare_ai_experiments(
ai_experiments = [ai_experiment1, ai_experiment2]
)
Die Ausgabe dieser Methode ist ein Link zur Evaluation Studio UI, auf der Sie die Metriken für die von Ihnen ausgewählten Versuchsläufe visualisieren und vergleichen können.
Analyse der Ergebnisse und Konfiguration von Versuchsläufen in KI-Auswertungen
Das linke Feld zeigt die Agentic-Anwendung und eine Liste der Tools (Knoten), die sie verwendet. 
Standardmäßig werden die Ergebnisse auf Anwendungsebene angezeigt, z. B. die Interaktionskosten, die Latenzzeit und so weiter.
Um Metriken für einen bestimmten Knoten anzuzeigen, klicken Sie im linken Bereich auf den Knotennamen. Die Metriken für diesen Knoten werden für alle Läufe angezeigt. Wenn der Knoten in einigen der Läufe nicht ausgewertet wurde, zeigt die Tabelle für diese Läufe leere Zeilen.

Wenn Sie bestimmten Metriken Gewichtungen zuweisen und die Läufe auf der Grundlage der Bewertungen für die ausgewählten Metriken einstufen möchten, verwenden Sie die Option Benutzerdefinierte Einstufung. 
Klicken Sie auf die Schaltfläche Assets bearbeiten
, um Experimentläufe in der Ergebnisgrafik und -tabelle ein- oder auszublenden. 
Klicken Sie auf " Läufe bearbeiten", um der AI-Auswertungsgruppe Experimentläufe hinzuzufügen oder zu entfernen. 