Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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 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
- 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 :
- Importez la bibliothèque
weave dans votre code.
- 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.
- 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)
// Importe la bibliothèque Weave
import * as weave from 'weave';
import OpenAI from 'openai';
const openai = new OpenAI();
// Weave suit automatiquement les entrées, les sorties et le code de cette fonction
async function extractDinos(input: string) {
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [
{
role: 'user',
content: `In JSON format extract a list of 'dinosaurs', with their 'name', their 'common_name', and whether its 'diet' is a herbivore or carnivore: ${input}`,
},
],
});
return response.choices[0].message.content;
}
const extractDinosOp = weave.op(extractDinos);
async function main() {
// Initialise Weave et définit l’équipe et le projet où consigner les données
await weave.init('your-team/traces-quickstart');
const result = await extractDinosOp(
'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.'
);
console.log(result);
}
main();
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.
En savoir plus sur les traces
Commencez par évaluer votre application, puis découvrez comment évaluer une application RAG.