- 모델 팀: 모델 개발 팀이 새로운 Chat Model(Llama 3.2)을 파인튜닝하고 W&B Models를 사용해 레지스트리에 저장합니다.
- 앱 팀: 앱 개발 팀이 Chat Model을 가져와 W&B Weave를 사용해 새로운 RAG 챗봇을 생성하고 평가합니다.

- RAG 앱 코드를 W&B Weave로 계측합니다.
- LLM(Llama 3.2와 같은 모델이지만, 원하는 다른 LLM으로 대체 가능)을 파인튜닝하고 W&B Models로 추적합니다.
- 파인튜닝된 모델을 W&B Registry에 로그합니다.
- 새로 파인튜닝한 모델로 RAG 앱을 구현하고, W&B Weave를 사용해 앱을 평가합니다.
- 결과에 만족하면, 업데이트된 RAG 앱에 대한 참조를 W&B Registry에 저장합니다.
RagModel은 최상위 weave.Model로, 하나의 완전한 RAG 앱으로 볼 수 있습니다. 이 모델은 ChatModel, 벡터 데이터베이스, 프롬프트를 포함합니다. ChatModel 역시 또 다른 weave.Model로, W&B Registry에서 아티팩트를 다운로드하는 코드를 포함하며, RagModel의 일부로서 다른 어떤 챗 모델도 지원할 수 있도록 변경할 수 있습니다. 자세한 내용은 Weave의 전체 모델을 참고하세요.
1. 설정
weave와 wandb를 설치한 후 API key로 로그인하세요. User Settings에서 API key를 생성하거나 조회할 수 있습니다.
2. 아티팩트를 기반으로 ChatModel 만들기
weave.Model로 생성한 뒤, 다음 단계에서 RagModel에 바로 연결합니다. 이 모델은 기존 ChatModel과 동일한 파라미터를 사용하며, init과 predict 구현만 다릅니다.
unsloth 라이브러리를 사용해 다양한 Llama-3.2 모델을 파인튜닝하여 더 빠르게 동작하도록 만들었습니다. 따라서 레지스트리에서 모델을 다운로드한 뒤 로드할 때에는 어댑터가 적용된 전용 unsloth.FastLanguageModel 또는 peft.AutoPeftModelForCausalLM 모델을 사용해야 합니다. 레지스트리의 “Use” 탭에서 모델 로딩 코드를 복사해 model_post_init에 붙여넣으세요.
3. 새로운 ChatModel 버전을 RagModel에 통합하기
RagModel을 가져와서(RagModel의 현재 Weave ref는 아래 이미지와 같이 Use 탭에서 가져올 수 있습니다) ChatModel을 새로운 버전으로 교체합니다. 다른 컴포넌트(VDB, 프롬프트 등)는 변경하거나 다시 생성할 필요가 없습니다!

4. 기존 모델 실행에 연결되는 새로운 weave.Evaluation 실행
weave.Evaluation에서 새로운 RagModel을 평가합니다. 통합을 최대한 쉽게 하기 위해 아래 변경 사항을 적용하세요.
Models 관점에서:
- 레지스트리에서 모델을 가져오면 채팅 모델의 E2E 계보에 속하는 새로운
실행(run)객체가 생성됩니다 - 모델 팀이 링크를 클릭해 해당 Weave 페이지로 이동할 수 있도록 Trace ID(현재 eval ID)를 실행 config에 추가합니다
- 아티팩트/레지스트리 링크를
ChatModel(즉,RagModel)의 입력으로 저장합니다 weave.attributes를 사용해 트레이스에 run.id를 추가 컬럼으로 저장합니다