跳至主要内容

模型访问方式

概念

每个接入的模型在 LiteLLM 中都被称为一个“模型部署”(model deployment)。

通过 config.yaml 中的 "model_name" 字段,将这些模型部署分配给一个“模型组”(model group)。

示例

model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY

在此处,我们为 gpt-4o 模型接入了一个模型部署,并将其分配给 my-custom-model 模型组。

客户端请求

以下是客户端请求的示例

curl --location 'https://:4000/chat/completions' \
-H 'Authorization: Bearer <your-api-key>' \
-H 'Content-Type: application/json' \
-d '{"model": "my-custom-model", "messages": [{"role": "user", "content": "Hello, how are you?"}]}'

访问控制

当你授予某个密钥/用户/团队访问权限时,你实际上是授予了他们对某个“模型组”的访问权限。

示例

curl --location 'https://:4000/key/generate' \
--header 'Authorization: Bearer <your-master-key>' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["my-custom-model"]}'

负载均衡

你可以将多个模型部署添加到同一个“模型组”中。LiteLLM 将自动在组内的各模型部署之间进行请求负载均衡。

示例

model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
- model_name: my-custom-model
litellm_params:
model: azure/gpt-4o
api_key: os.environ/AZURE_API_KEY
api_base: os.environ/AZURE_API_BASE
api_version: os.environ/AZURE_API_VERSION

通过这种方式,你可以最大化利用多个模型部署的速率限制。

回退

你可以在模型组之间设置故障转移(fallback)。如果某个“模型组”中的所有“模型部署”均不可用(例如返回 429 错误),这将非常有用。

示例

model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
- model_name: my-other-model
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY

litellm_settings:
fallbacks: [{"my-custom-model": ["my-other-model"]}]

故障转移按顺序执行,因此会优先尝试列表中的第一个模型组。如果失败,则会尝试下一个模型组。

进阶:模型访问组

针对高级用例,请使用 模型访问组 来动态组合多个模型,并在无需重启代理的情况下管理访问权限。

🚅
LiteLLM 企业版
SSO/SAML、审计日志、支出跟踪、多团队管理和护栏 —— 专为生产环境构建。
了解更多 →