Aller au contenu principal

Get start: MLflow Tracing pour GenAI (Notebook Databricks)

Ouvrir dans Databricks

Ce guide de démarrage rapide vous aide à intégrer votre application GenAI à MLflow Tracing si vous utilisez un Notebook Databricks comme environnement de développement. Si vous utilisez un IDE local, veuillez plutôt utiliser le guide de démarrage rapide de l'IDE.

À la fin de ce didacticiel, vous aurez :

  • Un Notebook Databricks avec une expérimentation MLflow liée pour votre application GenAI
  • Une simple application GenAI instrumentée avec MLflow Tracing
  • Une trace de cette application dans votre expérimentation MLflow

Interface utilisateur de traçage pour le tutoriel de démarrage rapide

Configuration de l'environnement

  1. Créez un nouveau notebook dans votre workspace Databricks. Le Notebook aura une expérimentation MLflow par default qui sera le conteneur de votre application GenAI. En savoir plus sur les expérimentations MLflow dans la section des concepts MLflow.

  2. Installez les packages requis :

    • mlflow[databricks]Utilisez la dernière version de MLflow pour obtenir davantage de fonctionnalités et d'améliorations.
    • openai: Ce tutoriel utilisera le client API OpenAI pour appeler les modèles hébergés par Databricks.
Python
%pip install -qq --upgrade "mlflow[databricks]>=3.1.0" openai
dbutils.library.restartPython()

Étape 1 : Instrumentez votre application avec le traçage.

Les extraits de code ci-dessous définissent une application GenAI simple qui complète des Template de phrases à l'aide d'un LLM.

Commencez par créer un client OpenAI pour vous connecter aux modèles de fondation hébergés par Databricks:

Python
from databricks_openai import DatabricksOpenAI

# Create an OpenAI client that is connected to Databricks-hosted LLMs
client = DatabricksOpenAI()

model_name = "databricks-claude-sonnet-4"

Alternativement, vous pouvez utiliser le SDK OpenAI pour vous connecter aux modèles hébergés par OpenAI :

Python
import openai

# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured

client = openai.OpenAI()

model_name = "gpt-4o-mini"

Deuxièmement, définissez et exécutez votre application. L'instrumentation de l'application avec le traçage utilise simplement :

  • mlflow.openai.autolog(): Instrumentation automatique pour capturer les détails de l'appel au SDK OpenAI
  • @mlflow.trace: Décorateur qui facilite le traçage de toute fonction Python
Python
import mlflow
import os

# Enable auto-tracing for OpenAI
mlflow.openai.autolog()

# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/tracing-quickstart")

# Use the trace decorator to capture the application's entry point
@mlflow.trace
def my_app(input: str):
# This call is automatically instrumented by `mlflow.openai.autolog()`
response = client.chat.completions.create(
model=model_name,
temperature=0.1,
max_tokens=200,
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": input,
},
]
)
return response.choices[0].message.content

result = my_app(input="What is MLflow?")
print(result)

Pour plus de détails sur l'ajout de traçage aux applications, consultez le guide d'instrumentation du traçage et les plus de 20 intégrations de bibliothèques.

Étape 2 : Afficher la trace dans MLflow

La trace apparaîtra sous la cellule du notebook.

Interface utilisateur de traçage du Notebook

Optionnellement, vous pouvez accéder à l’interface utilisateur d’expérimentation MLflow pour voir la trace :

  1. Cliquez sur l'icône Expériences Icône Expérimentations. dans la barre latérale droite.
  2. Cliquez sur l'icône de nouvelle fenêtre Icône de nouvelle fenêtre. à côté des exécutions d'expérimentation.
  3. La trace générée apparaît dans l'onglet tab .
  4. Cliquez sur la trace pour afficher ses détails.

Comprendre la trace

La trace que vous venez de créer indique :

  • Portée racine : représente les entrées de la fonction my_app(...)

    • Child span : Représente la demande de complétion OpenAI.
  • Attributs : Contient des métadonnées telles que le nom du modèle, le nombre de jetons et les informations de synchronisation

  • Entrées : les messages envoyés au modèle

  • Sorties : la réponse reçue du modèle

Cette simple trace fournit déjà des insight précieux sur le comportement de votre application, tels que :

  • Ce qui a été demandé
  • Quelle réponse a été générée
  • Combien de temps la requête a-t-elle pris
  • Nombre de jetons utilisés (impactant le coût)

Pour les applications plus complexes comme les systèmes RAG ou les agents multi-étapes, MLflow Tracing offre encore plus de valeur en révélant le fonctionnement interne de chaque composant et étape.

Étapes suivantes

Exemple de Notebook

Bien démarrer : MLflow Tracing pour GenAI (Databricks Notebook)