Skip to main content
Un appel LLM. Émet un span chat avec des attributs gen_ai.*. Créé par weave.startLLM() (ou turn.startLLM()) et terminé par end(). Un seul LLM peut être actif à la fois dans un contexte asynchrone ; imbriquez les appels d’outil ou de sous-agent en dessous via startTool / startSubagent. Renseignez directement inputMessages / outputMessages / usage / reasoning, ou utilisez les fonctions utilitaires (output, think, attachMedia, record). Toutes les données enregistrées font l’objet d’un vidage dans le span lors de end().

Exemples

Étend

  • SpanBase

Propriétés

inputMessages

inputMessages : Message[] = []
Messages d’entrée envoyés au modèle. Font l’objet d’un vidage dans gen_ai.input.messages lors de end().

modèle

readonly modèle: string

outputMessages

outputMessages : Message[] = []
Messages de l’assistant renvoyés par le modèle. Font l’objet d’un vidage dans gen_ai.output.messages lors de l’appel à end().

nom du fournisseur

readonly nom du fournisseur : string

raisonnement

facultatif raisonnement : Reasoning
Contenu de chaîne de pensée. Intégré au dernier message de l’assistant sous forme de ReasoningPart lors de la sérialisation.

utilisation

utilisation : Usage = {}
Nombre de jetons et statistiques du cache. Font l’objet d’un vidage dans gen_ai.usage.* lors de l’appel à end().

Méthodes

addEvent()

Obsolète. Enregistrez plutôt ces données avec setAttributes. OpenTelemetry abandonne progressivement l’API d’événements de span (Span.addEvent). Cette méthode fonctionne toujours et les données d’événements de span existantes restent valides. Voir https://opentelemetry.io/blog/2026/deprecating-span-events/
addEvent(name, attributes?, startTime?): this
Ajoute un événement nommé au span. Utile pour marquer des moments qui ne correspondent pas à des spans, tels que la compaction du contexte, la détection de boucles d’outils ou le déclenchement de garde-fous. Émet un avertissement et ne fait rien après end(). Reproduit le comportement de Span.addEvent d’OTel.

Paramètres

string
requis
Attributes
TimeInput

Renvoie

this

Exemple

Hérité de

SpanBase.addEvent

attachMedia()

attachMedia(opts) : this
Prépare une pièce jointe multimédia pour l’appel LLM. Choisissez exactement l’un des éléments suivants : content (octets base64 intégrés), uri (référence URI) ou fileId (ID de fichier déjà téléversé). La pièce jointe est ajoutée au dernier message utilisateur d’inputMessages lors de l’appel à end().

Paramètres

{…} | {…} | {…}
requis
Voir Modality, Modality, Modality.Type complet : { content: string; mimeType: string; modality: Modality; } | { modality: Modality; uri: string; } | { fileId: string; mimeType?: string; modality: Modality; }

Renvoie

this

attachMediaUrl()

attachMediaUrl(url, opts) : this
Méthode pratique pour attachMedia({uri, modality}).

Paramètres

string
requis
object
requis

Renvoie

this

end()

end(opts?): void
Effectue le vidage de l’état accumulé et ferme le span. Idempotente. Transmettez error pour signaler un échec ; transmettez endTime pour antidater la fermeture.

Paramètres

object

Renvoie

void

output()

output(content) : this
Ajoute un message de l’assistant à la réponse.

Paramètres

string
requis

Renvoie

this

record()

record(opts) : this
Définit en bloc n’importe quel sous-ensemble des champs modifiables. Remplace les valeurs existantes (sans les fusionner). Utile pour attribuer toutes les valeurs en une seule fois après le retour d’un appel à un fournisseur.

Paramètres

object
requis

Renvoie

this

setAttributes()

setAttributes(attributes) : this
Définit plusieurs attributs du span à la fois. Émet un avertissement et ne fait rien après end(). Correspond à Span.setAttributes d’OTel (ainsi qu’à la méthode set_attributes du SDK Python).

Paramètres

Attributes
requis

Renvoie

this

Exemple

Hérité de

SpanBase.setAttributes

startSubagent()

startSubagent(opts) : SubAgent
Démarre un span SubAgent enfant imbriqué dans ce LLM.

Paramètres

SubAgentInit
requis

Renvoie

SubAgent

startTool()

startTool(opts): Tool
Démarre un span Tool enfant imbriqué dans ce LLM.

Paramètres

ToolInit
requis
Voir ToolInit.

Renvoie

Tool

think()

think(content) : this
Définit ou complète le contenu de raisonnement/chaîne de pensée du modèle. Ce contenu est accumulé dans this.reasoning.content. Lors de la sérialisation, il est intégré au dernier message de l’assistant sous la forme d’un ReasoningPart, conformément au format transmis par le SDK Python.

Paramètres

string
requis

Renvoie

this