Litellm:Proxy Config.yamlの設定方法と使い方を徹底解説!

LiteLLM

はじめに

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_paramsTrueに設定することで、不要なパラメータを削除します。
  • オプションで、success_callbackにLangfuseを指定し、LLMログをLangfuseに送信できます。その際は、環境変数でLANGFUSE_PUBLIC_KEYLANGFUSE_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を設定することで、すべてのリクエストにマスターキーを要求できます。
  • オプションで、alertingslackを指定することで、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.

コメント

タイトルとURLをコピーしました