はじめに
Proxy Config.yamlは、LiteLLMを使用する際に必要な設定ファイルです。このファイルでは、使用するモデルやAPIキー、プロキシサーバーの設定など、様々な項目を定義することができます。この記事では、初心者の方でも理解しやすいように、Proxy Config.yamlの各設定項目について詳しく説明します。
Proxy Config.yamlの基本構造
Proxy Config.yamlは、以下のような構造になっています。
model_list:
- model_name: モデル名
litellm_params:
model: LiteLLMに渡すモデル名
api_base: APIのベースURL
api_key: APIキー
rpm: リクエスト制限(1分あたりのリクエスト数)
litellm_settings:
drop_params: Trueまたは False
success_callback: コールバック関数名
general_settings:
master_key: マスターキー
alerting: アラート設定
各設定項目の説明
model_list
- model_list は、使用するモデルの一覧を定義するセクションです。
- model_name は、ユーザーがモデルを指定する際に使用する名前です。
- litellm_params は、LiteLLMに渡すパラメータを設定します。
- model: LiteLLMに渡すモデル名を指定します。
- api_base: APIのベースURLを指定します。
- api_key: APIキーを指定します。環境変数から読み込むこともできます。
- rpm: 1分あたりのリクエスト制限を設定します。
litellm_settings
- litellm_settings は、LiteLLMモジュールレベルの設定を定義するセクションです。
- drop_params: 不要なパラメータを削除するかどうかを設定します。
- success_callback: 処理が成功した際に呼び出すコールバック関数を指定します。
general_settings
- general_settings は、全体的な設定を定義するセクションです。
- master_key: すべてのリクエストに必要なマスターキーを設定します。
- alerting: アラート設定を指定します。
使用例
以下は、Proxy Config.yamlの設定例です。
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: azure/gpt-turbo-small-eu
api_base: https://my-endpoint-europe-berri-992.openai.azure.com/
api_key: "os.environ/AZURE_API_KEY_EU"
rpm: 6
litellm_settings:
drop_params: True
success_callback: ["langfuse"]
general_settings:
master_key: sk-1234
alerting: ["slack"]
この設定例では、以下のような内容になっています。
- gpt-3.5-turboというモデル名で、azure/gpt-turbo-small-euモデルを使用。
- APIベースURLとAPIキーを指定し、1分あたり6リクエストに制限。
- 不要なパラメータを削除し、成功時にlangfuseコールバックを呼び出す。
- マスターキーを設定し、Slackにアラートを送信。
高度な設定例の解説
model_list:
- model_name: gpt-3.5-turbo ### RECEIVED MODEL NAME ###
litellm_params: # all params accepted by litellm.completion() - https://docs.litellm.ai/docs/completion/input
model: azure/gpt-turbo-small-eu ### MODEL NAME sent to `litellm.completion()` ###
api_base: https://my-endpoint-europe-berri-992.openai.azure.com/
api_key: "os.environ/AZURE_API_KEY_EU" # does os.getenv("AZURE_API_KEY_EU")
rpm: 6 # [OPTIONAL] Rate limit for this deployment: in requests per minute (rpm)
model_name
: ユーザーがモデルを指定する際に使用する名前です。この例では、gpt-3.5-turbo
という名前が設定されています。litellm_params
: LiteLLMに渡すパラメータを設定します。model
: LiteLLMに渡すモデル名を指定します。この例では、azure/gpt-turbo-small-eu
というAzure上のGPT-3.5-turboモデルが使用されています。api_base
: APIのベースURLを指定します。この例では、ヨーロッパのエンドポイントが使用されています。api_key
: APIキーを指定します。この例では、環境変数AZURE_API_KEY_EU
から読み込むように設定されています。rpm
: 1分あたりのリクエスト制限を設定します。この例では、6リクエストに制限されています。
- model_name: bedrock-claude-v1
litellm_params:
model: bedrock/anthropic.claude-instant-v1
- この例では、
bedrock-claude-v1
というモデル名で、Anthropic社のClaude-instant-v1モデルが使用されています。
- model_name: gpt-3.5-turbo
litellm_params:
model: azure/gpt-turbo-small-ca
api_base: https://my-endpoint-canada-berri992.openai.azure.com/
api_key: "os.environ/AZURE_API_KEY_CA"
rpm: 6
- この例では、
gpt-3.5-turbo
というモデル名で、Azure上のカナダリージョンのGPT-3.5-turboモデルが使用されています。 - APIベースURLとAPIキーがカナダリージョン用に設定され、1分あたり6リクエストに制限されています。
- model_name: anthropic-claude
litellm_params:
model: bedrock/anthropic.claude-instant-v1
### [OPTIONAL] SET AWS REGION ###
aws_region_name: us-east-1
- この例では、
anthropic-claude
というモデル名で、Anthropic社のClaude-instant-v1モデルが使用されています。 - オプションで、AWSリージョンを
us-east-1
に設定しています。
- model_name: vllm-models
litellm_params:
model: openai/facebook/opt-125m # the `openai/` prefix tells litellm it's openai compatible
api_base: http://0.0.0.0:4000
rpm: 1440
model_info:
version: 2
- この例では、
vllm-models
というモデル名で、OpenAI互換のFacebook OPT-125mモデルが使用されています。 - APIベースURLはローカルホストの4000番ポートに設定され、1分あたり1440リクエストに制限されています。
model_info
セクションでは、モデルのバージョン情報を指定しています。
litellm_settings: # module level litellm settings - https://github.com/BerriAI/litellm/blob/main/litellm/__init__.py
drop_params: True
success_callback: ["langfuse"] # OPTIONAL - if you want to start sending LLM Logs to Langfuse. Make sure to set `LANGFUSE_PUBLIC_KEY` and `LANGFUSE_SECRET_KEY` in your env
litellm_settings
セクションでは、LiteLLMモジュールレベルの設定を定義しています。drop_params
をTrue
に設定することで、不要なパラメータを削除します。- オプションで、
success_callback
にLangfuseを指定し、LLMログをLangfuseに送信できます。その際は、環境変数でLANGFUSE_PUBLIC_KEY
とLANGFUSE_SECRET_KEY
を設定する必要があります。
general_settings:
master_key: sk-1234 # [OPTIONAL] Only use this if you to require all calls to contain this key (Authorization: Bearer sk-1234)
alerting: ["slack"] # [OPTIONAL] If you want Slack Alerts for Hanging LLM requests, Slow llm responses, Budget Alerts. Make sure to set `SLACK_WEBHOOK_URL` in your env
general_settings
セクションでは、全体的な設定を定義しています。- オプションで、
master_key
を設定することで、すべてのリクエストにマスターキーを要求できます。 - オプションで、
alerting
にslack
を指定することで、LLMリクエストの中断、遅延、予算超過などのアラートをSlackに送信できます。その際は、環境変数でSLACK_WEBHOOK_URL
を設定する必要があります。
まとめ
Proxy Config.yamlは、LiteLLMを使用する際に重要な設定ファイルです。この記事では、初心者の方でもわかりやすいように、各設定項目について詳しく解説しました。適切に設定することで、LiteLLMをスムーズに利用することができます。ぜひ参考にしてみてください。
参考サイト
Proxy Config.yaml | liteLLM
Set model list, apibase, apikey, temperature & proxy server settings (master-key) on the config.yaml.
コメント