オープンソースAI APIゲートウェイ比較:LiteLLM vs Portkey でマルチLLM APIを統合管理する
オープンソースラボ編集部 ・ 2026年6月13日
オープンソースAI APIゲートウェイ比較:LiteLLM vs Portkey でマルチLLM APIを統合管理する
OpenAI・Anthropic・Google Gemini・Mistral・ローカルLLMを横断して使いたいとき、それぞれのSDKを個別に管理するのは大変です。LiteLLMはOpenAI互換のプロキシとして100以上のLLMプロバイダーを統一インターフェースで管理できるオープンソースAI APIゲートウェイです。
AI APIゲートウェイが解決する問題
複数のLLMプロバイダーを使うときの課題:
- SDKの乱立: OpenAI SDK・Anthropic SDK・Google SDK……それぞれ異なる
- コスト管理: どのAPIにいくら使っているか把握困難
- フォールバック: OpenAIが障害のときAnthropicに自動切り替えしたい
- レート制限: チームメンバーごとのAPI使用量を制限したい
主要ツールの概要
LiteLLM
100以上のLLMプロバイダーをOpenAI互換APIとして統一するPythonライブラリ&プロキシサーバーです。既存のOpenAI SDKコードをプロバイダー名だけ変えて他のLLMに切り替えられます。
# LiteLLMのインストール
pip install litellm
# Pythonライブラリとして使用
import litellm
# OpenAI GPT-4oを呼ぶ
response = litellm.completion(
model="gpt-4o",
messages=[{"role":"user","content":"こんにちは"}]
)
# Anthropic Claude 3.5 Sonnetを同じコードで呼ぶ
response = litellm.completion(
model="anthropic/claude-sonnet-4-6",
messages=[{"role":"user","content":"こんにちは"}]
)
# Ollama(ローカル)を呼ぶ
response = litellm.completion(
model="ollama/llama3.1:8b",
messages=[{"role":"user","content":"こんにちは"}],
api_base="http://localhost:11434"
)
# プロキシサーバーとして起動(OpenAI互換エンドポイント)
pip install 'litellm[proxy]'
litellm --model gpt-4o --port 4000
# 複数モデルとフォールバック設定(config.yaml)
model_list:
- model_name: my-llm
litellm_params:
model: gpt-4o
api_key: ${OPENAI_API_KEY}
- model_name: my-llm
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: ${ANTHROPIC_API_KEY}
router_settings:
routing_strategy: least-busy
fallbacks: [{"my-llm": ["anthropic/claude-sonnet-4-6"]}]
Portkey
LiteLLMに近いマルチLLMゲートウェイで、特にオブザーバビリティ(ログ・コスト追跡・トレーシング)が充実しているオープンソースツールです。
# Portkeyのセルフホスト
docker run -d --name portkey -p 8787:8787 -e OPENAI_API_KEY=$OPENAI_API_KEY -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY portkeyai/gateway:latest
from portkey_ai import Portkey
portkey = Portkey(
api_key="YOUR-PORTKEY-API-KEY",
virtual_key="OPENAI-VIRTUAL-KEY"
)
response = portkey.chat.completions.create(
messages=[{"role":"user","content":"こんにちは"}],
model="gpt-4o",
max_tokens=250
)
機能比較表
| 比較項目 | LiteLLM | Portkey |
|---|---|---|
| OpenAI互換API | ✅ | ✅ |
| 対応プロバイダー数 | 100+ | 200+ |
| フォールバック | ✅ | ✅ |
| ロードバランシング | ✅ | ✅ |
| レート制限 | ✅ | ✅ |
| コスト追跡 | ✅ | ✅ 高機能 |
| キャッシュ | ✅ | ✅ セマンティック |
| ログ/トレース | ✅ | ✅ 高機能 |
| WebUI | ✅ | ✅ |
| チームAPI Key管理 | ✅ | ✅ |
| プロンプト管理 | ❌ | ✅ |
| A/Bテスト(モデル) | ✅ | ✅ |
| Dockerデプロイ | ✅ | ✅ |
| Kubernetes Helm | ✅ | ✅ |
| ライセンス | MIT | MIT |
| GitHub Stars | 17k+ | 6k+ |
LiteLLMの自動フォールバック設定
LiteLLMのルーティング機能で「OpenAIが落ちたらAnthropicに自動切り替え」を実現できます:
from litellm import Router
router = Router(
model_list=[
{
"model_name": "gpt-4",
"litellm_params": {
"model": "gpt-4o",
"api_key": os.getenv("OPENAI_API_KEY"),
},
},
{
"model_name": "claude-3",
"litellm_params": {
"model": "anthropic/claude-sonnet-4-6",
"api_key": os.getenv("ANTHROPIC_API_KEY"),
},
},
],
fallbacks=[{"gpt-4": ["claude-3"]}],
context_window_fallbacks=[{"gpt-4": ["claude-3"]}],
)
response = await router.acompletion(
model="gpt-4",
messages=[{"role": "user", "content": "こんにちは"}]
)
LLM・AIツール全般はLLMツールカテゴリ(/categories/llm-tools)で確認でき、APIゲートウェイ・DevOpsツールはDevOpsカテゴリ(/categories/devops)でも探せます。
FAQ
Q. LiteLLMはどのLLMプロバイダーに対応していますか?
A. OpenAI・Anthropic・Google Gemini・Mistral・Cohere・Azure OpenAI・AWS Bedrock・Hugging Face・Ollama(ローカル)・vLLM(ローカル)・Perplexity・Groq・Replicate・Together AI等100以上のプロバイダーに対応しています。企業が使うほぼすべてのLLMAPIをカバーしています。
Q. LiteLLMプロキシはAIアプリのどこに置くべきですか?
A. AIアプリとLLMプロバイダーの間に置くリバースプロキシとして使います。フロントエンド/バックエンドのコードは全てhttp://litellm-proxy:4000に向け、LiteLLM側でプロバイダーの振り分け・フォールバック・コスト制限を管理します。これにより「どのモデルを使うか」という決定をアプリコードから分離できます。
Q. コスト管理はどのように行いますか?
A. LiteLLMはリクエストごとのトークン数・コストを自動計算し、PostgreSQLに記録します。ダッシュボードでユーザー・チーム・プロジェクトごとのコスト内訳を確認でき、予算上限(例: チームごとに月$100まで)を設定してオーバー時にリクエストを自動ブロックする機能があります。
Q. OpenAIのAPI KeyをLiteLLMに渡しても安全ですか?
A. LiteLLMをセルフホストする場合、APIキーは自社サーバーの環境変数に保管されます。LiteLLMサーバー自体はプロキシとして動作し、APIキーを外部に公開しません。チームメンバーにはLiteLLMの仮想キーを発行し、実際のAPI Keyをチームに知らせずにLLMを使わせることができます。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| マルチLLM統合・フォールバック | LiteLLM |
| 高度なオブザーバビリティ・コスト管理 | Portkey |
| Pythonライブラリとして使う | LiteLLM |
| チーム向けAPIKey管理 | LiteLLM Proxy |