À l'issue de cette section, vous aurez découvert

Mise en place du TP

Récupérer la branche de ce TP, utilisez la branche suivante :

git checkout 9_start_agent_traces

Explorer dans le dossier demo le fichier integration_mlflow_agent.py

Il s'agit d'un petit Agent avec lequel nous pouvons intéragir pour obtenir la météo d'une ville, il dispose d'un tool

Runner l'agent

Pour pouvoir utiliser l'agent, il vous faudra mettre en place quelques variables d'environnement :

cp demos/.env.example demos/.env

Puis éditer le fichier .env et remplir le secret AWS_BEARER_TOKEN_BEDROCK avec la valeur fournie par le formateur.

Ensuite, vous pouvez lancer une intéraction avec l'agent en utilisant le code suivant :

uv run python demos/integration_mlflow_agent.py

C'est dans le __main__, tout en bas du fichier qu'est définit la question posée. Le but ici étant de démontrer l'intégration de MLflow, l'intéraction est minimaliste pour limiter le code de démonstration.

Si le modèle n'est plus accessible, il est possible de lister les modèles dispo,ibles avec le script :

uv run demos/list_bedrock_models.py

Nous allons maintenant outiller l'agent avec le système de tracing MLflow.

Demander à MLflow de stocker les traces

Importez MLflow :

import mlflow

Nommer l'expérimentation pour retrouver facilement les traces :

mlflow.set_experiment("agent-demo")

Puis ajouter l'auto log associé à notre fournisseur de modèle bedrock :

mlflow.bedrock.autolog()

Intéragir avec l'agent

Lancer une intéraction avec l'agent en utilisant le code suivant :

uv run python demos/integration_mlflow_agent.py

Éventuellement, faites en quelques autres.

Visualiser les traces

Retourner dans l'interface MLflow et naviguer dans l'onglet GenAI / Experiments

Cliquer sur le nom de l'agent que vous avez choisi et explorer :

Les instructions du tp suivant sont ici