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 :
- Vous créez une application d'IA agentique adaptée à votre cas d'utilisation.
- Vous évaluez l'application à l'aide d'un ensemble défini de données de test.
- Sur la base des résultats, vous identifiez les domaines à améliorer et apportez des modifications à l'application.
- Vous réexécutez l'évaluation pour voir comment les modifications affectent les résultats.
- 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
Allez dans Projet->Actifs, puis cliquez sur Évaluer et comparer les actifs AI.
Cliquez sur Expérience AI.

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

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

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. 
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.

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é. 
Pour afficher ou masquer les séries d'expériences dans le graphique et le tableau des résultats, cliquez sur Edit Assets
. 
Pour ajouter ou supprimer des séries d'expériences de l'assortiment d'évaluation de l'IA, cliquez sur Modifier les séries. 