- 自動コストトラッキング: サポートされるインテグレーションでは、Weave が API の応答からトークン使用量を取得し、モデルの組み込み料金を適用します。追加のコードは必要ありません。
- カスタムコストトラッキング: ファインチューニングしたモデル、セルフホストのモデル、または Weave と自動的に統合されないモデルでは、利用可能な API メソッドを使用して、カスタムコストをトラッキングするよう Weave を設定します。
Weave TypeScript はコストトラッキングをサポートしていません。
自動コストトラッキングを使用する
weave.init() を呼び出し、OpenAI、Anthropic、Cohere、Mistral などのサポートされる LLM インテグレーションを使用すると、Weave は各 Call のトークン使用量を自動的に記録し、コストを計算します。コストは、Weights & Biases UI のトレース ツリーと Call の表に表示されます。また、include_costs パラメーターを true に設定して Call をクエリすると、call.summary["weave"]["costs"] からプログラムでコストを取得することもできます。
自動コストトラッキングを使用するには、次の 2 つの条件を満たす必要があります。
- LLM プロバイダがサポートされるインテグレーションであること。
- API の応答にトークン使用量が含まれていること (ほとんどのプロバイダーはデフォルトでトークン使用量を返します)。
カスタムコストを追加する
ファインチューニングしたモデル、セルフホストのモデル、Weave が統合していないプロバイダーなど、自動コストトラッキングを使用できない場合は、カスタムコストトラッキングを使用します。以下のセクションでは、カスタムコストの追加、クエリ、削除、集計の方法について説明します。 カスタムコストを追加するには、add_cost メソッドを使用します。
必須フィールドは llm_id、prompt_token_cost、completion_token_cost の 3 つです。
llm_id は LLM 名です (例: gpt-4o) 。prompt_token_cost と completion_token_cost は、その LLM のトークンあたりのコストです。LLM の料金が 100 万トークンあたりで設定されている場合は、トークンあたりの値に換算してください。
effective_date に datetime を設定すると、特定の日付からコストを適用できます。デフォルトは現在の日付です。
カスタムコストをクエリする
カスタムコストを追加した後は、コストを取得して値を確認したり、削除などの他の操作に必要なコスト ID を調べたりできます。query_costs メソッドを使用してコストをクエリします。
コストのクエリ方法はいくつかあり、単一のコスト ID を渡すことも、LLM モデル名のリストを渡すこともできます。
カスタムコストを削除する
カスタムコストを削除するには、purge_costs メソッドを使用します。コスト ID のリストを渡すと、該当する ID のコストが Weave によって削除されます。
project のカスタムコストを計算する
project 全体の総支出を把握するには、Weave から返される Call ごとのコストを集計します。project のコストは、get_calls() に include_costs=True を指定して計算します。