gen_ai.* 속성이 포함된 chat span을 생성합니다.
weave.startLLM()(또는 turn.startLLM())로 생성하며,
end()로 종료합니다. 비동기 컨텍스트에서는 한 번에 하나의 LLM만 활성 상태일 수 있으므로,
도구/하위 에이전트 Call은 startTool / startSubagent를 사용해 그 아래에 중첩하세요.
inputMessages / outputMessages / usage / reasoning은 직접 채우거나,
헬퍼 함수(output, think, attachMedia, record)를 사용해 채울 수 있습니다.
기록된 모든 데이터는 end()에서 span으로 플러시됩니다.
예시
계층
-
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
선택 reasoning: Reasoning
추론 콘텐츠입니다. 직렬화 시 마지막 assistant 메시지에
ReasoningPart로 병합됩니다.
정의된 위치
usage
Usage = {}
토큰 수와 캐시 통계입니다. end()가 호출되면 gen_ai.usage.*로 플러시됩니다.
정의된 위치
메서드
addEvent
name, attributes?, startTime?): this
span에 이름이 있는 event를 추가합니다. 컨텍스트 압축, 도구 루프 감지,
또는 가드레일 트리거처럼 span으로 표현되지 않는 시점을 표시할 때 유용합니다. end() 호출 후에는
경고를 기록하고 아무 작업도 수행하지 않습니다. OTel Span.addEvent와 동일하게 동작합니다.
매개변수
| 이름 | 유형 |
|---|---|
name | string |
attributes? | Attributes |
startTime? | TimeInput |
반환값
this
예시
상속됨
정의된 위치
attachMedia
opts): this
마지막 입력 메시지에 미디어 파트를 첨부합니다. content(인라인 base64 바이트), uri(URI 레퍼런스), 또는 fileId
(미리 업로드한 파일 ID) 중 정확히 하나를 선택하세요.
매개변수
| 이름 | 유형 |
|---|---|
opts | AttachMediaOpts |
반환값
this
정의된 위치
attachMediaUrl
url, opts): this
attachMedia({uri, modality})를 간편하게 호출하는 메서드입니다.
매개변수
| 이름 | 유형 |
|---|---|
url | string |
opts | Object |
opts.modality | Modality |
반환값
this
정의된 위치
end
opts?): void
누적된 상태를 플러시한 후 span을 닫습니다. 멱등적입니다. 실패로 표시하려면 error를 전달하고, 종료 시점을 과거로 지정하려면 endTime을 전달하세요.
매개변수
| 이름 | 유형 |
|---|---|
opts? | SpanEndOptions |
반환값
void
정의된 위치
출력
content): this
응답에 assistant 메시지를 추가합니다.
매개변수
| 이름 | 유형 |
|---|---|
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
모델의 추론/사고 과정 내용을 설정하거나 확장합니다. this.reasoning.content에
누적됩니다. 직렬화 시 마지막 assistant 메시지에 ReasoningPart로
합쳐지며, Python SDK의
on-the-wire 형식과 일치합니다.
매개변수
| 이름 | 유형 |
|---|---|
content | string |
반환값
this
정의된 위치
create
opts): LLM
매개변수
| 이름 | 유형 |
|---|---|
opts | LLMInit & ChildSpanContext |
반환값
LLM