Skip to main content
시스템의 성능을 파악하려면 입력, 출력, 메타데이터와 함께 앱을 거쳐 가는 데이터를 추적하는 것이 필수적입니다. 앱의 버전을 지속적으로 관리하는 것도 그에 못지않게 중요합니다. 코드나 매개변수를 변경했을 때 출력이 어떻게 달라지는지 확인할 수 있기 때문입니다. Weave의 Model 클래스를 사용하면 이러한 변경 사항이 자동으로 추적됩니다. 이 튜토리얼은 LLM 애플리케이션의 여러 버전 간에 결과를 비교하고 재현하려는 개발자를 대상으로 합니다. 튜토리얼을 마치면 애플리케이션의 매개변수와 코드를 캡처하고 버전이 관리되는 Weave Model을 만들 수 있습니다. 또한 이전 버전을 조회하여 재사용하는 방법도 익힐 수 있습니다. 이 튜토리얼에서 배울 내용은 다음과 같습니다.
  • Weave Model을 사용하여 애플리케이션과 매개변수를 추적하고 버전을 관리하는 방법
  • 이미 로깅된 Weave Model을 내보내고, 수정하고, 재사용하는 방법

weave.Model 사용하기

weave.Model 클래스는 Python에서만 지원됩니다.
Weave Model을 사용하면 모델 공급업체 ID, 프롬프트, temperature 등의 매개변수가 변경될 때마다 Weave가 이를 저장하고 버전을 관리합니다. Weave에서 Model을 만들려면 다음이 필요합니다.
  • weave.Model을 상속하는 클래스
  • 모든 클래스 필드에 대한 유형 정의
  • @weave.op() 데코레이터가 적용되고 유형이 지정된 invoke 함수
클래스 필드나 모델을 정의하는 코드를 변경하면 Weave가 변경 사항을 로깅하고 버전을 업데이트합니다. 따라서 앱의 여러 버전 간에 생성 결과를 비교할 수 있습니다. 다음 예시에서 Weave는 모델 이름, temperature, system 프롬프트를 추적하고 버전을 관리합니다.
이제 모델을 인스턴스화하고 invoke로 호출할 수 있습니다.
.invoke()를 호출하면 Weave의 트레이스에 모델 매개변수와 weave.op()으로 데코레이트된 모델 함수의 코드가 함께 추적됩니다. 모델의 버전도 관리됩니다(이 예시에서는 v21). 모델을 클릭하면 해당 버전을 사용한 모든 Call을 확인할 수 있습니다. Weave 모델 재사용 weave.Model 사용 시 참고 사항:
  • 원하는 경우 Weave Model의 함수 이름으로 invoke 대신 predict를 사용할 수 있습니다.
  • 다른 클래스 메서드를 Weave로 추적하려면 weave.op()으로 래핑하세요.
  • Weave는 밑줄로 시작하는 매개변수를 무시하며 로깅하지 않습니다.

로깅된 weave.Model 내보내기 및 재사용

이제 Weave에서 모델의 버전이 관리되므로, 코드에서 모델을 다시 정의하지 않고도 이전 버전을 가져와 다시 실행할 수 있습니다. 이 기능은 과거 결과를 재현하거나 특정 모델 버전을 다른 사람과 공유할 때 유용합니다. Weave는 호출된 Model을 저장하고 버전을 관리하므로, 이를 내보내고 재사용할 수 있습니다.

Model ref 조회

Weights & Biases UI에서 특정 버전의 Model ref를 조회할 수 있습니다.

Model 사용하기

Model 객체의 URI를 확인했다면 이를 내보내 재사용할 수 있습니다. 내보낸 모델은 이미 초기화되어 있으므로 바로 사용할 수 있습니다.
이제 새 입력에도 동일한 Model 버전(v21)이 사용된 것을 확인할 수 있습니다. Weave 모델 재사용 이제 버전 관리되는 Weave Model을 갖추었으므로, 애플리케이션의 여러 버전에서 이 모델을 반복 개선하고 조회하고 재사용할 수 있습니다.

다음 단계

마지막 수정일 2026년 9월 30일