litellm は何をしますか?
分散型プロダクションアプリケーション全体で、ターゲットモデルのクレデンシャルを保護するセキュアなアクセストークン管理レイヤー。
概要
このスキルは、複数のLLMプロバイダーのAPIキーを集中的に管理し、各アプリケーションに安全なトークンを発行することで、認証情報の漏洩を防止します。
機能
- 一元管理: 複数のLLMプロバイダー(OpenAI、Anthropic、Cohere、Azure OpenAIなど)のAPIキーを単一のプロキシで管理します。
- トークンベース認証: 各アプリケーションに発行されたアクセストークンを使用して、安全にAPIリクエストを送信できます。
- レート制限と使用量管理: トークンごとにレート制限や使用量の上限を設定し、コストを制御します。
- 監査ログ: すべてのAPIリクエストを記録し、使用状況の分析やトラブルシューティングに役立てます。
使用方法
-
litellmプロキシの起動: プロキシサーバーを起動し、環境変数または設定ファイルでプロバイダーのAPIキーを指定します。
litellm --model gpt-3.5-turbo --port 4000 -
アクセストークンの生成: プロキシの管理APIを使用して、各アプリケーション用のトークンを生成します。
curl -X POST http://localhost:4000/token/new \ -H "Authorization: Bearer sk-admin-key" \ -H "Content-Type: application/json" \ -d '{"models": ["gpt-3.5-turbo"], "max_budget": 10.0}' -
アプリケーションからの呼び出し: 発行されたトークンを使用して、プロキシ経由でLLMにリクエストを送信します。
import openai client = openai.OpenAI( api_key="sk-your-generated-token", base_url="http://localhost:4000" ) response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello!"}] )
環境変数
LITELLM_MASTER_KEY: 管理API用のマスターキー(必須)OPENAI_API_KEY: OpenAIのAPIキーANTHROPIC_API_KEY: AnthropicのAPIキーAZURE_API_KEY: Azure OpenAIのAPIキー- その他のプロバイダーについても同様に環境変数で設定可能
注意事項
- セキュリティのため、マスターキーやプロバイダーのAPIキーは安全に保管してください。
- トークンには必要最小限の権限(モデル、予算など)を設定することを推奨します。
- プロキシサーバーはHTTPSで公開するなど、ネットワークレベルでの保護を検討してください。