メインコンテンツへスキップ

LiteLLM を接続する

LiteLLM はセルフホスト型の LLM ゲートウェイであり、リクエストをモデルプロバイダーにルーティングし、すべての呼び出しのコストを計測します。LiteLLM とのインテグレーションにより、その支出を DoiT Cloud Intelligence に取り込みます。プロバイダー・モデル・仮想キー・チーム・機能・エンドカスタマーごとに、モデル呼び出し 1 回につき 1 件のイベントとして記録されるため、Cloud Analytics でクラウドの請求データと並べて LLM コストを分析できます。

LiteLLM はお客様自身のインフラストラクチャで動作するため、このインテグレーションは他のコネクタとは挙動が異なります。DoiT がベンダーの API からデータを取得する代わりに、プロキシの横で小さなオープンソースのエクスポーター(litellm-datahub-exporter)を実行します。エクスポーターはプロキシの spend API をポーリングし、イベントを DataHub API にプッシュします。LiteLLM の管理者キーがネットワークの外に出ることはなく、DoiT はお客様の環境へのネットワークアクセスを一切必要とせず、エクスポーターはプロンプトやレスポンスの内容を読み取ったり送信したりしません。

概算の支出額

LiteLLM は、モデルの価格マップに報告トークン数を掛け合わせてコストを算出します。ここには、お客様が設定したモデルごとのカスタム料金も含まれますが、プロバイダーの請求書に基づくものではありません。そのため、LiteLLM のデータは請求用の実績値ではなく、見える化(ショーバック)として取り扱ってください。すべてのイベントには cost_basis: estimated というシステムラベルが付与されます。プロバイダー側の請求データとは、Anthropic および OpenAI とのインテグレーションを使って突き合わせることができます。

前提条件

  • セルフホスト型の LiteLLM プロキシ(バージョン 1.65 以降)で、データベース(支出ログ)が有効化されていること。リクエスト単位の粒度(デフォルトモード)には、/spend/logs エンドポイントがリクエスト単位の行をサポートする、より新しいプロキシが必要です。v1.65 付近のプロキシを使用している場合は、代わりに MODE=daily でエクスポーターを実行してください。エクスポーターは起動時にプロキシの機能をチェックし、サポートされているモードを通知します。

  • 利用中の DoiT のティアに DataHub サブスクリプションが含まれていること。

  • API トークンを作成するための DataHub Admin 権限を持つ DoiT アカウント。

  • プロキシの横で小さなコンテナまたはバイナリを 1 つ実行できる環境(Kubernetes・docker-compose・VM など)。

DoiT API トークンを作成する

  1. DoiT コンソール にサインインし、アバターを選択してから Profile を選択します。

  2. API タブを開き、Create token を選択します。

  3. DataHubAdmin スコープを選択し、トークンにわかりやすい名前を付け、表示されたトークンをコピーします。完全なトークンは一度しか表示されません。

エクスポーターを実行する

エクスポーターには 3 つの設定が必要です。プロキシの URL、LiteLLM の管理者用仮想キー(お客様のプロキシに対してのみ使用)、および DoiT API トークンです。

docker run -d --name litellm-datahub-exporter \
-e LITELLM_BASE_URL=http://litellm:4000 \
-e LITELLM_API_KEY=sk-... \
-e DOIT_API_KEY=... \
-v litellm-exporter-state:/state -e STATE_FILE=/state/state.json \
ghcr.io/doitintl/litellm-datahub-exporter:latest

Kubernetes 上では、エクスポーターのリポジトリにある Helm チャートを使用し、LiteLLM デプロイメントごとに 1 つのエクスポーター を実行します。レプリカ構成のプロキシ Pod は 1 つのデータベースを共有するため、エクスポーターは 1 つで十分です。Helm チャート・docker-compose・systemd・エアギャップ環境向けのデプロイオプションや、ポーリング間隔・バックフィルの深さ・高ボリューム向け日次集約モードなど、完全な設定リファレンスについては exporter README を参照してください。

エクスポーターはオープンソース(Apache-2.0)であり、お客様のセキュリティチームは実行されるコードをすべて確認できます。コンテナイメージとスタティックバイナリはリリースごとに公開 CI ワークフローでビルドされ、キー管理不要な cosign で署名されています。検証コマンドについては Verifying a release を参照してください。コンテナではなくバイナリを利用したい場合は、リポジトリの Releases ページからダウンロードしてください。

セットアップを検証するには、--once フラグを付けて 1 回分のエクスポートサイクルを実行してください。約 15 分以内に、DoiT コンソールの DataHub > Datasets > LiteLLM の下に支出データが表示され、Cloud Analytics レポートでは LiteLLM プロバイダーとして確認できます。

トラフィックにラベルを付ける

アトリビューションラベルは、アプリケーションから LiteLLM を呼び出す方法に基づいて付与されます。

  • Customer: 各リクエストの OpenAI user パラメータに、エンドカスタマーの識別子を設定します。

  • Feature: リクエストに metadata: {"spend_logs_metadata": {"feature": "your-feature-name"}} を渡します。

  • TeamVirtual key: 呼び出しに使用された LiteLLM キーから自動的に導出されます。可読性の高い名前を使えるように、LiteLLM 側でキーのエイリアスを設定してください。

  • Tag: LiteLLM のリクエストタグであり、リクエストボディまたは x-litellm-tags ヘッダーから取得されます。

レポートのディメンション

Cloud Analytics ディメンションLiteLLM の値
ProviderDataHub のデータセット名LiteLLM
Service上流のモデルプロバイダーanthropic, openai, bedrock
SKU呼び出し元が要求したモデル名claude-sonnet-5

標準ディメンションに加え、次のラベルを利用できます。

Label説明
provider / model上流のプロバイダーとモデル
virtual_keyLiteLLM の仮想キー(エイリアスがあればエイリアス)
teamキーが属する LiteLLM チーム
featurespend_logs_metadata に設定した機能名
customeruser パラメータに設定したエンドカスタマーの識別子
tagLiteLLM のリクエストタグ

メトリクスには、Cost(概算)、Usage(トークン総数)、および DataHub メトリクスである Prompt TokensCompletion Tokens が含まれます。

注意

LiteLLM のコストは、他のサポート対象 GenAI プロバイダーと並んで GenAI Intelligence ダッシュボードに表示されます。

データの更新とバックフィル

エクスポーターはデフォルトで 5 分ごとにプロキシをポーリングし、イベントは送信から約 15 分後に Cloud Analytics 上で表示されます。初回実行時には BACKFILL_DAYS を設定して履歴をインポートしてください。バックフィルの範囲は、LiteLLM の支出ログ保持設定と DataHub の 2 年間の保持期間によって制限されます。再実行は冪等であり、エクスポーターの再起動や同じ期間の再エクスポートを行っても、イベントが二重計上されるのではなく既存イベントが更新されます。

LiteLLM データを削除する

エクスポーターを停止し、DoiT コンソールDataHub > Datasets から LiteLLM データセットを削除してください。データセットを削除すると、そのデータセットに紐づくすべてのイベントが Cloud Analytics から削除されます。