- 자동 비용 추적: 지원되는 인테그레이션에서는 Weave가 API 응답에서 토큰 사용량을 캡처하고 해당 모델의 기본 제공 가격을 적용합니다. 별도의 코드를 추가할 필요가 없습니다.
- 맞춤형 비용 추적: 파인튜닝된 모델, 자체 호스팅 모델 또는 Weave와 자동으로 통합되지 않는 모델에서는 사용 가능한 API 메서드를 통해 사용자 정의 비용을 추적하도록 Weave를 설정하세요.
Weave TypeScript는 비용 추적을 지원하지 않습니다.
자동 비용 추적 사용
weave.init()을 호출하고 OpenAI, Anthropic, Cohere, Mistral 등 지원되는 LLM 인테그레이션을 사용하면 Weave가 각 Call의 토큰 사용량을 자동으로 기록하고 비용을 계산합니다. 비용은 Weights & Biases UI의 트레이스 트리와 Call table에 표시됩니다. include_costs 매개변수를 true로 설정하고 Call을 쿼리하면 call.summary["weave"]["costs"]에서 프로그래밍 방식으로도 비용을 확인할 수 있습니다.
자동 비용 추적을 사용하려면 다음 두 가지 조건을 모두 충족해야 합니다.
- LLM 공급자가 지원되는 인테그레이션이어야 합니다.
- API 응답에 토큰 사용량이 포함되어야 합니다(대부분의 공급자는 기본적으로 토큰 사용량을 반환합니다).
사용자 정의 비용 추가
파인튜닝된 모델, 자체 호스팅 모델, Weave와 통합되지 않은 공급자처럼 자동 비용 추적을 사용할 수 없는 경우에는 맞춤형 비용 추적을 사용하세요. 다음 섹션에서는 사용자 정의 비용을 추가, 쿼리, 삭제, 집계하는 방법을 설명합니다.add_cost 메서드로 사용자 정의 비용을 추가하세요.
필수 필드는 llm_id, prompt_token_cost, completion_token_cost 세 가지입니다.
llm_id는 LLM의 이름입니다(예: gpt-4o). prompt_token_cost와 completion_token_cost는 해당 LLM의 토큰당 비용입니다. LLM 가격이 백만 토큰 단위로 책정되어 있다면 토큰당 가격으로 환산하세요.
effective_date를 datetime으로 설정하면 특정 날짜부터 비용이 적용되도록 할 수도 있습니다. 기본값은 현재 날짜입니다.
사용자 정의 비용 쿼리
사용자 정의 비용을 추가한 후에는 비용을 조회하여 값을 확인하거나, 삭제(purge)와 같은 다른 오퍼레이션에 필요한 비용 ID를 찾을 수 있습니다.query_costs 메서드로 비용을 쿼리하세요.
비용을 쿼리하는 방법은 몇 가지가 있습니다. 단일 비용 ID를 전달하거나 LLM 모델 이름 목록을 전달하면 됩니다.
사용자 정의 비용 삭제
purge_costs 메서드를 사용해 사용자 정의 비용을 삭제하세요. 비용 ID 목록을 전달하면 Weave가 해당 ID의 비용을 삭제합니다.
프로젝트의 사용자 정의 비용 계산하기
프로젝트 전체의 총 비용을 파악하려면 Weave가 반환하는 Call별 비용을 합산하세요.get_calls()에 include_costs=True를 지정하면 프로젝트의 비용을 계산할 수 있습니다.