메인 콘텐츠로 건너뛰기
weave / LLM LLM Call입니다. gen_ai.* 속성이 포함된 chat span을 생성합니다. weave.startLLM()(또는 turn.startLLM())로 생성하며, end()로 종료합니다. 비동기 컨텍스트에서는 한 번에 하나의 LLM만 활성 상태일 수 있으므로, 도구/하위 에이전트 Call은 startTool / startSubagent를 사용해 그 아래에 중첩하세요. inputMessages / outputMessages / usage / reasoning은 직접 채우거나, 헬퍼 함수(output, think, attachMedia, record)를 사용해 채울 수 있습니다. 기록된 모든 데이터는 end()에서 span으로 플러시됩니다. 예시
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();
}

목차

속성

메서드

속성

inputMessages

inputMessages: Message[] = [] 모델에 전송되는 입력 메시지입니다. end()를 호출하면 gen_ai.input.messages로 플러시됩니다.

정의된 위치

genai/llm.ts:78

model

Readonly model: string

정의된 위치

genai/llm.ts:98

outputMessages

outputMessages: Message[] = [] 모델이 반환한 어시스턴트 메시지입니다. end()가 호출되면 gen_ai.output.messages로 플러시됩니다.

정의된 위치

genai/llm.ts:83

providerName

Readonly providerName: string

정의된 위치

genai/llm.ts:99

reasoning

선택 reasoning: Reasoning 추론 콘텐츠입니다. 직렬화 시 마지막 assistant 메시지에 ReasoningPart로 병합됩니다.

정의된 위치

genai/llm.ts:90

usage

usage: Usage = {} 토큰 수와 캐시 통계입니다. end()가 호출되면 gen_ai.usage.*로 플러시됩니다.

정의된 위치

genai/llm.ts:85

메서드

attachMedia

attachMedia(opts): this 마지막 입력 메시지에 미디어 파트를 첨부합니다. content(인라인 base64 바이트), uri(URI 레퍼런스), 또는 fileId (미리 업로드한 파일 ID) 중 정확히 하나를 선택하세요.

매개변수

이름유형
optsAttachMediaOpts

반환값

this

정의된 위치

genai/llm.ts:168

attachMediaUrl

attachMediaUrl(url, opts): this attachMedia({uri, modality})를 간편하게 호출하는 메서드입니다.

매개변수

이름유형
urlstring
optsObject
opts.modalityModality

반환값

this

정의된 위치

genai/llm.ts:186

end

end(opts?): void 누적된 상태를 span에 플러시한 후 닫습니다. 멱등적입니다. span을 실패로 표시하려면 error를 전달하세요.

매개변수

이름유형
opts?Object
opts.error?Error

반환값

void

정의된 위치

genai/llm.ts:246

출력

output(content): this 응답에 assistant 메시지를 추가합니다.

매개변수

이름유형
contentstring

반환값

this

정의된 위치

genai/llm.ts:141

record

record(opts): this 변경 가능한 필드의 일부 또는 전체를 일괄 설정합니다. 병합하지 않고 덮어씁니다. 공급자 호출이 반환된 후 모든 값을 한 번에 부여할 때 유용합니다.

매개변수

이름유형
optsLLMRecordOpts

반환값

this

정의된 위치

genai/llm.ts:197

startSubagent

startSubagent(opts): SubAgent 이 LLM에 중첩된 하위 SubAgent span을 시작합니다.

매개변수

이름유형
optsSubAgentInit

반환값

SubAgent

정의된 위치

genai/llm.ts:230

startTool

startTool(opts): Tool 이 LLM 내에 중첩된 하위 Tool span을 시작합니다.

매개변수

이름유형
optsToolInit

반환값

Tool

정의된 위치

genai/llm.ts:221

think

think(content): this 모델의 추론/사고 과정 내용을 설정하거나 확장합니다. this.reasoning.content에 누적됩니다. 직렬화 시 마지막 assistant 메시지에 ReasoningPart로 합쳐지며, Python SDK의 on-the-wire 형식과 일치합니다.

매개변수

이름유형
contentstring

반환값

this

정의된 위치

genai/llm.ts:153

create

create(opts): LLM

매개변수

이름유형
optsLLMInit & ChildSpanContext

반환값

LLM

정의된 위치

genai/llm.ts:102