Studio d'évaluation pour les applications d'IA agentique

Vous pouvez utiliser Evaluation Studio pour comparer les évaluations d'une application d'IA.

Considérons le scénario suivant :

  1. Vous créez une application d'IA agentique adaptée à votre cas d'utilisation.
  2. Vous évaluez l'application à l'aide d'un ensemble défini de données de test.
  3. Sur la base des résultats, vous identifiez les domaines à améliorer et apportez des modifications à l'application.
  4. Vous réexécutez l'évaluation pour voir comment les modifications affectent les résultats.
  5. Les étapes 2 à 4 sont répétées plusieurs fois dans le cadre du processus de développement itératif.

Vous souhaitez maintenant comparer les résultats des évaluations afin d'identifier la version de l'application la plus performante en fonction de critères clés.

Evaluation Studio for Agentic AI Applications vous aide à rationaliser ce processus en vous permettant de.. :

  • Suivre et gérer plusieurs cycles d'évaluation.
  • Visualiser et comparer les mesures entre les itérations
  • Identifier la version la plus efficace de votre application d'IA en fonction des résultats de l'évaluation.

Termes clés

Expérience d'IA
Un type d'actif qui stocke les mesures évaluées pour différentes exécutions d'une application d'IA agentique donnée.
L'expérience de l'IA se poursuit
Évaluation d'une application d'IA agentique à l'aide de données de test.
Évaluation de l'IA
Un type d'actif utilisé pour comparer les résultats de différentes expériences.

Exigences

Vous pouvez comparer des ressources d'IA dans Evaluation Studio si vous remplissez les conditions suivantes :

Rôles requis

Pour utiliser Evaluation Studio, vous devez avoir le rôle d' administrateur ou d' éditeur pour votre projet dans watsonx.governance. Il se peut que vous deviez vous voir attribuer le rôle d' administrateur pour votre instance. Pour plus d'informations sur les rôles, voir Gestion des utilisateurs pour le service Watson OpenScale dans la documentation IBM Software Hub.

Suivi des expériences pour une application d'IA agentique

Tout d'abord, activez le suivi des expériences dans le carnet qui a créé l'application Agentic AI. (Voir l' exemple de carnet de notes ).

Ajoutez le code suivant :

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
)

Le drapeau use_existing vous permet d'utiliser une expérience d'IA qui existe déjà et qui porte le même nom.

Ensuite, déclenchez une expérience pour évaluer l'application en utilisant le code suivant :

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()

Lorsque vous lancez une expérience, vous pouvez fournir un nom, une description et des balises personnalisées afin d'obtenir des informations supplémentaires sur l'évaluation.

Lorsque le cycle d'expérimentation est créé, l'application est exécutée avec les données de test. Vous pouvez invoquer l'application plusieurs fois au cours d'une même expérience.

Lorsque l'expérience est terminée, la méthode end_run calcule les mesures que vous avez configurées au niveau de l'application et des nœuds. Les métriques sont stockées par rapport à l'exécution.

Vous pouvez analyser les résultats d'une expérience, apporter des modifications à l'application et la réévaluer en déclenchant une nouvelle expérience.

Comparaison de l'exécution des expériences à l'aide du Studio d'évaluation

Vous pouvez comparer les résultats de plusieurs exécutions à l'aide d'Evaluation Studio. Vous pouvez créer la ressource d'évaluation de l'IA à partir de l'interface utilisateur ou d'un carnet de notes.

Depuis l'interface utilisateur

  1. Allez dans Projet->Actifs, puis cliquez sur Évaluer et comparer les actifs AI.

  2. Cliquez sur Expérience AI.

    Tuile d'expérimentation de l'IA

  3. Sélectionnez les séries d'expériences que vous souhaitez comparer, puis cliquez sur Créer.

    Une liste de séries d'expériences dont plusieurs ont été sélectionnées à des fins de comparaison

Un graphique montre la comparaison des mesures pour les cycles d'expérimentation.

La page affiche un diagramme à barres groupées. Chaque groupe représente une métrique. Les résultats de chaque série sont présentés dans les groupes.

A partir d'un carnet de notes

Vous pouvez utiliser le code suivant pour comparer les séries d'expériences :

# 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)
)

Vous pouvez également comparer des séries d'expériences appartenant à des ressources d'expériences d'IA différentes.

# 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]
)

Le résultat de cette méthode est un lien vers l'interface utilisateur du studio d'évaluation où vous pouvez visualiser et comparer les mesures pour les expériences sélectionnées.

Analyser les résultats et configurer les séries d'expériences dans les évaluations de l'IA

Le panneau de gauche montre l'application Agentic et la liste des outils (nœuds) qu'elle utilise. La page des résultats s'affiche. Le premier panneau, intitulé "App et outils", montre une application agentique et les outils qu'elle utilise. Les éléments peuvent être sélectionnés. Le deuxième panneau, intitulé Comparaison des mesures, présente un diagramme à barres groupées et un tableau dont les lignes sont constituées de séries et les colonnes de mesures.

Par défaut, les résultats montrent les mesures au niveau de l'application, telles que le coût d'interaction, la latence, etc.

Pour afficher les métriques d'un nœud spécifique, cliquez sur le nom du nœud dans le panneau de gauche. Les mesures de ce nœud pour toutes les exécutions sont affichées. Si le nœud n'a pas été évalué dans certaines des exécutions, le tableau affiche des lignes vides pour ces exécutions.

La page des résultats s'affiche. Un seul nœud de l'application agentique est sélectionné. Le graphique et le tableau montrent les résultats pour le nœud.

Pour attribuer des pondérations à des mesures spécifiques et classer les séries en fonction des notes obtenues pour les mesures sélectionnées, utilisez l'option Classement personnalisé. La page Classement personnalisé s'affiche. Cette page vous permet de sélectionner des indicateurs, de définir des facteurs de pondération pour ces indicateurs et de saisir une formule de classement.

Pour afficher ou masquer les séries d'expériences dans le graphique et le tableau des résultats, cliquez sur Edit Assets Editer les actifs. Le menu Edit Assets est ouvert. Le menu affiche une liste d'exécutions. Les séries sélectionnées sont reflétées dans le graphique et le tableau.

Pour ajouter ou supprimer des séries d'expériences de l'assortiment d'évaluation de l'IA, cliquez sur Modifier les séries. La page Edit Runs s'affiche. Une liste présente les expériences d'IA et les exécutions effectuées dans le cadre de chacune d'entre elles. Il est possible de sélectionner les expériences et les exécutions de l'IA.