Passer au contenu principal
weave / LLM 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/sous-agent sous celui-ci via startTool / startSubagent. Renseignez directement inputMessages / outputMessages / usage / reasoning, ou utilisez les fonctions utilitaires (output, think, attachMedia, record). Toutes les données enregistrées sont vidées vers le span lors de end(). Exemple
const  = weave.startLLM({: 'gpt-4o-mini', : 'openai'});
try {
  .inputMessages = [{: 'user', : prompt}];
  const  = await openai.chat.completions.create({...});
  .output(.choices[0].message.content ?? '');
  .record({: {: .usage?.prompt_tokens}});
} finally {
  .end();
}

Hiérarchie

  • SpanBase LLM

Table des matières

Propriétés

Méthodes

Propriétés

inputMessages

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

Défini dans

src/genai/llm.ts:79

model

Readonly model: string

Défini dans

src/genai/llm.ts:97

outputMessages

outputMessages: Message[] = [] Messages de l’assistant renvoyés par le modèle. Vidés dans gen_ai.output.messages lors de end().

Défini dans

src/genai/llm.ts:84

providerName

Readonly providerName: string

Défini dans

src/genai/llm.ts:98

reasoning

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

Défini dans

src/genai/llm.ts:91

usage

usage: Usage = {} Nombre de jetons et statistiques du cache. Vidés vers gen_ai.usage.* lors de l’appel à end().

Défini dans

src/genai/llm.ts:86

Méthodes

addEvent

addEvent(name, attributes?, startTime?): this Ajoute un event nommé au span. Utile pour marquer des moments qui ne correspondent pas à des spans, comme la compaction du contexte, la détection de boucles d’outil ou le déclenchement de guardrails. Émet un avertissement et ne fait rien après end(). Reprend le comportement de OTel Span.addEvent.

Paramètres

NomType
namestring
attributes?Attributes
startTime?TimeInput

Renvoie

this Exemple
span.addEvent('context_compacted', {: 12});

Hérité de

SpanBase.addEvent

Défini dans

src/genai/spanBase.ts:77

attachMedia

attachMedia(opts): this Ajoute un élément multimédia au dernier message d’entrée. Choisissez exactement l’un des éléments suivants : content (octets base64 intégrés), uri (référence URI) ou fileId (identifiant de fichier téléversé au préalable).

Paramètres

NomType
optsAttachMediaOpts

Renvoie

this

Défini dans

src/genai/llm.ts:170

attachMediaUrl

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

Paramètres

NomType
urlstring
optsObject
opts.modalityModality

Renvoie

this

Défini dans

src/genai/llm.ts:188

end

end(opts?): void Effectue le vidage de l’état accumulé et ferme le span. Cette opération est idempotente. Passez error pour marquer le span comme en échec ; passez endTime pour antidater la fermeture.

Paramètres

NomType
opts?SpanEndOptions

Renvoie

void

Défini dans

src/genai/llm.ts:245

output

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

Paramètres

NomType
contentstring

Renvoie

this

Défini dans

src/genai/llm.ts:143

record

record(opts): this Définit en une seule opération n’importe quel sous-ensemble des champs modifiables. Remplace (sans fusionner). Utile pour tout attribuer d’un coup après le retour d’un appel au provider.

Paramètres

NomType
optsLLMRecordOpts

Renvoie

this

Défini dans

src/genai/llm.ts:199

setAttributes

setAttributes(attributes): this Définit plusieurs attributs sur le span en une seule fois. Émet un avertissement puis n’a aucun effet après end(). Reflète le comportement de Span.setAttributes d’OTel (et de set_attributes du SDK Python).

Paramètres

NomType
attributesAttributes

Renvoie

this Example
span.setAttributes({'weave.tag': 'prod', 'gen_ai.response.id': id});

Hérité de

SpanBase.setAttributes

Défini dans

src/genai/spanBase.ts:63

startSubagent

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

Paramètres

NomType
optsSubAgentInit

Renvoie

SubAgent

Défini dans

src/genai/llm.ts:232

startTool

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

Paramètres

NomType
optsToolInit

Renvoie

Tool

Défini dans

src/genai/llm.ts:223

think

think(content): this Définit ou enrichit le contenu de raisonnement ou de chaîne de pensée du modèle. S’accumule dans this.reasoning.content. Est fusionné dans le dernier message de l’assistant sous forme de ReasoningPart au moment de la sérialisation, conformément au format transmis par le SDK Python.

Paramètres

NomType
contentstring

Renvoie

this

Défini dans

src/genai/llm.ts:155

create

create(opts): LLM

Paramètres

NomType
optsLLMInit & ChildSpanContext

Renvoie

LLM

Défini dans

src/genai/llm.ts:103