continue_parent_trace=False)
Conversations 탭에는 턴마다 트레이스가 하나씩 표시됩니다. 외부 트레이스가 이미
활성 상태이고 에이전트 호출을 그 안에 중첩하려면(예: fastapi로 계측된 요청
내부) Conversation(또는 Turn에 직접)에 continue_parent_trace=True를
설정하세요.
Turn은 Pydantic 모델입니다. 생성할 때 아래 필드를 키워드 인수로 설정할 수 있습니다.
Turn은 컨텍스트 관리자이므로 with 문에서 사용할 수 있습니다.
필드
메서드
user
start_llm
_current_llm contextvar를 설정하므로 컨텍스트 관리자 사용 여부와 관계없이
get_current_llm()으로 LLM에 접근할 수 있습니다.
start_tool
start_subagent
record
system_instructions, agent_id,
…)을 단일 키워드 호출로 통합합니다. 명시적으로 전달한
(None이 아닌) 필드만 적용되며, 기존 값은 그대로 유지됩니다.
messages와 output_messages는 각각 독립적으로 턴의
기존 입력 메시지와 출력 메시지를 대체합니다. 입력 메시지 하나를 추가하는
Turn.user(...)와는 이 점이 다릅니다. 체이닝할 수 있도록 self를 반환합니다.
LLM.record와 같은 방식으로 동작합니다.
참고: 스트리밍(with) 경로에서는 __enter__ 시점의 agent_name으로
턴 span의 이름이 정해집니다. 따라서 span 이름에 agent_name을 반영해야 한다면
record 대신 start_turn으로 agent_name을 설정하세요. 이 경우에도 record는
gen_ai.agent.name
속성을 업데이트합니다.
end
start
record_error
end()를 호출하세요.
set_attributes
span.set_attributes({"weave.tag": "value"})와 같이 사용합니다. OTel의
Span.set_attributes와 동일하게 동작합니다.
start_* 팩토리, start() 또는 with로 span을 시작한 후,
span이 종료되기 전에 호출해야 합니다. 이 윈도우 밖에서 호출하면
아무 작업도 수행하지 않고 경고만 로깅합니다. 일괄 수집 시에는 객체에 선언된 필드를
직접 채운 다음 log_turn / log_conversation에 전달하세요.