RAG パイプラインのコスト:Embedding + 検索 + 生成
典型的な RAG クエリは Embedding $0.0003 + 生成 $0.005 = $0.0053。費用がかかるのは検索ではなく生成ステップ — そこを設計の中心に据えてください。
詳細な説明
3ステップのコスト内訳
典型的な RAG パイプラインの1クエリあたりコスト:
- クエリ Embedding — ユーザー質問(約50トークン)を Embedding → 50/1M × $0.02 = $0.000001
- ベクトル検索 — ベクトル DB 費用(Pinecone、Qdrant 等。LLM 費用ではない)→ プランによるが 約 $0.00005
- LLM 生成 — 検索チャンク(約 3,000 トークン)+ 回答(約 500 トークン)を GPT-4o で:
- 入力: 3,000/1M × $2.50 = $0.0075
- 出力: 500/1M × $10 = $0.005
- 合計: $0.0125
1クエリ合計: 約 $0.0126、生成ステップが支配的(コスト全体の99%)。
実際にコストが漏れる場所
3つのパターンが請求を大きく膨張させます:
top-k が大きすぎる — k=5 ではなく k=20 で取得すると、入力分が4倍になります。評価を実施してください。多くの場合、無関係なコンテキストで LLM が混乱するため、k=5 のほうが k=20 を上回ります。
コンテキスト圧縮なし — クエリあたり 3,000 トークンの検索結果は普通ですが、15,000 トークン(チャンクが巨大なため)は普通ではありません。チャンクサイズを 500 トークンで上限を切り、オーバーラップを 50 にします。
デプロイのたびに再 Embedding — コーパスの Embedding は1回限りのコストです。CI/CD パイプラインに含めず、増分更新のみを設定してください。
システムプロンプトのキャッシュ化
ほとんどの RAG 製品は固定のシステムプロンプト + few-shot 例(約 3,000 トークン)の後にクエリごとの検索チャンク(約 3,000 トークン)+ 質問(約 50 トークン)が続きます。最初の 3,000 トークンはプロンプトキャッシュに最適:
- キャッシュなし:6,050 入力トークン × $2.50/1M = $0.0151
- キャッシュあり(ヒット想定):3,000 read + 3,050 fresh × ($1.25 + $2.50)/1M ≒ $0.0114
設定変更1つで25%削減です。
生成モデルの選び方
ほとんどの RAG フローでは GPT-4o mini($0.15 / $0.60 per 1M)が GPT-4o の品質と並びます。1ティア下げて再評価してください — 17倍の節約になります。
ユースケース
検索拡張アプリケーションを設計・チューニングする際に使ってください:ナレッジベース付きカスタマーサポートボット、コードドキュメント Q&A、社内ウィキ検索、契約書解析など。