이것은 인터랙티브 노트북입니다. 로컬에서 실행하거나 아래 링크를 사용할 수 있습니다:
Weave와 인테그레이션: 프로덕션 대시보드
GenAI 툴링 환경은 새로운 프레임워크, 툴, 애플리케이션이 끊임없이 등장하며 빠르게 진화하고 있습니다. Weave는 모든 GenAI 모니터링 및 평가 요구사항을 충족하는 원스톱 솔루션을 지향합니다. 이는 때때로 기존 플랫폼과 통합하거나, 프로젝트 또는 조직의 특정 요구사항에 맞게 Weave를 확장해야 할 필요가 있음을 의미합니다. 이 쿡북에서는 Weave의 강력한 API와 함수를 활용하여 Weave의 Traces 뷰를 확장한 프로덕션 모니터링용 커스텀 대시보드를 만드는 방법을 보여줍니다. 다음 내용에 중점을 둡니다:- Weave에서 traces, 비용, 피드백 및 기타 메트릭 가져오기
- 사용자 피드백 및 비용 분포를 위한 집계 뷰 생성
- 시간에 따른 토큰 사용량 및 지연 시간 시각화
1. 설정
이 튜토리얼을 따라 하려면 다음 패키지만 설치하면 됩니다:2. 구현
2.1 Weave Client 초기화 및 비용 정의
먼저, Weave client를 초기화하고 각 모델에 대한 비용을 추가하는 함수를 설정합니다.- 많은 표준 모델에 대한 표준 비용을 포함해 두었지만, 사용자가 직접 커스텀 비용과 커스텀 모델을 쉽게 추가할 수도 있습니다. 아래에서는 몇 가지 모델에 대해 커스텀 비용을 추가하고 나머지는 표준 비용을 사용하는 방법을 보여줍니다.
- 비용은 Weave의 각 call에 대해 트래킹된 토큰을 기반으로 계산됩니다. 많은 LLM 벤더 라이브러리의 경우 토큰 사용량이 자동으로 트래킹되지만, 임의의 call에 대해 커스텀 토큰 수를 반환할 수도 있습니다. 커스텀 모델에 대한 토큰 수 정의 및 비용 계산 방법은 이 쿡북을 참조하세요 - custom cost cookbook.
2.2 Weave에서 Calls 데이터 가져오기
Weave에서 call 데이터를 가져오기 위해 두 가지 옵션이 있습니다:- 데이터를 call-by-call 방식으로 가져오기
- 하이 레벨 API 사용하기
2.2.1 데이터를 call-by-call 방식으로 가져오기
Weave의 데이터에 엑세스하는 첫 번째 옵션은 필터링된 call 리스트를 검색하고 원하는 데이터를 call-by-call로 추출하는 것입니다. 이를 위해calls_query_stream API를 사용하여 Weave에서 call 데이터를 가져올 수 있습니다:
calls_query_streamAPI: Weave에서 call 데이터를 가져올 수 있게 해주는 API입니다.filter사전: call 데이터를 가져오기 위한 필터 파라미터를 포함합니다 - 자세한 내용은 여기를 참조하세요.expand_columns리스트: call 데이터에서 확장할 컬럼을 포함합니다.sort_by리스트: call 데이터의 정렬 파라미터를 포함합니다.include_costs불리언: call 데이터에 비용을 포함할지 여부를 나타냅니다.include_feedback불리언: call 데이터에 피드백을 포함할지 여부를 나타냅니다.
2.2.2 하이 레벨 API 사용하기
모든 call을 일일이 살펴보는 대신, Weave는 모델 비용, 피드백 및 기타 메트릭에 직접 엑세스할 수 있는 하이 레벨 API도 제공합니다. 예를 들어 비용의 경우,query_costs API를 사용하여 프로젝트에서 사용된 모든 LLM의 비용을 가져올 수 있습니다:
2.4 입력 수집 및 시각화 생성
다음으로 plotly를 사용하여 시각화를 생성할 수 있습니다. 이것은 가장 기본적인 대시보드이지만, 원하는 대로 커스터마이징할 수 있습니다! 더 복잡한 예시는 여기에서 Streamlit 예시를 확인하세요.결론
이 쿡북에서는 Weave의 API와 함수를 사용하여 커스텀 프로덕션 모니터링 대시보드를 만드는 방법을 살펴보았습니다. Weave는 현재 쉬운 데이터 입력뿐만 아니라 커스텀 프로세스를 위한 데이터 추출을 위한 신속한 통합에 중점을 두고 있습니다.- 데이터 입력:
- @weave-op() 데코레이터를 통한 프레임워크 독립적인 tracing 및 CSV에서 call을 임포트하는 기능 (관련 import cookbook 참조)
- 다양한 프로그래밍 프레임워크 및 언어에서 Weave로 로그를 남기기 위한 서비스 API 엔드포인트. 자세한 내용은 여기를 참조하세요.
- 데이터 출력: