gen_ai.* 属性を持つ chat span を生成します。
weave.startLLM() (または turn.startLLM()) で作成され、
end() で終了します。async コンテキストごとに一度にアクティブにできる LLM は 1 つだけです。startTool / startSubagent を使用して、その配下に
tool/subagent の Call をネストしてください。
inputMessages / outputMessages / usage / reasoning には、値を直接設定するか、
ヘルパー関数 (output、think、attachMedia、record) を使用して設定します。
記録されたすべてのデータは、end() 時に span にフラッシュされます。
Example
階層
-
SpanBase↳LLM
目次
プロパティ
メソッド
- addEvent
- attachMedia
- attachMediaUrl
- end
- output
- record
- setAttributes
- startSubagent
- startTool
- think
- create
プロパティ
inputMessages
Message[] = []
モデルに送信される入力メッセージです。end() の際に
gen_ai.input.messages に書き出されます。
定義元
model
Readonly model: string
定義元
outputMessages
Message[] = []
モデルから返されるアシスタント メッセージです。end() の呼び出し時に
gen_ai.output.messages にフラッシュされます。
定義元
providerName
Readonly providerName: string
定義元
reasoning
Optional reasoning: Reasoning
推論の内容です。シリアル化時に、ReasoningPart として最後の assistant メッセージに組み込まれます。
定義元
usage
Usage = {}
トークン数とキャッシュの統計情報。end() で gen_ai.usage.* にフラッシュされます。
定義元
メソッド
addEvent
name, attributes?, startTime?): this
名前付きのイベントを span に追加します。コンテキストの圧縮、
tool ループの検出、guardrail のトリガーなど、span 以外の時点を
記録するのに便利です。end() の後に呼び出すと警告が表示され、
no-op になります。OTel の Span.addEvent に対応しています。
パラメーター
| 名 | タイプ |
|---|---|
name | string |
attributes? | Attributes |
startTime? | TimeInput |
戻り値
this
例
継承元
定義元
attachMedia
opts): this
最後の入力メッセージにメディアパートを追加します。content (インラインの base64 エンコード済みバイト列) 、uri (URI reference) 、または fileId
(事前にアップロードされた file ID) のうち、指定できるのは 1 つだけです。
パラメーター
| 名 | タイプ |
|---|---|
opts | AttachMediaOpts |
戻り値
this
定義元
attachMediaUrl
url, opts): this
attachMedia({uri, modality}) の便利なショートカットです。
パラメーター
| 名 | タイプ |
|---|---|
url | string |
opts | Object |
opts.modality | Modality |
戻り値
this
定義元
end
opts?): void
蓄積された状態をフラッシュして span を閉じます。冪等です。span を失敗としてマークするには、error を渡します。終了時刻を過去にさかのぼって設定するには、endTime を渡します。
パラメーター
| 名 | タイプ |
|---|---|
opts? | SpanEndOptions |
戻り値
void
定義元
output
content): this
レスポンスにアシスタント メッセージを追加します。
パラメーター
| 名 | タイプ |
|---|---|
content | string |
戻り値
this
定義元
record
opts): this
変更可能なフィールドの任意の部分集合を一括で設定します。マージではなく、置き換えです。
プロバイダの呼び出し結果が返された後に、すべてをまとめて設定する場合に便利です。
パラメーター
| 名 | タイプ |
|---|---|
opts | LLMRecordOpts |
戻り値
this
定義元
setAttributes
attributes): this
spanに複数の属性をまとめて設定します。end() の後に呼び出すと、警告が表示され、何も行われません。
OTel の Span.setAttributes (および Python SDK の
set_attributes) に対応しています。
パラメーター
| 名 | タイプ |
|---|---|
attributes | Attributes |
戻り値
this
例
継承元
定義元
startSubagent
opts): SubAgent
この LLM の配下にネストされた子 SubAgent spanを開始します。
パラメーター
| 名 | タイプ |
|---|---|
opts | SubAgentInit |
戻り値
SubAgent
定義元
startTool
opts): Tool
この LLM の子としてネストされた Tool span を開始します。
パラメーター
| 名 | タイプ |
|---|---|
opts | ToolInit |
戻り値
Tool
定義元
think
content): this
モデルの推論/chain-of-thought の内容を設定または追加します。内容は this.reasoning.content に蓄積され、シリアル化時に ReasoningPart として最後のアシスタント メッセージに組み込まれます。これは Python SDK の on-the-wire 形式と一致します。
パラメーター
| 名 | タイプ |
|---|---|
content | string |
戻り値
this
定義元
create
opts): LLM
パラメーター
| 名 | タイプ |
|---|---|
opts | LLMInit & ChildSpanContext |
戻り値
LLM