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 transférées vers le span lors de end(). Exemple
const llm = weave.startLLM({model: 'gpt-4o-mini', providerName: 'openai'});
try {
  llm.inputMessages = [{role: 'user', content: prompt}];
  const resp = await openai.chat.completions.create({...});
  llm.output(resp.choices[0].message.content ?? '');
  llm.record({usage: {inputTokens: resp.usage?.prompt_tokens}});
} finally {
  llm.end();
}

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

genai/llm.ts:78

model

Readonly model: string

Défini dans

genai/llm.ts:98

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

genai/llm.ts:83

providerName

Readonly providerName: string

Défini dans

genai/llm.ts:99

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

genai/llm.ts:90

usage

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

Défini dans

genai/llm.ts:85

Méthodes

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

genai/llm.ts:168

attachMediaUrl

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

Paramètres

NomType
urlstring
optsObject
opts.modalityModality

Renvoie

this

Défini dans

genai/llm.ts:186

end

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

Paramètres

NomType
opts?Object
opts.error?Error

Renvoie

void

Défini dans

genai/llm.ts:246

output

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

Paramètres

NomType
contentstring

Renvoie

this

Défini dans

genai/llm.ts:141

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

genai/llm.ts:197

startSubagent

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

Paramètres

NomType
optsSubAgentInit

Renvoie

SubAgent

Défini dans

genai/llm.ts:230

startTool

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

Paramètres

NomType
optsToolInit

Renvoie

Tool

Défini dans

genai/llm.ts:221

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

genai/llm.ts:153

create

create(opts): LLM

Paramètres

NomType
optsLLMInit & ChildSpanContext

Renvoie

LLM

Défini dans

genai/llm.ts:102