메인 콘텐츠로 건너뛰기
Weave의 속성을 사용하면 트레이스와 평가에 맞춤형 메타데이터를 추가할 수 있습니다. 이 메타데이터에는 환경 이름, 모델 버전, 실험 ID, 사용자 ID, 기타 컨텍스트 정보 등이 포함될 수 있으며, 이를 통해 Weave 데이터를 정리하고 필터링하고 분석할 수 있습니다. 다음 기준으로 트레이스를 그룹화하거나 필터링해야 할 때 속성이 특히 유용합니다:
  • 배포
  • 테넌트
  • Experiments
Weave는 속성을 추가하는 두 가지 방법을 제공합니다:
  • call / calls별 속성: weave.attributes()를 사용해 특정 오퍼레이션이나 코드 블록에 메타데이터를 추가합니다
  • 전역 속성: 초기화 시 global_attributes 필드를 사용해 프로젝트의 모든 트레이스와 평가에 적용되는 속성을 설정합니다
트레이스와 평가 중 로깅된 모든 속성은 UI에서 볼 수 있습니다. 그런 다음 이를 사용해 데이터를 필터링하고 그룹화할 수 있습니다.
call / calls이 시작되면 call.attributes는 수정할 수 없습니다. op를 호출하기 전에 이 컨텍스트 관리자를 사용해 필요한 메타데이터를 설정하세요.

call / calls별 속성

weave.attributes() 컨텍스트 관리자를 사용하면 특정 트레이스된 오퍼레이션에 메타데이터를 추가할 수 있습니다. 이를 통해 특정 함수 call / calls이나 평가 run에 컨텍스트 정보를 태그할 수 있습니다.
이 함수는 컨텍스트 관리자 블록(Python) 또는 콜백 함수(TypeScript) 안의 모든 트레이스된 오퍼레이션에 속성을 적용합니다. weave.attributes() 컨텍스트를 중첩해서 사용할 수도 있습니다. 동일한 키의 경우 내부 컨텍스트가 외부 컨텍스트를 재정의합니다.

전역 속성

Weave를 초기화할 때 전역 속성을 설정하면 프로젝트의 모든 트레이스와 평가에 자동으로 적용됩니다. 이는 환경, 배포 버전, 팀 정보처럼 프로젝트 전반에서 사용하는 메타데이터를 전달할 때 유용합니다.

전역 속성과 call별 속성 함께 사용하기

전역 속성과 call별 속성을 함께 사용할 수 있습니다. 동일한 키를 가진 call별 속성은 전역 속성을 재정의합니다.

실행 중 속성 조회

현재 call에 로깅된 속성 집합을 반환합니다. 이는 call을 디버그하거나 조건부 로직에 사용할 컨텍스트를 확인하는 데 도움이 됩니다.
다음 예제에서는 Weave 데코레이터로 process_data 함수를 로깅하도록 설정하고, 로깅할 속성을 구성한 뒤, 실행 중에 이를 반환합니다.
출력 결과:
weave.get_current_call()@weave.op로 데코레이트된 함수 내부에서만 작동합니다. op 외부에서는 None을 반환합니다.