시작하기
weave.init()만 호출하면 됩니다. weave.init()의 인수는 프로젝트 이름으로, 트레이스를 정리하는 데 도움이 됩니다.
트레이싱
원클릭 옵저버빌리티 🔭
WeaveCallbackHandler()를 llama_index.core.global_handler로 자동 설정합니다. 따라서 LlamaIndex와 Weave 사용자라면 Weave run만 초기화하면 됩니다 - weave.init(<name-of-project>)
더 쉽게 실험할 수 있는 Model 만들기
weave.Model을 사용하면 시스템 프롬프트나 사용하는 모델 같은 실험 관련 세부 정보를 기록하고 정리할 수 있어, 여러 반복 버전을 더 쉽게 비교할 수 있습니다.
다음 예제에서는 weave/data 폴더에서 찾을 수 있는 데이터를 사용해 WeaveModel로 LlamaIndex 쿼리 엔진을 빌드하는 방법을 보여줍니다.
weave.Model을 상속하는 이 SimpleRAGPipeline 클래스는 이 RAG 파이프라인의 중요한 매개변수를 관리합니다. query 메서드에 weave.op() 데코레이터를 적용하면 트레이싱이 가능해집니다.
weave.Evaluation으로 Evaluation 수행하기
weave.Evaluation 클래스를 사용하면 특정 작업이나 데이터셋에서 모델이 얼마나 잘 수행되는지 파악할 수 있어, 서로 다른 모델과 애플리케이션의 여러 반복 버전을 더 쉽게 비교할 수 있습니다. 다음 예제는 앞서 만든 모델을 평가하는 방법을 보여줍니다:
weave.Evaluation을 사용해 평가하려면 평가 데이터셋, 스코어러 함수, 그리고 weave.Model이 필요합니다. 다음은 이 세 가지 핵심 컴포넌트에 대한 몇 가지 유의사항입니다:
- 평가 샘플 dict의 키가 스코어러 함수의 인자와
weave.Model의predict방법의 인자와 일치하는지 확인하세요. weave.Model에는predict,infer, 또는forward라는 이름의 방법이 있어야 합니다. 트레이싱을 위해 이 방법에weave.op()를 데코레이션하세요.- 스코어러 함수는
weave.op()로 데코레이션해야 하며,output이라는 명명된 인자를 가져야 합니다.
Weave를 LlamaIndex와 인테그레이션하면 LLM 애플리케이션에 대해 포괄적인 로깅과 모니터링을 수행할 수 있어, 평가를 활용한 디버깅과 성능 최적화가 더 쉬워집니다.