LLM Router(エルエルエムルーター)
LLMへのリクエストを受信し、クエリの分析結果に基づいて最適なモデルやエンドポイントへ転送するミドルウェアコンポーネント。APIゲートウェイとしてリトライ、フォールバック、レート制限、コスト追跡などの運用機能も統合する。
LLM Routerとは
LLM Router(LLMルーター)とは、アプリケーションとLLMプロバイダの間に配置されるミドルウェアで、リクエストの振り分け・負荷分散・フォールバック制御・コスト管理を一元的に担うコンポーネントである。ネットワークルーターがパケットを最適な経路へ転送するように、LLMルーターはプロンプトを最適なモデルへ転送する。
LLM Routerの主要機能
| 機能 | 説明 | 運用上のメリット |
|---|---|---|
| モデル選択 | クエリに応じた最適モデル振り分け | 品質/コストの最適化 |
| 負荷分散 | 同一モデルの複数エンドポイントへの分散 | レート制限回避・可用性向上 |
| フォールバック | プロバイダ障害時の自動切替 | ダウンタイムゼロ |
| リトライ | 429/500エラー時の自動リトライ | エラー率低減 |
| レート制限 | テナント別/ユーザー別のリクエスト制限 | 予算超過防止 |
| コスト追跡 | モデル別・テナント別の利用量記録 | コスト可視化 |
| キャッシュ | 同一クエリへの応答キャッシュ | レイテンシ・コスト削減 |
| ログ記録 | 全リクエスト/レスポンスの構造化ログ | 監査・デバッグ |
主要なOSS LLMルーター
LiteLLM
Python製のLLMプロキシで、OpenAI互換APIを提供する。100以上のLLMプロバイダ(OpenAI、Anthropic、Google、Azure、AWS Bedrock、ローカルモデル等)を統一インターフェースで利用可能。Docker化された管理UIとPostgreSQLベースの利用量追跡を備える。
OpenRouter
複数LLMプロバイダを統合するクラウドサービス。単一のAPIキーで200以上のモデルにアクセスでき、プロバイダ間の自動フォールバックやモデル比較機能を提供する。無料ティアあり。
Portkey AI Gateway
エンタープライズ向けのAIゲートウェイ。200以上のモデル対応、A/Bテスト、ガードレール統合、仮想キー管理、詳細な分析ダッシュボードを備える。オンプレミスデプロイも可能。
MLflow AI Gateway(旧MLflow Deployments)
MLflowエコシステムの一部として提供されるLLMゲートウェイ。既存のMLflow基盤を持つ組織に適しており、実験追跡やモデルレジストリとの統合が容易。
ルーターの配置パターン
LLMルーターは以下の3パターンで配置される:
- サイドカー型: アプリケーションと同一サーバー/コンテナに配置。レイテンシ最小だが管理が分散する
- ゲートウェイ型: 独立したサービスとして集中配置。全リクエストが通過するため一元管理が可能。LiteLLMのDockerデプロイがこのパターン
- ライブラリ型: アプリケーション内にSDKとして組み込み。外部サービス不要だがアプリケーション言語に依存する
LiteLLMの設定例
LiteLLMの基本的なルーティング設定:
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
- model_name: claude-sonnet
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: gemini-pro
litellm_params:
model: gemini/gemini-2.5-pro
api_key: os.environ/GOOGLE_API_KEY
router_settings:
routing_strategy: least-busy
num_retries: 3
timeout: 60
fallbacks:
- gpt-4o: [claude-sonnet, gemini-pro]
この設定では、gpt-4oが障害時にclaude-sonnet、次にgemini-proへ自動フォールバックする。
APIキー管理とセキュリティ
LLMルーターはAPIキーの集中管理ポイントとなるため、セキュリティ上の重要性が高い:
- 仮想キー: エンドユーザーにはルーター発行の仮想キーを配布し、実際のプロバイダAPIキーはルーター内部で管理する
- キーローテーション: プロバイダのAPIキーを定期的にローテーションしても、仮想キーは変更不要
- 監査ログ: 全リクエストのログにユーザーID・モデル・コスト・レイテンシを記録し、不正利用を検出
FAQ
Q1: LLMルーターとAPIゲートウェイ(Kong/Nginx等)の違いは何ですか?
A1: 汎用APIゲートウェイはHTTPレベルの負荷分散・認証を担いますが、LLM固有の機能(トークンカウント、モデル別コスト計算、プロンプトキャッシュ、ストリーミング対応)は持ちません。LLMルーターはこれらLLM固有の運用要件に特化したミドルウェアです。
Q2: LLMルーターを自前で実装すべきですか、OSSを使うべきですか?
A2: 特別な要件がない限りOSS(LiteLLMやPortkey)の採用を推奨します。LLMプロバイダのAPI仕様は頻繁に変更されるため、自前実装ではメンテナンスコストが膨大になります。OSSはコミュニティが変更に追従するため、運用負荷を大幅に削減できます。
Q3: ルーターのダウンタイムはサービス全体に影響しますか?
A3: ゲートウェイ型の場合、ルーター自体がSPOF(単一障害点)になりえます。対策として、ルーターを複数インスタンスで冗長化し、ロードバランサーの背後に配置することが推奨されます。LiteLLMはステートレス設計のため、水平スケールが容易です。