Passer au contenu principal
Découvrez comment suivre les appels LLM avec Weave en ajoutant du traçage à votre code. Ce démarrage rapide vous montre comment tracer une requête vers OpenAI et consulter les résultats dans Weave UI. Il s’adresse aux développeurs qui découvrent Weave et souhaitent instrumenter une application LLM pour le débogage et la surveillance.”

Ce que vous apprendrez

Ce guide vous montre comment :
  • Importer et configurer Weave dans votre code.
  • Utiliser le décorateur weave.op pour suivre l’exécution de votre code.
  • Voir les traces dans Weave UI.

Prérequis

  • Un compte W&B
  • Python 3.10+ ou Node.js 18+
  • Packages requis :
    • Python: pip install weave openai
    • TypeScript: npm install weave openai
  • Une clé API OpenAI configurée comme variable d’environnement.

Enregistrer une trace dans un nouveau projet

Dans cette section, vous instrumentez une petite application afin que Weave puisse enregistrer ses entrées, ses sorties et son code. Pour commencer à suivre votre code et à enregistrer des traces dans Weave :
  1. Importez la bibliothèque weave dans votre code.
  2. Appelez weave.init('your_wb_team/project_name') dans votre code pour envoyer les informations de suivi à votre équipe et à votre projet W&B. Si vous ne définissez pas d’équipe, Weave envoie les traces à votre équipe par défaut. Si le projet indiqué n’existe pas dans votre équipe, Weave le crée.
  3. Ajoutez le décorateur @weave.op() aux fonctions que vous souhaitez suivre. Bien que Weave suive automatiquement les appels aux LLM pris en charge, le décorateur vous permet de suivre les entrées, les sorties et le code de fonctions spécifiques. En TypeScript, le décorateur utilise la syntaxe suivante : weave.op(your_function).
L’exemple de code suivant envoie une requête à OpenAI (nécessite une clé API OpenAI), et Weave enregistre les informations de traçage de la requête. La requête demande au modèle OpenAI d’extraire les noms de dinosaures à partir de l’entrée et d’identifier le régime alimentaire de chaque dinosaure (herbivore ou carnivore). L’exemple de code suivant suit votre premier projet avec Weave :
# Importe la bibliothèque Weave
import weave
from openai import OpenAI

client = OpenAI()

# Weave suit automatiquement les entrées, les sorties et le code de cette fonction
@weave.op()
def extract_dinos(sentence: str) -> dict:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {
                "role": "system",
                "content": """In JSON format extract a list of `dinosaurs`, with their `name`,
their `common_name`, and whether its `diet` is a herbivore or carnivore"""
            },
            {
                "role": "user",
                "content": sentence
            }
            ],
            response_format={ "type": "json_object" }
        )
    return response.choices[0].message.content

# Initialise Weave et définit l'équipe et le projet dans lesquels enregistrer les données
weave.init('your-team/traces-quickstart')

sentence = """I watched as a Tyrannosaurus rex (T. rex) chased after a Triceratops (Trike), \
both carnivore and herbivore locked in an ancient dance. Meanwhile, a gentle giant \
Brachiosaurus (Brachi) calmly munched on treetops, blissfully unaware of the chaos below."""

result = extract_dinos(sentence)
print(result)
Lorsque vous appelez la fonction extract_dinos, Weave affiche dans le terminal des liens qui vous permettent de voir vos traces. La sortie ressemble à ceci :
weave:  $ pip install weave --upgrade
weave: Logged in as Weights & Biases user: example-username.
weave: View Weave data at https://wandb.ai/your-team/traces-quickstart/weave
weave: 🍩 https://wandb.ai/your-team/traces-quickstart/r/call/019ae171-7f32-7c96-8b42-931a32f900b7
{
  "dinosaurs": [
    {
      "name": "Tyrannosaurus rex",
      "common_name": "T. rex",
      "diet": "carnivore"
    },
    {
      "name": "Triceratops",
      "common_name": "Trike",
      "diet": "herbivore"
    },
    {
      "name": "Brachiosaurus",
      "common_name": "Brachi",
      "diet": "herbivore"
    }
  ]
}

Voir les traces de votre application dans votre projet

Maintenant que votre code a produit une trace, vous pouvez l’inspecter dans Weave UI. Cliquez sur le lien affiché dans votre terminal, ou collez-le dans votre navigateur pour ouvrir Weave UI. Dans le panneau Traces de Weave UI, cliquez sur la trace pour afficher ses données, notamment son entrée, sa sortie, sa latence et l’utilisation des tokens. Panneau Traces de Weave UI montrant la trace de la fonction extract_dinos, y compris son entrée, sa sortie, sa latence et l’utilisation des tokens. Vous avez maintenant enregistré et affiché votre première trace Weave.

En savoir plus sur les traces

Étapes suivantes

Commencez par évaluer votre application, puis découvrez comment évaluer une application RAG.