트레이싱
weave.init(project_name="[YOUR-WANDB-PROJECT-NAME]")를 호출한 다음, 평소처럼 라이브러리를 사용하세요.
![]() |
|---|
| Weave는 Instructor를 사용해 이루어지는 모든 LLM Call을 추적하고 로깅합니다. Weave 웹 인터페이스에서 해당 트레이스를 확인할 수 있습니다. |
직접 만든 ops 추적하기
@weave.op로 감싸면 입력, 출력, 앱 로직 캡처가 시작되어 앱에서 데이터가 어떻게 흐르는지 디버그할 수 있습니다. ops를 깊게 중첩해 추적하려는 함수들의 트리를 구성할 수 있습니다. 또한 실험하는 동안 코드 버전 관리도 자동으로 시작되어 Git에 커밋되지 않은 임시 세부 정보까지 캡처합니다.
@weave.op으로 데코레이트된 함수를 만드세요.
다음 예시에서 extract_person 함수는 @weave.op로 감싼 metric 함수입니다. 이를 통해 OpenAI chat completion call과 같은 중간 step를 확인할 수 있습니다.
![]() |
|---|
extract_person 함수에 @weave.op 데코레이터를 적용하면 함수의 입력, 출력와 함수 내부에서 발생하는 모든 LM Call이 트레이스됩니다. Weave는 또한 Instructor가 생성한 구조화된 객체를 자동으로 추적하고 버전 관리합니다. |
Model로 더 쉽게 실험하기
Model 클래스를 사용하면 system 프롬프트나 사용 중인 모델처럼 앱 실험의 세부 사항을 캡처하고 정리할 수 있습니다. 이렇게 하면 앱의 여러 반복 버전을 더 쉽게 정리하고 비교할 수 있습니다.
코드를 버전 관리하고 입력과 출력을 캡처하는 것에 더해, Model은 애플리케이션의 동작을 제어하는 구조화된 파라미터도 캡처하므로 어떤 파라미터가 가장 잘 작동했는지 찾을 수 있습니다. 또한 Weave Models를 서빙 및 평가와 함께 사용할 수도 있습니다.
다음 예시에서는 PersonExtractor를 실험해 볼 수 있습니다. 이 항목들 중 하나를 변경할 때마다 PersonExtractor의 새 version이 생성됩니다.
![]() |
|---|
Model을 사용해 Call 트레이싱 및 버전 관리 |
Weave Model 서빙하기
weave.Model을 저장한 후에는 이를 FastAPI 엔드포인트로 서빙하여 노트북 외부에서 테스트하거나 다른 애플리케이션과 통합할 수 있습니다. weave.Model 객체를 가리키는 weave 레퍼런스가 있으면 FastAPI 서버를 실행하고 서빙할 수 있습니다.
모델을 서빙하려면 터미널에서 다음 명령어를 실행하세요:



