Skip to main content
LLM Call입니다. gen_ai.* 속성이 포함된 chat span을 생성합니다. weave.startLLM()(또는 turn.startLLM())으로 생성하며, end()로 종료합니다. 비동기 컨텍스트에서는 한 번에 하나의 LLM만 활성화할 수 있습니다. startTool / startSubagent를 사용하여 그 하위에 도구/서브에이전트 Call을 중첩하세요. inputMessages / outputMessages / usage / reasoning을 직접 설정하거나, 도우미 함수(output, think, attachMedia, record)를 사용하세요. 기록된 모든 데이터는 end()에서 span으로 플러시됩니다. 정의 위치: src/genai/llm.ts:86

예시

상속

  • SpanBase

속성

inputMessages

inputMessages: Message[] = []
모델로 전송되는 입력 메시지입니다. end() 호출 시 gen_ai.input.messages로 플러시됩니다. 정의 위치: src/genai/llm.ts:93

모델

readonly 모델: string
정의 위치: src/genai/llm.ts:117

outputMessages

outputMessages: Message[] = []
모델이 반환한 assistant 메시지입니다. end() 호출 시 gen_ai.output.messages로 플러시됩니다. Defined in: src/genai/llm.ts:98

providerName

readonly providerName: string
정의된 위치: src/genai/llm.ts:118

추론

optional 추론: Reasoning
사고 과정 콘텐츠입니다. 직렬화 시 마지막 assistant 메시지에 ReasoningPart로 포함됩니다. 정의된 위치: src/genai/llm.ts:105

사용

사용: Usage = {}
토큰 수와 캐시 통계입니다. end()에서 gen_ai.usage.*로 플러시됩니다. 정의 위치: src/genai/llm.ts:100

메서드

addEvent()

사용 중단. 대신 setAttributes를 사용하여 이 데이터를 기록하세요. OpenTelemetry는 Span Event API(Span.addEvent)를 단계적으로 폐지하고 있습니다. 이 방법은 계속 작동하며 기존 span 이벤트 데이터도 계속 유효합니다. https://opentelemetry.io/blog/2026/deprecating-span-events/을 참조하세요.
addEvent(name, attributes?, startTime?): this
span에 이름이 지정된 이벤트를 추가합니다. 컨텍스트 압축, 도구 루프 감지, 가드레일 트리거와 같은 span 외부 시점을 표시하는 데 유용합니다. end() 후에 호출하면 경고를 표시하고 아무 작업도 수행하지 않습니다. OTel Span.addEvent와 동일하게 작동합니다. 정의 위치: src/genai/spanBase.ts:82

매개변수

이름
string
속성?
속성
startTime?
TimeInput

반환값

this

예시

상속됨

SpanBase.addEvent

attachMedia()

attachMedia(opts): this
LLM Call에 미디어 첨부 파일을 추가할 준비를 합니다. content(인라인 base64 바이트), uri(URI 레퍼런스), fileId (사전 업로드된 파일 ID) 중 정확히 하나를 선택하세요. 첨부 파일은 end() 호출 시 inputMessages의 마지막 사용자 메시지에 추가됩니다. Defined in: src/genai/llm.ts:183

매개변수

opts
AttachMediaOpts

반환값

this

attachMediaUrl()

attachMediaUrl(url, opts): this
attachMedia({uri, modality})를 간편하게 호출합니다. Defined in: src/genai/llm.ts:192

매개변수

url
string
옵션
모달리티
Modality

반환값

this

end()

end(opts?): void
누적된 상태를 플러시하고 span을 종료합니다. 여러 번 호출해도 동일하게 동작합니다. 실패로 표시하려면 error를 전달하고, 종료 시간을 과거로 설정하려면 endTime을 전달합니다. 정의 위치: src/genai/llm.ts:274

매개변수

opts?
SpanEndOptions

반환값

void

output()

output(content): this
응답에 assistant 메시지를 추가합니다. Defined in: src/genai/llm.ts:155

매개변수

콘텐츠
string

반환값

this

record()

record(opts): this
변경 가능한 필드 중 원하는 항목을 일괄 설정합니다. 병합하지 않고 대체합니다. 공급자 호출이 반환된 후 모든 항목을 한 번에 부여할 때 유용합니다. 정의 위치: src/genai/llm.ts:203

매개변수

옵션
종료 사유?
string[]
inputMessages?
Message[]
mediaAttachments?
AttachMediaOpts[]
outputMessages?
Message[]
출력 유형?
string
추론?
Reasoning
responseId?
string
responseModel?
string
사용?
Usage

반환값

this

setAttributes()

setAttributes(attributes): this
span에 여러 속성을 한 번에 설정합니다. end() 호출 후에는 경고를 표시하고 아무 작업도 수행하지 않습니다. OTel Span.setAttributes 및 Python SDK의 set_attributes와 동일하게 동작합니다. 정의 위치: src/genai/spanBase.ts:63

매개변수

속성
Attributes

반환값

this

예시

상속됨

SpanBase.setAttributes

startSubagent()

startSubagent(opts): SubAgent
이 LLM 내에 중첩된 하위 SubAgent span을 시작합니다. 정의 위치: src/genai/llm.ts:261

매개변수

opts
SubAgentInit

반환값

SubAgent

startTool()

startTool(opts): Tool
이 LLM 내에 중첩된 하위 Tool span을 시작합니다. 정의 위치: src/genai/llm.ts:252

매개변수

opts
ToolInit

반환값

Tool

think()

think(content): this
모델의 추론/사고 과정 콘텐츠를 설정하거나 추가합니다. this.reasoning.content에 누적됩니다. 직렬화 시 마지막 assistant 메시지에 ReasoningPart로 포함되며, Python SDK의 전송 데이터 형식과 일치합니다. Defined in: src/genai/llm.ts:167

매개변수

content
string

반환값

this