Passer au contenu principal
Découvrez comment suivre les appels LLM avec Weave en ajoutant du tracing à votre code. Ce démarrage rapide vous montre comment tracer une requête vers OpenAI et consulter les résultats dans Weave UI.

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

Pour commencer à suivre votre code et à consigner 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, les traces sont envoyées à votre équipe par défaut. Si le projet spécifié n’existe pas dans votre équipe, Weave le crée.
  3. Ajoutez le @weave.op() décorateur aux fonctions spécifiques que vous souhaitez suivre. Bien que Weave suive automatiquement les appels aux LLM pris en charge, l’ajout du décorateur Weave 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 Tracing 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). Exécutez l’exemple de code suivant pour suivre 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 où consigner 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 pour consulter 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

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 une trace pour afficher ses données, notamment son entrée, sa sortie, sa latence et l’utilisation des tokens. Weave Trace Outputs 1

En savoir plus sur les traces

Étapes suivantes

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