Model은 데이터(설정, 트레이닝된 모델 가중치, 기타 정보 등을 포함할 수 있음)와 모델의 동작 방식을 정의하는 코드가 결합된 것입니다. 코드를 이 API와 호환되도록 구조화하면 애플리케이션을 체계적으로 버전 관리할 수 있으므로, 실험을 더 일관되게 추적할 수 있습니다.
이 가이드에서는 Weave Model을 정의하고, 이를 호출해 입력과 출력을 캡처하고, 코드나 매개변수가 변경될 때 자동 버전 관리를 활용하고, 로컬 API 뒤에서 모델을 서빙하고, 필터링할 수 있도록 프로덕션 Call에 태그를 지정하는 방법을 설명합니다. 이 가이드는 Weave로 LLM 기반 애플리케이션을 구축하며, 앱의 반복 버전을 추적하고 비교할 수 있는 재현 가능한 방법을 원하는 개발자를 위한 것입니다.
- Python
- TypeScript
Weave에서 모델을 만들려면 다음이 필요합니다.다음과 같이 평소처럼 모델을 호출할 수 있습니다.이렇게 하면 이렇게 호출하고 나면 UI에서 이 모델의 두 가지 버전을 확인할 수 있으며, 각 버전에는 서로 다른 추적된 Call이 기록됩니다.추가 지침은 serve를 참조하세요.
weave.Model을 상속하는 클래스- 모든 매개변수의 유형 정의
@weave.op()데코레이터가 적용된 유형 지정predict함수
predict()를 호출할 때마다 모델 설정이 입력 및 출력과 함께 추적됩니다. 이제 모델이 수행하는 모든 예측을 기록하는 버전 관리된 Weave Model이 준비되었으며, 다음 섹션에서는 이를 바탕으로 설명합니다.모델 자동 버전 관리
모델을 정의하는 매개변수나 코드를 변경하면 Weave가 이러한 변경 사항을 로그로 기록하고 버전을 업데이트합니다. 그러면 모델 버전별 예측을 비교할 수 있습니다. 프롬프트를 반복 개선하거나 다른 LLM을 사용해 보고, 설정별 예측을 비교할 때 활용하세요.예를 들어, 여기서는 새 모델을 만듭니다.모델 서빙
모델을 서빙하면predict 함수를 HTTP로 노출할 수 있으므로, 기본 코드를 배포하지 않고도 다른 애플리케이션에서 테스트하거나 팀원과 공유할 때 유용합니다. Weave 모델용 FastAPI 서버를 시작하려면 [MODEL-REF]를 모델 레퍼런스로 바꾸고 다음 명령을 실행하세요.