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