跳至主要内容

限制模型访问

通过虚拟密钥限制模型

使用 models 参数设置允许的型号

curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer <your-master-key>' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["gpt-3.5-turbo", "gpt-4"]}'
信息

此密钥只能向 models 中为 gpt-3.5-turbogpt-4 的型号发出请求

通过以下方式验证是否已正确设置

curl -i https://:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'

API 参考

通过 team_id 限制模型

litellm-dev 只能访问 azure-gpt-3.5

1. 通过 /team/new 创建团队

curl --location 'https://:4000/team/new' \
--header 'Authorization: Bearer <your-master-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"team_alias": "litellm-dev",
"models": ["azure-gpt-3.5"]
}'

# returns {...,"team_id": "my-unique-id"}

2. 为团队创建密钥

curl --location 'https://:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"team_id": "my-unique-id"}'

3. 测试它

curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-qo992IjKOC2CHKZGRoJIGA' \
--data '{
"model": "BEDROCK_GROUP",
"messages": [
{
"role": "user",
"content": "hi"
}
]
}'
{"error":{"message":"Invalid model for team litellm-dev: BEDROCK_GROUP.  Valid models for team are: ['azure-gpt-3.5']\n\n\nTraceback (most recent call last):\n  File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/proxy_server.py\", line 2298, in chat_completion\n    _is_valid_team_configs(\n  File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/utils.py\", line 1296, in _is_valid_team_configs\n    raise Exception(\nException: Invalid model for team litellm-dev: BEDROCK_GROUP.  Valid models for team are: ['azure-gpt-3.5']\n\n","type":"None","param":"None","code":500}}%            

API 参考

查看可用备用模型

使用 /v1/models 端点来发现给定模型的可用备用模型。 这有助于您了解在主模型不可用或受限制时可用的备份模型。

扩展点

include_metadata 参数充当未来扩展其他模型元数据的扩展点。 虽然目前专注于备用模型,但这种方法将扩展到包括其他模型元数据,例如定价信息、功能、速率限制等。

基本用法

获取所有可用模型

curl -X GET 'https://:4000/v1/models' \
-H 'Authorization: Bearer <your-api-key>'

包含元数据获取备用模型

包含元数据以查看备用模型信息

curl -X GET 'https://:4000/v1/models?include_metadata=true' \
-H 'Authorization: Bearer <your-api-key>'

获取特定备用类型

您可以指定想要查看的备用类型

curl -X GET 'https://:4000/v1/models?include_metadata=true&fallback_type=general' \
-H 'Authorization: Bearer <your-api-key>'

通用备用是能够处理相同类型请求的替代模型。

示例响应

当指定 include_metadata=true 时,响应包括备用信息

{
"data": [
{
"id": "gpt-4",
"object": "model",
"created": 1677610602,
"owned_by": "openai",
"fallbacks": {
"general": ["gpt-3.5-turbo", "claude-3-sonnet"],
"context_window": ["gpt-4-turbo", "claude-3-opus"],
"content_policy": ["claude-3-haiku"]
}
}
]
}

用例

  • 高可用性:识别备份模型以确保服务连续性
  • 成本优化:在主模型昂贵时找到更便宜的替代方案
  • 内容过滤:发现具有不同内容策略的模型
  • 上下文长度:找到可以处理更大输入的模型
  • 负载均衡:在多个兼容模型之间分配请求

API 参数

参数类型描述
include_metadata布尔值包含其他模型元数据,包括备用模型
fallback_typestring按类型过滤备用:generalcontext_windowcontent_policy

高级:模型访问组

对于高级用例,请使用 模型访问组 来动态分组多个模型并管理访问,而无需重新启动代理。

基于角色的访问控制 (RBAC)