이 페이지에서는
@weave.op 데코레이터로 트레이스되는 함수의 속성을 설명합니다. Weave agent SDK로 에이전트를 계측하는 경우에는 에이전트 span(Turn, LLM, Tool, SubAgent)에 속성과 이벤트를 설정하세요. 자세한 내용은 에이전트 span에 속성 및 이벤트 설정을 참조하세요.- 배포
- 테넌트
- 실험
- 호출별 속성:
weave.attributes()컨텍스트 관리자를 사용하여 특정 오퍼레이션이나 코드 블록에 메타데이터를 추가합니다. - 전역 속성:
global_attributes필드를 사용하여 초기화 시점에 프로젝트의 모든 트레이스와 평가에 적용되는 속성을 설정합니다.
호출별 속성
weave.attributes() 컨텍스트 관리자를 사용하면 트레이스되는 특정 오퍼레이션에 메타데이터를 추가할 수 있습니다. 특정 함수 Call이나 평가 run에 컨텍스트 정보를 태그로 지정할 때 사용하세요.
- Python
- TypeScript
weave.attributes() 컨텍스트는 중첩해서 사용할 수도 있습니다. 같은 키가 있으면 내부 컨텍스트의 값이 외부 컨텍스트의 값을 재정의합니다.
- Python
- TypeScript
전역 속성
Weave를 초기화할 때 전역 속성을 설정하면 프로젝트의 모든 트레이스와 평가에 자동으로 적용됩니다. 환경, 배포 버전, 팀 정보처럼 프로젝트 전체에 공통으로 적용할 메타데이터를 전파할 때 유용합니다.- Python
- TypeScript
전역 속성과 호출별 속성 함께 사용하기
전역 속성과 호출별 속성을 함께 사용할 수 있습니다. 키가 같으면 호출별 속성이 전역 속성을 재정의합니다.- Python
- TypeScript
실행 중 속성 조회
런타임에 Call에 적용된 속성을 확인할 수 있습니다. Weave가 어떤 메타데이터를 첨부하는지 디버깅하거나, 외부 호출자가 설정한 컨텍스트 정보에 따라 코드를 분기해야 할 때 유용합니다.- Python
- TypeScript
다음 예시는 Weave 데코레이터로 출력 결과는 다음과 같습니다.
process_data 함수를 로깅하도록 설정하고, 로깅할 속성을 설정한 다음, 실행 시 해당 속성을 반환합니다.weave.get_current_call()은 @weave.op 데코레이터가 적용된 함수 내부에서만 작동합니다. op 외부에서는 None을 반환합니다.