Model 클래스로 실험을 체계적으로 관리하는 방법을 설명합니다.
Weave는 Mistral v1.0 SDK를 지원합니다. 업그레이드에 대한 자세한 내용은 마이그레이션 가이드를 참조하세요.
트레이스
개발 중에도 프로덕션에서도 LLM 애플리케이션의 트레이스를 중앙 데이터베이스에 저장하는 것이 중요합니다. 이러한 트레이스는 디버깅에 사용하고, 애플리케이션을 개선하는 데 도움이 되는 데이터셋으로도 활용합니다. Weave는 mistralai의 트레이스를 자동으로 캡처합니다. 라이브러리를 평소처럼 사용하려면 먼저weave.init()을 호출하세요:
직접 만든 Op으로 Call 래핑하기
기본 트레이싱이 작동하면 MistralAI Call을 Weave Op으로 래핑하여 여러 실험에서 재현할 수 있게 만들 수 있습니다. Weave Op은 실험하는 동안 코드 버전을 자동으로 관리하여 결과를 재현 가능하게 하고, 입력과 출력도 캡처합니다.mistralai.client.MistralClient.chat()을 호출하는 함수를 만들고 @weave.op()로 데코레이트하면 Weave가 입력과 출력을 자동으로 추적합니다. 다음 예시는 치즈 추천기에 이를 적용하는 방법을 보여줍니다.
더 쉽게 실험할 수 있도록 Model 만들기
변동 요소가 많으면 실험을 체계적으로 관리하기 어렵습니다. Model 클래스를 사용하면 system 프롬프트나 사용 중인 모델과 같은 앱의 실험 세부 정보를 캡처하고 정리할 수 있습니다. 이를 통해 앱의 여러 반복 개발 버전을 정리하고 비교할 수 있습니다.
Model은 코드 버전 관리와 입력 및 출력 캡처뿐 아니라 애플리케이션의 동작을 제어하는 구조화된 매개변수도 캡처하므로, 어떤 매개변수가 가장 효과적이었는지 쉽게 찾을 수 있습니다. Weave 모델은 serve 및 Evaluation과 함께 사용할 수도 있습니다.
다음 예시에서는 model과 country로 실험할 수 있습니다. 둘 중 하나를 변경할 때마다 CheeseRecommender의 새로운 버전이 생성됩니다.
