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:

  1. Sie erstellen eine agentenbasierte KI-Anwendung, die auf Ihren Anwendungsfall zugeschnitten ist.
  2. Sie evaluieren die Anwendung anhand eines definierten Satzes von Testdaten.
  3. Auf der Grundlage der Ergebnisse ermitteln Sie verbesserungswürdige Bereiche und nehmen Änderungen an der Anwendung vor.
  4. Sie führen die Auswertung erneut durch, um zu sehen, wie sich die Änderungen auf die Ergebnisse auswirken.
  5. 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

  1. Gehen Sie zu Projekt->Asset und klicken Sie dann auf AI-Assets auswerten und vergleichen.

  2. Klicken Sie auf AI-Experiment.

    AI-Experimentierkachel

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

    Eine Liste von Versuchsläufen, von denen einige zum Vergleich ausgewählt wurden

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

Die Seite zeigt ein gruppiertes Balkendiagramm. Jede Gruppe steht für eine Kennzahl. Die Ergebnisse der einzelnen Läufe sind in den Gruppen dargestellt.

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. Die Ergebnisseite wird angezeigt. Das erste Panel mit der Bezeichnung App und Tools zeigt eine agenturische App und die von ihr verwendeten Tools. Die Elemente sind wählbar. Der zweite Bereich mit der Bezeichnung "Metrikvergleich" zeigt ein gruppiertes Balkendiagramm und eine Tabelle mit Läufen in den Zeilen und Metriken in den Spalten.

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.

Die Ergebnisseite wird angezeigt. Ein einzelner Knoten der agenturischen App wird ausgewählt. Das Diagramm und die Tabelle zeigen die Ergebnisse für den Knoten.

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. Die Seite Benutzerdefiniertes Ranking wird angezeigt. Auf dieser Seite können Sie Metriken auswählen, Gewichtungsfaktoren für die Metriken festlegen und eine Rankingformel eingeben.

Klicken Sie auf die Schaltfläche Assets bearbeiten Assets bearbeiten, um Experimentläufe in der Ergebnisgrafik und -tabelle ein- oder auszublenden. Das Menü Assets bearbeiten ist geöffnet. Das Menü zeigt eine Liste der Läufe an. Die ausgewählten Läufe werden im Diagramm und in der Tabelle angezeigt.

Klicken Sie auf " Läufe bearbeiten", um der AI-Auswertungsgruppe Experimentläufe hinzuzufügen oder zu entfernen. Die Seite Läufe bearbeiten wird angezeigt. Eine Liste zeigt die KI-Experimente und die darunter liegenden Läufe. Die KI-Experimente und -Läufe sind wählbar.