Un appel d’API LLM. Correspond à un span OTel de type chat.
LLM est un modèle Pydantic. Vous pouvez définir chacun des champs ci-dessous comme argument nommé lors de sa construction.
LLM est un gestionnaire de contexte et peut être utilisé dans une instruction with.
Champs
Méthodes
output
Ajoute un message de l’assistant à output_messages.
think
Définit le contenu du raisonnement (chaîne de pensée).
Joint un média à cet appel LLM.
Une seule source exactement est requise. Les octets sont encodés en base64 sous forme de blob
GenAI inline. Le contenu de type chaîne doit déjà être encodé en base64. Les URI et les
ID de fichiers du fournisseur sont émis sous forme de parties GenAI de type URI et fichier.
Joint une URL de données ou un URI de média classique à cet appel LLM.
record
Définit plusieurs champs d’appel LLM en un seul appel.
Les agents instrumentés manuellement construisent généralement un span de chat en
attribuant au moins huit champs individuels à la fin d’un appel
LLM (input_messages, output_messages, usage,
response_id, etc.). record(...) les regroupe en un
seul appel à arguments nommés, ce qui garde le code d’enregistrement compact.
Seuls les champs explicitement transmis (autres que None) sont appliqués ;
les valeurs existantes sont conservées. reasoning accepte soit une
instance de Reasoning, soit une simple chaîne de caractères (encapsulée automatiquement).
Renvoie self pour permettre le chaînage.
end
start
Démarre ce span une seule fois ; l’entrée dans le gestionnaire de contexte utilise le même chemin.
record_error
Enregistre un échec sans terminer le span ; appelez end() le moment venu.
set_attributes
Appose des attributs OTel arbitraires sur ce span.
Passez un dict, que vous ayez une seule clé ou plusieurs ; pour une seule clé,
utilisez span.set_attributes({"weave.tag": "value"}). Équivalent de
Span.set_attributes d’OTel.
Doit être appelée après le démarrage du span par une fabrique start_*, par start() ou par with,
et avant sa fin. En dehors de cette fenêtre, l’appel est
sans effet et journalise un avertissement. Pour l’ingestion par lots, renseignez directement les champs déclarés de l’objet
et passez-le à log_turn / log_conversation. Dernière modification le 30 septembre 2026