@weave.op() 데코레이터(Python)를 사용하거나 weave.op()으로 래핑(TypeScript)하여 이러한 중첩 함수와 부모-자식 관계를 추적할 수 있습니다.
애플리케이션의 전체 실행 흐름을 캡처할 수 있도록 함수와 하위 함수는 가능한 한 세분화해 데코레이션하세요. 이렇게 하면 애플리케이션의 동작을 더 잘 이해하고 원하는 방식으로 조정하는 데 도움이 됩니다.
중첩 함수 트레이스
weave.op()을 사용해 모든 함수, 해당 Call 순서, 그리고 부모-자식 관계를 트레이스합니다:
- Python
- TypeScript
extract_dinos와 count_dinos)의 입력과 출력이 표시되고, 자동으로 로깅된 OpenAI 트레이스도 함께 표시됩니다.
메타데이터 추적
weave.attributes 컨텍스트 관리자를 사용하고, 호출 시점에 추적할 메타데이터를 딕셔너리로 전달하세요.
이전 예시를 이어서 살펴보면 다음과 같습니다.
- Python
- TypeScript
사용자 ID나 코드의 환경 상태(개발, 스테이징, 프로덕션)와 같은 메타데이터를 실행 시 추적하세요.system 프롬프트와 같은 시스템 설정을 추적하려면 Weave Models를 사용하세요.
다음 단계
- App Versioning 튜토리얼을 따라 임시 프롬프트, 모델, 애플리케이션의 변경 사항을 캡처하고 버전 관리하며 정리해 보세요.