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 :Messages d’entrée envoyés au modèle. Font l’objet d’un vidage dansMessage[] =[]
gen_ai.input.messages lors de
end().
modèle
readonlymodèle:string
outputMessages
outputMessages :Messages de l’assistant renvoyés par le modèle. Font l’objet d’un vidage dansMessage[] =[]
gen_ai.output.messages lors de l’appel à end().
nom du fournisseur
readonlynom du fournisseur :string
raisonnement
Contenu de chaîne de pensée. Intégré au dernier message de l’assistant sous forme de ReasoningPart lors de la sérialisation.facultatifraisonnement :Reasoning
utilisation
utilisation :Nombre de jetons et statistiques du cache. Font l’objet d’un vidage dansUsage={}
gen_ai.usage.* lors de l’appel à end().
Méthodes
addEvent()
addEvent(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èsname,attributes?,startTime?):this
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(Prépare une pièce jointe multimédia pour l’appel LLM. Choisissez exactement l’un des éléments suivants :opts) :this
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
Renvoie
this
attachMediaUrl()
attachMediaUrl(Méthode pratique poururl,opts) :this
attachMedia({uri, modality}).
Paramètres
string
requis
object
requis
Renvoie
this
end()
end(Effectue le vidage de l’état accumulé et ferme le span. Idempotente. Transmettezopts?):void
error pour signaler un échec ; transmettez endTime pour antidater la fermeture.
Paramètres
object
Renvoie
void
output()
output(Ajoute un message de l’assistant à la réponse.content) :this
Paramètres
string
requis
Renvoie
this
record()
record(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.opts) :this
Paramètres
object
requis
Renvoie
this
setAttributes()
setAttributes(Définit plusieurs attributs du span à la fois. Émet un avertissement et ne fait rien aprèsattributes) :this
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(Démarre un span SubAgent enfant imbriqué dans ce LLM.opts) :SubAgent
Paramètres
SubAgentInit
requis
Voir
SubAgentInit.Renvoie
SubAgent
startTool()
startTool(Démarre un span Tool enfant imbriqué dans ce LLM.opts):Tool
Paramètres
Renvoie
Tool
think()
think(Définit ou complète le contenu de raisonnement/chaîne de pensée du modèle. Ce contenu est accumulé danscontent) :this
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