BerriAI/litellmView GitHub Homepage for Latest Official Releases
統一LLM API呼び出しゲートウェイ。100以上の大規模言語モデルプロバイダーのOpenAI形式の呼び出しをサポート。
NOASSERTIONPythonlitellmBerriAI 27.0k Last Updated: August 07, 2025
LiteLLM - 大規模言語モデルAPI呼び出しの統一ゲートウェイ
プロジェクト概要
LiteLLMは、オープンソースのPython SDKおよびプロキシサーバー(LLMゲートウェイ)であり、Bedrock、Azure、OpenAI、VertexAI、Cohere、Anthropic、Sagemaker、HuggingFace、Replicate、Groqなどの主要プロバイダーを含む100以上の大規模言語モデルAPIをOpenAI形式で呼び出すことができます。
GitHubアドレス:https://github.com/BerriAI/litellm
主要機能
1. 統一API形式
- 入力形式の標準化:すべてのプロバイダーの入力を統一形式に変換
- 出力形式の一貫性:テキスト応答は常に
['choices'][0]['message']['content']
で取得可能 - 多端点サポート:completion、embedding、image_generation端点をサポート
2. 高可用性保証
- 再試行/フォールバックロジック:複数のデプロイメント間での自動再試行とフォールバックをサポート(Azure/OpenAIなど)
- ルーティング機能:最適な利用可能なモデルへのインテリジェントなルーティング
- 負荷分散:複数のデプロイメント間でリクエスト負荷を分散
3. コストと権限の制御
- 予算管理:プロジェクト、APIキー、モデルごとに予算制限を設定
- レート制限:API呼び出しの過剰な使用を防止
- 使用状況追跡:詳細な呼び出し統計とコスト分析
主な特徴
Python SDK使用例
基本的な呼び出し
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"
messages = [{"content": "Hello, how are you?", "role": "user"}]
# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)
# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)
非同期呼び出しのサポート
from litellm import acompletion
import asyncio
async def test_get_response():
user_message = "Hello, how are you?"
messages = [{"content": user_message, "role": "user"}]
response = await acompletion(model="openai/gpt-4o", messages=messages)
return response
response = asyncio.run(test_get_response())
ストリーミング応答
from litellm import completion
response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
print(part.choices[0].delta.content or "")
プロキシサーバー機能
迅速な起動
pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000
クライアント呼び出し
import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://0.0.0.0:4000"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{
"role": "user",
"content": "this is a test request, write a short poem"
}]
)
サポートされているプロバイダー
LiteLLMは、以下の主要なLLMプロバイダーを30以上サポートしています。
主要なクラウドサービスプロバイダー
- OpenAI - GPTシリーズモデル
- Azure - Azure OpenAIサービス
- AWS - BedrockとSageMaker
- Google - Vertex AI、PaLM、Gemini
- Anthropic - Claudeシリーズモデル
オープンソースおよび専門プラットフォーム
- HuggingFace - オープンソースモデルホスティング
- Replicate - モデルAPIサービス
- Together AI - オープンソースモデル推論
- Groq - 高速推論チップ
- Ollama - ローカルモデル実行
特徴的な機能プラットフォーム
- Cohere - エンタープライズレベルのNLP
- AI21 - Jurassicモデル
- Perplexity - 検索拡張生成
- DeepInfra - 高性能推論
可観測性とログ記録
LiteLLMは、複数の監視およびログプラットフォームを組み込みでサポートしています。
import litellm
import os
os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"
litellm.success_callback = [
"lunary", "mlflow", "langfuse",
"athina", "helicone"
]
response = completion(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hi 👋"}]
)
サポートされている監視プラットフォーム:
- Lunary - LLMアプリケーション監視
- MLflow - 機械学習実験追跡
- Langfuse - LLMアプリケーション追跡
- Helicone - API呼び出し監視
- Athina - AIアプリケーション評価
エンタープライズレベルの機能
鍵管理システム
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{
"models": ["gpt-3.5-turbo", "gpt-4", "claude-2"],
"duration": "20m",
"metadata": {
"user": "user@company.com",
"team": "core-infra"
}
}'
Dockerデプロイメント
git clone https://github.com/BerriAI/litellm
cd litellm
echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env
docker-compose up
Web管理インターフェース
/ui
にアクセスして、視覚的な管理インターフェースを取得- 複数のプロジェクトの予算とレート制限を設定
- APIの使用状況をリアルタイムで監視
- ユーザーとチームの管理
技術仕様
システム要件
- Pythonバージョン:Python 3.7+が必要
- 依存関係:
openai>=1.0.0
(v1.0.0+が必須)pydantic>=2.0.0
(v1.40.14+が必須)
コード品質基準
- コードスタイル:Google Pythonスタイルガイドに従う
- フォーマットツール:Blackとisortを使用
- 型チェック:MyPyとPyright
- コードチェック:Ruffでlintチェック
安定性保証
- 安定バージョン:
-stable
タグ付きのDockerイメージを使用 - 負荷テスト:リリース前に12時間の負荷テストを実施
- 継続的インテグレーション:完全なCI/CDプロセス
商業サポート
エンタープライズ版の機能
- 高度なセキュリティ機能:シングルサインオン(SSO)統合
- 専門サポート:専用のDiscordおよびSlackサポート
- カスタム統合:カスタマイズされたLLMプロバイダー統合
- SLA保証:サービスレベル契約
- 機能の優先順位:企業ニーズの優先的な開発
コミュニティサポート
- GitHub Issues:機能リクエストと問題報告
- Discordコミュニティ:リアルタイムの交流とサポート
- ドキュメントの充実:詳細なAPIドキュメントとチュートリアル
使用シナリオ
1. マルチクラウドLLMデプロイメント
- ベンダーロックインの回避
- クロスプラットフォームモデルの呼び出しの実現
- 移行コストの削減
2. コスト最適化
- 最も安価な利用可能なモデルへのインテリジェントなルーティング
- 予算管理と使用状況の監視
- バッチAPI呼び出しの最適化
3. 高可用性アーキテクチャ
- 自動フェイルオーバー
- 負荷分散
- 複数地域へのデプロイメントのサポート
4. 開発効率の向上
- 統一されたAPIインターフェース
- モデルの切り替えの簡素化
- 豊富なSDKサポート
インストールとクイックスタート
基本的なインストール
pip install litellm
プロキシサーバーのインストール
pip install 'litellm[proxy]'
開発環境のセットアップ
git clone https://github.com/BerriAI/litellm
cd litellm
python -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"
uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload
まとめ
LiteLLMは、Rocket Money、Samsara、Lemonade、Adobeなどの著名な企業で採用されています。統一されたAPIインターフェース、強力なルーティング機能、およびエンタープライズレベルの管理機能を提供することにより、マルチLLM環境の管理の複雑さを大幅に簡素化し、現代のAIアプリケーション開発に最適な選択肢です。