메인 콘텐츠로 건너뛰기
W&B Weave는 신뢰할 수 있는 LLM 애플리케이션을 구축하기 위한 관측성(observability) 및 평가 플랫폼입니다. Weave를 사용하면 AI 애플리케이션이 무엇을 하고 있는지 이해하고, 성능을 측정하며, 시간이 지남에 따라 체계적으로 개선할 수 있습니다. LLM 애플리케이션을 구축하는 일은 전통적인 소프트웨어 개발과 근본적으로 다릅니다. LLM의 출력 결과는 비결정론적이어서 디버깅이 더 어렵습니다. 품질은 주관적이고 문맥에 따라 달라집니다. 작은 프롬프트 변경만으로도 예기치 않은 동작 변화를 일으킬 수 있습니다. 기존의 테스트 방법만으로는 충분하지 않습니다.

Weave의 주요 핵심 축

Weave는 다음과 같은 핵심 기능을 제공합니다:
  • 애플리케이션 내 모든 LLM 호출, 입력, 출력에 대한 가시성 제공
  • 선별된 테스트 케이스를 기반으로 성능을 측정하기 위한 체계적인 평가
  • 변경 사항을 파악할 수 있도록 프롬프트, 모델, 데이터에 대한 버전 추적
  • 서로 다른 프롬프트와 모델을 비교하기 위한 실험
  • 사람의 판단과 주석을 수집하기 위한 피드백 수집
  • LLM의 안전성과 품질을 위해 가드레일과 스코어러를 사용하는 프로덕션 환경 모니터링

Traces

LLM 애플리케이션에서 데이터가 처음부터 끝까지 어떻게 흐르는지 추적합니다.
  • 각 애플리케이션 호출의 입력과 출력을 확인합니다.
  • LLM 응답을 생성하는 데 사용된 소스 문서를 확인합니다.
  • LLM 호출의 비용, 토큰 수, 지연 시간을 확인합니다.
  • 특정 프롬프트를 자세히 살펴보고 답변이 어떻게 생성되었는지 확인합니다.
  • 사용자로부터 응답에 대한 피드백을 수집합니다.
  • 코드에서 Weave ops and calls를 사용해 함수가 무엇을 수행하는지 추적할 수 있습니다.
트레이싱 시작하기

평가

LLM 애플리케이션의 성능을 체계적으로 벤치마크해 프로덕션 환경에 배포할 때 확신을 가질 수 있도록 하세요.
  • 어떤 모델/프롬프트 버전이 어떤 성능을 냈는지 쉽게 추적합니다.
  • 하나 이상의 스코어링 함수를 사용해 응답을 평가할 지표를 정의합니다.
  • 여러 지표에 대해 둘 이상의 평가 결과를 비교합니다. 특정 샘플을 골라 성능을 나란히 비교합니다.
평가 파이프라인 구축하기

모든 것을 버전 관리하기

Weave는 프롬프트, 데이터셋, 모델 구성의 버전을 추적합니다. 문제가 발생하면 정확히 무엇이 변경되었는지 확인할 수 있습니다. 어떤 것이 잘 동작하면 동일한 환경을 재현할 수 있습니다. 버전 관리에 대해 알아보기

프롬프트와 모델 실험하기

API key를 준비해 Playground에서 다양한 상용 모델의 응답을 빠르게 테스트하고, 프롬프트별 결과를 비교해 보세요. Weave Playground에서 실험하기

피드백 수집

운영 환경에서 사용자 피드백, 주석, 수정 사항을 수집합니다. 이 데이터를 활용해 더 나은 테스트 케이스를 만들고 애플리케이션을 개선하십시오. 피드백 수집

프로덕션 환경 모니터링

평가에 사용하는 것과 동일한 스코어러로 프로덕션 트래픽을 점수화하세요. 문제가 실제 사용자에게 도달하기 전에 감지할 수 있도록 가드레일을 설정하세요. 가드레일 및 모니터 설정하기

Weave 사용 시작하기

Weave는 Python과 TypeScript용 SDK를 제공합니다. 두 SDK 모두 추적(tracing), 평가(evaluation), 데이터셋, 핵심 Weave 기능을 지원합니다. 클래스 기반 Models와 Scorers 같은 일부 고급 기능은 현재 Weave TypeScript SDK에서는 사용할 수 없습니다. Weave를 사용하기 시작하려면 다음을 수행하세요:
  1. https://wandb.ai/site에서 Weights & Biases 계정을 생성하고, https://wandb.ai/authorize에서 API key를 확인합니다.
  2. Weave를 설치합니다:
pip install weave
  1. 스크립트에서 Weave를 import한 뒤 프로젝트를 초기화합니다:
import weave
client = weave.init('your-team/your-project-name')
이제 Weave를 사용할 준비가 되었습니다. Weave는 널리 사용되는 LLM 제공자 및 프레임워크와 통합됩니다. 지원되는 통합을 사용할 경우 Weave는 추가 코드 변경 없이 LLM 호출을 자동으로 추적합니다.
  1. 지원되는 통합에만 의존하지 않고, 호출 함수에 한 줄의 코드를 추가하는 것만으로도 사용자 정의 함수에 대한 트레이스를 Weave로 기록할 수 있습니다.
Python에서 함수에 @weave.op() 데코레이터를 적용하거나 TypeScript에서 weave.op()으로 감싸면, Weave가 해당 함수의 코드, 입력, 출력, 실행 메타데이터를 자동으로 캡처합니다.
    @weave.op
    async def my_function(){
      ...  }
가이드 튜토리얼로 직접 시도해 보려면 트레이싱 시작하기를 참고하세요.