メインコンテンツへスキップ
weave / LLM LLM の Call です。gen_ai.* 属性を持つ chat span を生成します。 weave.startLLM() (または turn.startLLM()) で作成され、 end() で終了します。async コンテキストごとに一度にアクティブにできる LLM は 1 つだけです。startTool / startSubagent を使用して、その配下に tool/subagent の Call をネストしてください。 inputMessages / outputMessages / usage / reasoning には、値を直接設定するか、 ヘルパー関数 (outputthinkattachMediarecord) を使用して設定します。 記録されたすべてのデータは、end() 時に span にフラッシュされます。 Example
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();
}

階層

  • SpanBase LLM

目次

プロパティ

メソッド

プロパティ

inputMessages

inputMessages: Message[] = [] モデルに送信される入力メッセージです。end() の際に gen_ai.input.messages に書き出されます。

定義元

src/genai/llm.ts:79

model

Readonly model: string

定義元

src/genai/llm.ts:97

outputMessages

outputMessages: Message[] = [] モデルから返されるアシスタント メッセージです。end() の呼び出し時に gen_ai.output.messages にフラッシュされます。

定義元

src/genai/llm.ts:84

providerName

Readonly providerName: string

定義元

src/genai/llm.ts:98

reasoning

Optional reasoning: Reasoning 推論の内容です。シリアル化時に、ReasoningPart として最後の assistant メッセージに組み込まれます。

定義元

src/genai/llm.ts:91

usage

usage: Usage = {} トークン数とキャッシュの統計情報。end()gen_ai.usage.* にフラッシュされます。

定義元

src/genai/llm.ts:86

メソッド

addEvent

addEvent(name, attributes?, startTime?): this 名前付きのイベントを span に追加します。コンテキストの圧縮、 tool ループの検出、guardrail のトリガーなど、span 以外の時点を 記録するのに便利です。end() の後に呼び出すと警告が表示され、 no-op になります。OTel の Span.addEvent に対応しています。

パラメーター

タイプ
namestring
attributes?Attributes
startTime?TimeInput

戻り値

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

継承元

SpanBase.addEvent

定義元

src/genai/spanBase.ts:77

attachMedia

attachMedia(opts): this 最後の入力メッセージにメディアパートを追加します。content (インラインの base64 エンコード済みバイト列) 、uri (URI reference) 、または fileId (事前にアップロードされた file ID) のうち、指定できるのは 1 つだけです。

パラメーター

タイプ
optsAttachMediaOpts

戻り値

this

定義元

src/genai/llm.ts:170

attachMediaUrl

attachMediaUrl(url, opts): this attachMedia({uri, modality}) の便利なショートカットです。

パラメーター

タイプ
urlstring
optsObject
opts.modalityModality

戻り値

this

定義元

src/genai/llm.ts:188

end

end(opts?): void 蓄積された状態をフラッシュして span を閉じます。冪等です。span を失敗としてマークするには、error を渡します。終了時刻を過去にさかのぼって設定するには、endTime を渡します。

パラメーター

タイプ
opts?SpanEndOptions

戻り値

void

定義元

src/genai/llm.ts:245

output

output(content): this レスポンスにアシスタント メッセージを追加します。

パラメーター

タイプ
contentstring

戻り値

this

定義元

src/genai/llm.ts:143

record

record(opts): this 変更可能なフィールドの任意の部分集合を一括で設定します。マージではなく、置き換えです。 プロバイダの呼び出し結果が返された後に、すべてをまとめて設定する場合に便利です。

パラメーター

タイプ
optsLLMRecordOpts

戻り値

this

定義元

src/genai/llm.ts:199

setAttributes

setAttributes(attributes): this spanに複数の属性をまとめて設定します。end() の後に呼び出すと、警告が表示され、何も行われません。 OTel の Span.setAttributes (および Python SDK の set_attributes) に対応しています。

パラメーター

タイプ
attributesAttributes

戻り値

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

継承元

SpanBase.setAttributes

定義元

src/genai/spanBase.ts:63

startSubagent

startSubagent(opts): SubAgent この LLM の配下にネストされた子 SubAgent spanを開始します。

パラメーター

タイプ
optsSubAgentInit

戻り値

SubAgent

定義元

src/genai/llm.ts:232

startTool

startTool(opts): Tool この LLM の子としてネストされた Tool span を開始します。

パラメーター

タイプ
optsToolInit

戻り値

Tool

定義元

src/genai/llm.ts:223

think

think(content): this モデルの推論/chain-of-thought の内容を設定または追加します。内容は this.reasoning.content に蓄積され、シリアル化時に ReasoningPart として最後のアシスタント メッセージに組み込まれます。これは Python SDK の on-the-wire 形式と一致します。

パラメーター

タイプ
contentstring

戻り値

this

定義元

src/genai/llm.ts:155

create

create(opts): LLM

パラメーター

タイプ
optsLLMInit & ChildSpanContext

戻り値

LLM

定義元

src/genai/llm.ts:103