Skip to main content

Proxy Config.yaml

config.yaml中设置模型列表、api_baseapi_keytemperature以及代理服务器设置(master-key)。

参数名称描述
model_list服务器上支持的模型列表,包含模型特定的配置
router_settingslitellm路由器设置,例如routing_strategy="least-busy" 查看所有
litellm_settingslitellm模块设置,例如litellm.drop_params=Truelitellm.set_verbose=Truelitellm.api_baselitellm.cache 查看所有
general_settings服务器设置,例如设置master_key: sk-my_special_key
environment_variables环境变量示例,REDIS_HOSTREDIS_PORT

完整列表: 查看Swagger UI文档<your-proxy-url>/#/config.yaml(例如 http://0.0.0.0:4000/#/config.yaml),了解所有可以在`config.yaml`中传递的参数。

快速开始

为你的部署设置模型别名。

config.yaml中,model_name参数是用于部署的用户可见名称。

在下面的配置中:

  • model_name: 从外部客户端传递给litellm的名称
  • litellm_params.model: 传递给litellm.completion()函数的模型字符串

例如:

  • model=vllm-models 将路由到 openai/facebook/opt-125m
  • model=gpt-3.5-turbo 将在azure/gpt-turbo-small-euazure/gpt-turbo-small-ca之间进行负载均衡
model_list:
- model_name: gpt-3.5-turbo ### 接收的模型名称 ###
litellm_params: # litellm.completion()接受的所有参数 - https://docs.litellm.ai/docs/completion/input
model: azure/gpt-turbo-small-eu ### 传递给`litellm.completion()`的模型名称 ###
api_base: https://my-endpoint-europe-berri-992.openai.azure.com/
api_key: "os.environ/AZURE_API_KEY_EU" # 执行 os.getenv("AZURE_API_KEY_EU")
rpm: 6 # [可选] 此部署的速率限制:每分钟请求数(rpm)
- model_name: bedrock-claude-v1
litellm_params:
model: bedrock/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
- model_name: anthropic-claude
litellm_params:
model: bedrock/anthropic.claude-instant-v1
### [可选] 设置AWS区域 ###
aws_region_name: us-east-1
- model_name: vllm-models
litellm_params:
model: openai/facebook/opt-125m # `openai/`前缀告诉litellm它是openai兼容的
api_base: http://0.0.0.0:4000/v1
api_key: none
rpm: 1440
model_info:
version: 2

# 如果你想对`claude-3-haiku-20240307`、`claude-3-opus-20240229`、`claude-2.1`进行请求,而不在config.yaml中定义它们
# 默认模型
# 适用于所有提供者,并且需要在.env中设置默认提供者凭据
- model_name: "*"
litellm_params:
model: "*"

litellm_settings: # 模块级别的litellm设置 - https://github.com/BerriAI/litellm/blob/main/litellm/__init__.py
drop_params: True
success_callback: ["langfuse"] # 可选 - 如果你想开始向Langfuse发送LLM日志。确保在环境变量中设置`LANGFUSE_PUBLIC_KEY`和`LANGFUSE_SECRET_KEY`

general_settings:
master_key: sk-1234 # [可选] 只有当你想要求所有调用都包含此密钥时才使用(Authorization: Bearer sk-1234)
alerting: ["slack"] # [可选] 如果你想要Slack警报用于挂起的LLM请求、缓慢的LLM响应、预算警报。确保在环境变量中设置`SLACK_WEBHOOK_URL`
info

更多提供者特定信息,请点击此处

第二步:使用配置启动代理

$ litellm --config /path/to/config.yaml
tip

如果需要详细的调试日志,请运行带有--detailed_debug的命令

$ litellm --config /path/to/config.yaml --detailed_debug

第三步:测试

config.yamlmodel_name=gpt-3.5-turbo的模型发送请求。

如果有多个model_name=gpt-3.5-turbo,则进行负载均衡

Langchain, OpenAI SDK 使用示例

curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data ' {
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你是什么llm"
}
],
}
'

LLM配置 model_list

模型特定参数(API Base、Keys、Temperature、Max Tokens、Organization、Headers等)

你可以使用配置文件来保存特定于模型的信息,如api_base、api_key、temperature、max_tokens等。

所有输入参数

步骤1:创建一个config.yaml文件

model_list:
- model_name: gpt-4-team1
litellm_params: # litellm.completion()的参数 - https://docs.litellm.ai/docs/completion/input#input---request-body
model: azure/chatgpt-v-2
api_base: https://openai-gpt-4-test-v-1.openai.azure.com/
api_version: "2023-05-15"
azure_ad_token: eyJ0eXAiOiJ
seed: 12
max_tokens: 20
- model_name: gpt-4-team2
litellm_params:
model: azure/gpt-4
api_key: sk-123
api_base: https://openai-gpt-4-test-v-2.openai.azure.com/
temperature: 0.2
- model_name: openai-gpt-3.5
litellm_params:
model: openai/gpt-3.5-turbo
extra_headers: {"AI-Resource Group": "ishaan-resource"}
api_key: sk-123
organization: org-ikDc4ex8NB
temperature: 0.2
- model_name: mistral-7b
litellm_params:
model: ollama/mistral
api_base: your_ollama_api_base

步骤2:使用配置文件启动服务器

$ litellm --config /path/to/config.yaml

预期日志:

在控制台日志中查找此行以确认config.yaml已正确加载。

LiteLLM: Proxy initialized with Config, Set models:

嵌入模型 - 使用 Sagemaker、Bedrock、Azure、OpenAI、XInference

查看支持的嵌入提供商和模型 这里

model_list:
- model_name: bedrock-cohere
litellm_params:
model: "bedrock/cohere.command-text-v14"
aws_region_name: "us-west-2"
- model_name: bedrock-cohere
litellm_params:
model: "bedrock/cohere.command-text-v14"
aws_region_name: "us-east-2"
- model_name: bedrock-cohere
litellm_params:
model: "bedrock/cohere.command-text-v14"
aws_region_name: "us-east-1"

以下是如何在代理服务器上进行 GPT-J 嵌入(Sagemaker 端点)、Amazon Titan 嵌入(Bedrock)和 Azure OpenAI 嵌入之间的路由:

model_list:
- model_name: sagemaker-embeddings
litellm_params:
model: "sagemaker/berri-benchmarking-gpt-j-6b-fp16"
- model_name: amazon-embeddings
litellm_params:
model: "bedrock/amazon.titan-embed-text-v1"
- model_name: azure-embeddings
litellm_params:
model: "azure/azure-embedding-model"
api_base: "os.environ/AZURE_API_BASE" # os.getenv("AZURE_API_BASE")
api_key: "os.environ/AZURE_API_KEY" # os.getenv("AZURE_API_KEY")
api_version: "2023-07-01-preview"

general_settings:
master_key: sk-1234 # [可选] 如果设置,所有对代理的调用都需要此密钥或有效的生成的令牌
LiteLLM 代理支持所有 特征提取嵌入模型
model_list:
- model_name: deployed-codebert-base
litellm_params:
# 发送请求到已部署的 Hugging Face 推理端点
model: huggingface/microsoft/codebert-base # 添加 huggingface 前缀以便路由到 Hugging Face
api_key: hf_LdS # Hugging Face 推理端点的 API 密钥
api_base: https://uysneno1wv2wd4lw.us-east-1.aws.endpoints.huggingface.cloud # 你的 HF 推理端点
- model_name: codebert-base
litellm_params:
# 未设置 api_base,发送请求到 Hugging Face 免费推理 API https://api-inference.huggingface.co/models/
model: huggingface/microsoft/codebert-base # 添加 huggingface 前缀以便路由到 Hugging Face
api_key: hf_LdS # Hugging Face 的 API 密钥

model_list:
- model_name: azure-embedding-model # 模型组
litellm_params:
model: azure/azure-embedding-model # litellm.embedding(model=azure/azure-embedding-model) 调用的模型名称
api_base: your-azure-api-base
api_key: your-api-key
api_version: 2023-07-01-preview
model_list:
- model_name: text-embedding-ada-002 # 模型组
litellm_params:
model: text-embedding-ada-002 # litellm.embedding(model=text-embedding-ada-002) 的模型名称
api_key: your-api-key-1
- model_name: text-embedding-ada-002
litellm_params:
model: text-embedding-ada-002
api_key: your-api-key-2

https://docs.litellm.ai/docs/providers/xinference 注意:为 litellm_params 中的 model 字段添加 xinference/ 前缀,以便 litellm 知道路由到 OpenAI

model_list:
- model_name: embedding-model # 模型组
litellm_params:
model: xinference/bge-base-en # litellm.embedding(model=xinference/bge-base-en) 的模型名称
api_base: http://0.0.0.0:9997/v1

用于调用 OpenAI 兼容服务器上的 /embedding 端点

注意:为 litellm_params 中的 model 字段添加 openai/ 前缀,以便 litellm 知道路由到 OpenAI

model_list:
- model_name: text-embedding-ada-002 # 模型组
litellm_params:
model: openai/<your-model-name> # litellm.embedding(model=text-embedding-ada-002) 的模型名称
api_base: <model-api-base>

启动代理

litellm --config config.yaml

发起请求

bedrock-cohere 发送请求

curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data ' {
"model": "bedrock-cohere",
"messages": [
{
"role": "user",
"content": "gm"
}
]
}'

多个 OpenAI 组织

只需一个模型定义即可添加所有 OpenAI 组织中的所有 OpenAI 模型

  - model_name: *
litellm_params:
model: openai/*
api_key: os.environ/OPENAI_API_KEY
organization:
- org-1
- org-2
- org-3

LiteLLM 会自动为每个组织创建单独的部署。

通过以下方式确认:

curl --location 'http://0.0.0.0:4000/v1/model/info' \
--header 'Authorization: Bearer ${LITELLM_KEY}' \
--data ''

提供者特定的通配符路由

代理来自某个提供者的所有模型

如果你想代理某个特定提供者的所有模型而不需要在 config.yaml 中定义它们,可以使用此功能。

步骤 1 - 在 config.yaml 中定义提供者特定的路由

model_list:
# 提供者特定的通配符路由
- model_name: "anthropic/*"
litellm_params:
model: "anthropic/*"
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: "groq/*"
litellm_params:
model: "groq/*"
api_key: os.environ/GROQ_API_KEY
- model_name: "fo::*:static::*" # 所有匹配此模式的请求将被路由到此部署,例如:model="fo::hi::static::hi" 将被路由到部署:"openai/fo::*:static::*"
litellm_params:
model: "openai/fo::*:static::*"
api_key: os.environ/OPENAI_API_KEY

步骤 2 - 运行 litellm 代理

$ litellm --config /path/to/config.yaml

步骤 3 - 测试

使用 anthropic/ 测试 - 所有带有 anthropic/ 前缀的模型将被路由到 anthropic/*

curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "anthropic/claude-3-sonnet-20240229",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'

使用 groq/ 测试 - 所有带有 groq/ 前缀的模型将被路由到 groq/*

curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "groq/llama3-8b-8192",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'

使用 fo::*::static::* 测试 - 所有匹配此模式的请求将被路由到 openai/fo::*:static::*

curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-1234" \
-d '{
"model": "fo::hi::static::hi",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'

负载均衡

info

更多信息请访问此页面

使用此功能可以调用同一模型的多个实例,并配置诸如路由策略等内容。

为了获得最佳性能:

  • 为每个模型部署设置 tpm/rpm。然后根据已建立的 tpm/rpm 进行加权选择。
  • router_settings:routing_strategy 中选择你的最佳路由策略。

LiteLLM 支持

["simple-shuffle", "least-busy", "usage-based-routing","latency-based-routing"], 默认值为 "simple-shuffle"`

当设置了 tpm/rpm 并且 routing_strategy==simple-shuffle 时,litellm 将使用基于设置的 tpm/rpm 的加权选择。在我们的负载测试中,为所有部署设置 tpm/rpm 并且 routing_strategy==simple-shuffle 可以最大化吞吐量

  • 当使用多个 LiteLLM 服务器/Kubernetes 时,设置 redis 设置 router_settings:redis_host
model_list:
- model_name: zephyr-beta
litellm_params:
model: huggingface/HuggingFaceH4/zephyr-7b-beta
api_base: http://0.0.0.0:8001
rpm: 60 # 可选[int]: 当设置了rpm/tpm时,litellm使用加权选择进行负载均衡。rpm = 此部署的速率限制:每分钟请求数(rpm)。
tpm: 1000 # 可选[int]: tpm = 每分钟令牌数
- model_name: zephyr-beta
litellm_params:
model: huggingface/HuggingFaceH4/zephyr-7b-beta
api_base: http://0.0.0.0:8002
rpm: 600
- model_name: zephyr-beta
litellm_params:
model: huggingface/HuggingFaceH4/zephyr-7b-beta
api_base: http://0.0.0.0:8003
rpm: 60000
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
api_key: <my-openai-key>
rpm: 200
- model_name: gpt-3.5-turbo-16k
litellm_params:
model: gpt-3.5-turbo-16k
api_key: <my-openai-key>
rpm: 100

litellm_settings:
num_retries: 3 # 每个model_name(例如zephyr-beta)重试3次
request_timeout: 10 # 如果调用时间超过10秒则引发超时错误。设置litellm.request_timeout
fallbacks: [{"zephyr-beta": ["gpt-3.5-turbo"]}] # 如果调用失败次数达到num_retries,则回退到gpt-3.5-turbo
context_window_fallbacks: [{"zephyr-beta": ["gpt-3.5-turbo-16k"]}, {"gpt-3.5-turbo": ["gpt-3.5-turbo-16k"]}] # 如果上下文窗口错误,则回退到gpt-3.5-turbo-16k
allowed_fails: 3 # 如果一分钟的调用失败次数超过1次,则冷却模型。

router_settings: # router_settings是可选的
routing_strategy: simple-shuffle # 文字值["simple-shuffle", "least-busy", "usage-based-routing","latency-based-routing"],默认为"simple-shuffle"
model_group_alias: {"gpt-4": "gpt-3.5-turbo"} # 所有带有`gpt-4`的请求将被路由到带有`gpt-3.5-turbo`的模型
num_retries: 2
timeout: 30 # 30秒
redis_host: <your redis host> # 当使用多个litellm代理部署时设置此项,负载均衡状态存储在redis中
redis_password: <your redis password>
redis_port: 1992

在设置虚拟密钥自定义回调后,您可以查看您的费用。

从环境变量加载API密钥/配置值

如果您将密钥保存在环境中,并且不希望在config.yaml中暴露它们,以下是如何从环境中加载特定于模型的密钥的方法。这对于config.yaml中的任何值都适用

os.environ/<YOUR-ENV-VAR> # 运行os.getenv("YOUR-ENV-VAR")
model_list:
- model_name: gpt-4-team1
litellm_params: # litellm.completion()的参数 - https://docs.litellm.ai/docs/completion/input#input---request-body
model: azure/chatgpt-v-2
api_base: https://openai-gpt-4-test-v-1.openai.azure.com/
api_version: "2023-05-15"
api_key: os.environ/AZURE_NORTH_AMERICA_API_KEY # 👈 密钥更改

查看代码

感谢@David Manouchehri对此的帮助。

从密钥管理器(Azure Vault等)加载API密钥

在LiteLLM代理中使用密钥管理器

为模型设置支持的环境 - production, staging, development

如果您想控制特定litellm环境中暴露哪个模型,请使用此功能。

支持的环境:

  • production
  • staging
  • development
  1. 在您的环境中设置LITELLM_ENVIRONMENT="<environment>"。可以是production, stagingdevelopment之一。

  2. 对于每个模型,在model_info.supported_environments中设置支持环境的列表。

model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: openai/gpt-3.5-turbo
api_key: os.environ/OPENAI_API_KEY
model_info:
supported_environments: ["development", "production", "staging"]
- model_name: gpt-4
litellm_params:
model: openai/gpt-4
api_key: os.environ/OPENAI_API_KEY
model_info:
supported_environments: ["production", "staging"]
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
model_info:
supported_environments: ["production"]

设置自定义提示模板

LiteLLM默认检查模型是否具有提示模板并应用它(例如,如果Huggingface模型在其tokenizer_config.json中保存了聊天模板)。但是,您也可以在config.yaml中为代理设置自定义提示模板:

步骤1:在config.yaml中保存您的提示模板

# 模型特定的参数
model_list:
- model_name: mistral-7b # 模型别名
litellm_params: # litellm.completion()的实际参数
model: "huggingface/mistralai/Mistral-7B-Instruct-v0.1"
api_base: "<your-api-base>"
api_key: "<your-api-key>" # [可选] 用于hf推理端点
initial_prompt_value: "\n"
roles: {"system":{"pre_message":"<|im_start|>system\n", "post_message":"<|im_end|>"}, "assistant":{"pre_message":"<|im_start|>assistant\n","post_message":"<|im_end|>"}, "user":{"pre_message":"<|im_start|>user\n","post_message":"<|im_end|>"}}
final_prompt_value: "\n"
bos_token: " "
eos_token: " "
max_tokens: 4096

步骤2:使用配置启动服务器

$ litellm --config /path/to/config.yaml

通用设置 general_settings(数据库连接等)

配置数据库池限制 + 连接超时

general_settings:
database_connection_pool_limit: 100 # 将prisma客户端到postgres数据库的连接池设置为100
database_connection_timeout: 60 # 为任何数据库连接调用设置60秒超时

所有设置

环境变量: {}

模型列表:
- 模型名称: 字符串
litellm_参数: {}
模型信息:
id: 字符串
模式: 嵌入
输入成本每标记: 0
输出成本每标记: 0
最大标记数: 2048
基础模型: gpt-4-1106-preview
附加属性1: {}

litellm_设置:
# 日志记录/回调设置
成功回调: ["langfuse"] # 成功回调列表
失败回调: ["sentry"] # 失败回调列表
回调: ["otel"] # 回调列表 - 成功和失败时运行
服务回调: ["datadog", "prometheus"] # 在datadog, prometheus上记录redis, postgres故障
关闭消息日志记录: 布尔值 # 防止消息和响应被记录到回调中,但请求元数据仍将被记录。
用户API密钥信息脱敏: 布尔值 # 从日志中脱敏用户API密钥信息(哈希令牌、用户ID、团队ID等)。目前支持Langfuse、OpenTelemetry、Logfire、ArizeAI日志记录。
langfuse默认标签: ["cache_hit", "cache_key", "proxy_base_url", "user_api_key_alias", "user_api_key_user_id", "user_api_key_user_email", "user_api_key_team_alias", "semantic-similarity", "proxy_base_url"] # Langfuse日志记录的默认标签

设置详细: 布尔值 # 设置litellm.set_verbose=True以查看详细的调试日志。不要在生产环境中启用此功能
日志格式为JSON: 布尔值 # 如果为真,日志将以JSON格式输出

# 回退机制,可靠性
默认回退: ["claude-opus"] # 设置默认回退,以防特定模型组配置错误/不良。
内容策略回退: [{"gpt-3.5-turbo-small": ["claude-opus"]}] # 内容策略错误的回退
上下文窗口回退: [{"gpt-3.5-turbo-small": ["gpt-3.5-turbo-large", "claude-opus"]}] # 上下文窗口超出错误的回退



# 缓存设置
缓存:
缓存参数: # 为redis设置缓存参数
类型: redis # 要初始化的缓存类型

# 可选 - Redis设置
主机: "localhost" # Redis缓存的主机地址。如果类型为"redis",则为必需。
端口: 6379 # Redis缓存的端口号。如果类型为"redis",则为必需。
密码: "your_password" # Redis缓存的密码。如果类型为"redis",则为必需。
命名空间: "litellm.caching.caching" # redis缓存的命名空间

# 可选 - Redis集群设置
redis_启动节点: [{"host": "127.0.0.1", "port": "7001"}]

# 可选 - Redis哨兵设置
服务名称: "mymaster"
哨兵节点: [["localhost", 26379]]

# 可选 - Qdrant语义缓存设置
qdrant_语义缓存嵌入模型: openai-embedding # 模型应在模型列表中定义
qdrant_集合名称: test_collection
qdrant_量化配置: binary
相似度阈值: 0.8 # 语义缓存的相似度阈值

# 可选 - S3缓存设置
s3_桶名称: cache-bucket-litellm # S3的AWS桶名称
s3_区域名称: us-west-2 # S3的AWS区域名称
s3_aws_访问密钥ID: os.environ/AWS_ACCESS_KEY_ID # 使用os.environ/<变量名>传递环境变量。这是S3的AWS访问密钥ID
s3_aws_秘密访问密钥: os.environ/AWS_SECRET_ACCESS_KEY # S3的AWS秘密访问密钥
s3_端点URL: https://s3.amazonaws.com # [可选] S3端点URL,如果你想使用Backblaze/cloudflare的S3桶

# 通用缓存设置
# 可选 - 支持的缓存调用类型
支持的调用类型: ["acompletion", "atext_completion", "aembedding", "atranscription"]
# /chat/completions, /completions, /embeddings, /audio/transcriptions
模式: default_off # 如果为default_off,则需要在每次调用时选择加入缓存
ttl: 600 # 缓存的ttl


回调设置:
otel:
消息日志记录: 布尔值 # OTEL日志记录回调的特定设置

一般设置:
完成模型: 字符串
禁用消费日志: 布尔值 # 关闭每次交易写入数据库
禁用主密钥返回: 布尔值 # 关闭在UI上返回主密钥(在'/user/info'端点上检查)
禁用重试最大并行请求限制错误: 布尔值 # 当达到最大并行请求限制时关闭重试
禁用重置预算: 布尔值 # 关闭重置预算的计划任务
禁用将主密钥哈希添加到数据库: 布尔值 # 关闭在数据库中存储主密钥哈希,用于消费跟踪
启用JWT认证: 布尔值 # 允许代理管理员通过JWT令牌进行认证,声明中包含'litellm_proxy_admin'
强制用户参数: 布尔值 # 要求所有openai端点请求都有一个'用户'参数
允许的路由: ["route1", "route2"] # 用户可以访问的代理API路由列表(目前仅限JWT-Auth)
密钥管理系统: google_kms # 要么是google_kms,要么是azure_kms
主密钥: 字符串
数据库URL: 字符串
数据库连接池限制: 0 # 默认100
数据库连接超时: 0 # 默认60秒
自定义认证: 字符串
最大并行请求: 0 # 每个部署允许的最大并行请求数
全局最大并行请求: 0 # 代理上允许的最大并行请求总数
从密钥推断模型:
后台健康检查:
健康检查间隔: 300
警报: ["slack", "email"]
警报阈值: 0
使用客户端凭证传递路由: 布尔值 # 使用客户端凭证进行所有传递路由,如"/vertex-ai", /bedrock/。当此为真时,虚拟密钥认证将不适用于这些端点

litellm_settings - 参考

名称类型描述
success_callback字符串数组成功回调列表。文档代理日志回调文档指标
failure_callback字符串数组失败回调列表。文档代理日志回调文档指标
callbacks字符串数组回调列表 - 在成功和失败时运行。文档代理日志回调文档指标
service_callbacks字符串数组系统健康监控 - 在指定服务(例如 datadog, prometheus)上记录 redis, postgres 故障。文档指标
turn_off_message_logging布尔值如果为 true,则阻止消息和响应被记录到回调中,但请求元数据仍将被记录。代理日志
modify_params布尔值如果为 true,允许在请求发送到 LLM 提供商之前修改请求参数。
enable_preview_features布尔值如果为 true,启用预览功能 - 例如支持流式传输的 Azure O1 模型。
redact_user_api_key_info布尔值如果为 true,从日志中隐藏用户 API 密钥信息。代理日志
langfuse_default_tags字符串数组Langfuse 日志的默认标签。如果你想控制哪些 LiteLLM 特定字段作为标签被 LiteLLM 代理记录,请使用此项。默认情况下,LiteLLM 代理不记录任何 LiteLLM 特定字段作为标签。更多文档
set_verbose布尔值如果为 true,设置 litellm.set_verbose=True 以查看详细的调试日志。不要在生产环境中启用此项。
json_logs布尔值如果为 true,日志将以 JSON 格式记录。如果你需要将日志存储为 JSON,只需设置 litellm.json_logs = True。我们目前仅将来自 litellm 的原始 POST 请求记录为 JSON。更多文档
default_fallbacks字符串数组如果特定模型组配置错误/不良,使用的备用模型列表。更多文档
content_policy_fallbacks对象数组遇到 ContentPolicyViolationError 时使用的备用模型。更多文档
context_window_fallbacks对象数组遇到 ContextWindowExceededError 时使用的备用模型。更多文档
cache布尔值如果为 true,启用缓存。更多文档
cache_params对象缓存参数。更多文档
cache_params.type字符串要初始化的缓存类型。可以是 ["local", "redis", "redis-semantic", "s3", "disk", "qdrant-semantic"] 之一。默认为 "redis"。更多文档
cache_params.host字符串Redis 缓存的主机地址。如果类型为 "redis",则为必需。
cache_params.port整数Redis 缓存的端口号。如果类型为 "redis",则为必需。
cache_params.password字符串Redis 缓存的密码。如果类型为 "redis",则为必需。
cache_params.namespace字符串Redis 缓存的命名空间。
cache_params.redis_startup_nodes对象数组Redis 集群设置。更多文档
cache_params.service_name字符串Redis Sentinel 设置。更多文档
cache_params.sentinel_nodes数组数组Redis Sentinel 设置。更多文档
cache_params.ttl整数条目在缓存中存储的时间(以秒为单位)。
cache_params.qdrant_semantic_cache_embedding_model字符串用于 qdrant 语义缓存的嵌入模型。
cache_params.qdrant_collection_name字符串用于 qdrant 语义缓存的集合名称。
cache_params.qdrant_quantization_config字符串qdrant 语义缓存的量化配置。
cache_params.similarity_threshold浮点数语义缓存的相似度阈值。
cache_params.s3_bucket_name字符串用于语义缓存的 S3 存储桶名称。
cache_params.s3_region_name字符串S3 存储桶的区域名称。
cache_params.s3_aws_access_key_id字符串S3 存储桶的 AWS 访问密钥 ID。
cache_params.s3_aws_secret_access_key字符串S3 存储桶的 AWS 秘密访问密钥。
cache_params.s3_endpoint_url字符串可选 - S3 存储桶的端点 URL。
cache_params.supported_call_types字符串数组要缓存的调用类型。更多文档
cache_params.mode字符串缓存的模式。更多文档

general_settings - 参考

名称类型描述
completion_model字符串当请求中未指定 model 时的默认补全模型
disable_spend_logs布尔值如果为 true,则关闭每次交易写入数据库的操作
disable_master_key_returnboolean如果为真,则在UI上关闭返回主密钥(在'/user/info'端点上检查)
disable_retry_on_max_parallel_request_limit_errorboolean如果为真,则在达到最大并行请求限制时关闭重试
disable_reset_budgetboolean如果为真,则关闭预算重置的计划任务
disable_adding_master_key_hash_to_dbboolean如果为真,则关闭在数据库中存储主密钥哈希
enable_jwt_authboolean允许代理管理员通过在声明中带有'litellm_proxy_admin'的JWT令牌进行认证。JWT令牌文档
enforce_user_paramboolean如果为真,要求所有OpenAI端点请求都包含一个'user'参数。调用钩子文档
allowed_routes字符串数组用户可以访问的允许代理API路由列表 控制允许路由的文档
key_management_systemstring指定密钥管理系统 秘密管理器文档
master_keystring代理的主密钥 设置虚拟密钥
database_urlstring数据库连接的URL 设置虚拟密钥
database_connection_pool_limitinteger数据库连接池的限制 设置数据库连接池限制和超时
database_connection_timeoutinteger数据库连接的超时时间(秒) 设置数据库连接池限制和超时
custom_authstring编写您自己的自定义认证逻辑 自定义认证文档
max_parallel_requestsinteger每个部署允许的最大并行请求数
global_max_parallel_requestsinteger代理整体允许的最大并行请求数
infer_model_from_keysboolean如果为真,则从提供的密钥推断模型
background_health_checksboolean如果为真,则启用后台健康检查 健康检查文档
health_check_intervalinteger健康检查的间隔时间(秒) 健康检查文档
alerting字符串数组警报方法列表 Slack警报文档
alerting_thresholdinteger触发警报的阈值 Slack警报文档
use_client_credentials_pass_through_routesboolean如果为真,则对所有透传路由使用客户端凭据 透传路由文档
health_check_detailsboolean如果为假,则隐藏健康检查详情(例如剩余速率限制) 健康检查文档
public_routesList[str](企业功能)控制公开路由列表
alert_typesList[str]控制发送到Slack的警报类型列表 警报类型文档
enforced_paramsList[str](企业功能)必须包含在所有代理请求中的参数列表
enable_oauth2_authboolean(企业功能)如果为真,则启用oauth2.0认证
use_x_forwarded_forstr如果为真,则使用X-Forwarded-For头获取客户端IP地址
service_account_settingsList[Dict[str, Any]]如果您想为服务账户密钥创建仅适用的设置,请设置service_account_settings 服务账户文档
image_generation_modelstr用于图像生成的默认模型 - 忽略请求中设置的模型
store_model_in_dbboolean如果为真,允许/model/new端点将模型信息存储在数据库中。默认禁用端点。/model/new端点文档
max_request_size_mbint请求的最大大小(MB)。超过此大小的请求将被拒绝。
max_response_size_mbint响应的最大大小(MB)。超过此大小的LLM响应将不会被发送。
proxy_budget_rescheduler_min_timeint在检查数据库以重置预算之前等待的最短时间(秒)。
proxy_budget_rescheduler_max_timeint在检查数据库以重置预算之前等待的最长时间(秒)。
proxy_batch_write_atint在将花费日志批量写入数据库之前等待的时间(秒)。
alerting_argsdictSlack警报的参数 Slack警报文档
custom_key_generatestr密钥生成的自定义函数 自定义密钥生成文档
allowed_ipsList[str]允许访问代理的IP列表。如果未设置,则允许所有IP。
embedding_modelstr用于嵌入的默认模型 - 忽略请求中设置的模型
default_team_disabledboolean如果为真,用户不能创建'个人'密钥(没有team_id的密钥)。
alert_to_webhook_urlDict[str]为每种警报类型指定一个webhook url。
key_management_settingsList[Dict[str, Any]]密钥管理系统设置(例如 AWS KMS、Azure Key Vault)密钥管理文档
allow_user_authboolean(已弃用)旧的用户认证方法。
user_api_key_cache_ttlint用户 API 密钥在内存中的缓存时间(以秒为单位)。
disable_prisma_schema_updateboolean如果为 true,则关闭数据库的自动模式更新。
litellm_key_header_namestr如果设置,允许将 LiteLLM 密钥作为自定义头传递。自定义头文档
moderation_modelstr用于审核的默认模型。
custom_ssostr实现自定义 SSO 逻辑的 Python 文件路径。自定义 SSO 文档
allow_client_side_credentialsboolean如果为 true,允许将客户端凭证传递给代理。(在测试微调模型时很有用)客户端凭证文档
admin_only_routesList[str](企业功能)仅管理员用户可访问的路由列表。仅管理员路由文档
use_azure_key_vaultboolean如果为 true,从 Azure Key Vault 加载密钥。
use_google_kmsboolean如果为 true,从 Google KMS 加载密钥。
spend_report_frequencystr指定发送支出报告的频率(例如 "1d", "2d", "30d")更多信息
ui_access_modeLiteral["admin_only"]如果设置,仅限管理员用户访问 UI。文档
litellm_jwtauthDict[str, Any]JWT 认证设置。文档
litellm_licensestr代理的许可证密钥。文档
oauth2_config_mappingsDict[str, str]定义 OAuth2 配置映射。
pass_through_endpointsList[Dict[str, Any]]定义透传端点。文档
enable_oauth2_proxy_authboolean(企业功能)如果为 true,启用 oauth2.0 认证。

router_settings - 参考

router_settings:
routing_strategy: usage-based-routing-v2 # Literal["simple-shuffle", "least-busy", "usage-based-routing","latency-based-routing"], 默认值为 "simple-shuffle"
redis_host: <your-redis-host> # 字符串
redis_password: <your-redis-password> # 字符串
redis_port: <your-redis-port> # 字符串
enable_pre_call_check: true # 布尔值 - 在调用之前检查调用是否在模型上下文窗口内
allowed_fails: 3 # 如果在1分钟内失败超过1次,冷却模型。
cooldown_time: 30 # (以秒为单位)如果失败/分钟 > allowed_fails,冷却模型的时间
disable_cooldowns: True # 布尔值 - 禁用所有模型的冷却时间
enable_tag_filtering: True # 布尔值 - 使用基于标签的路由请求
retry_policy: { # Dict[str, int]: 不同类型异常的重试策略
"AuthenticationErrorRetries": 3,
"TimeoutErrorRetries": 3,
"RateLimitErrorRetries": 3,
"ContentPolicyViolationErrorRetries": 4,
"InternalServerErrorRetries": 4
}
allowed_fails_policy: {
"BadRequestErrorAllowedFails": 1000, # 允许在冷却部署之前出现1000次 BadRequestError
"AuthenticationErrorAllowedFails": 10, # 整数
"TimeoutErrorAllowedFails": 12, # 整数
"RateLimitErrorAllowedFails": 10000, # 整数
"ContentPolicyViolationErrorAllowedFails": 15, # 整数
"InternalServerErrorAllowedFails": 20, # 整数
}
content_policy_fallbacks=[{"claude-2": ["my-fallback-model"]}] # List[Dict[str, List[str]]]: 内容策略违规的回退模型
fallbacks=[{"claude-2": ["my-fallback-model"]}] # List[Dict[str, List[str]]]: 所有错误的回退模型
名称类型描述
routing_strategy字符串用于路由请求的策略。选项:"simple-shuffle", "least-busy", "usage-based-routing", "latency-based-routing"。默认值为 "simple-shuffle"。更多信息
redis_host字符串Redis 服务器的主机地址。仅在您有多个 LiteLLM Proxy 实例并希望共享当前的 tpm/rpm 跟踪时设置此项
redis_password字符串Redis 服务器的密码。仅在您有多个 LiteLLM Proxy 实例并希望共享当前的 tpm/rpm 跟踪时设置此项
redis_port字符串Redis 服务器的端口号。仅在您有多个 LiteLLM Proxy 实例并希望共享当前的 tpm/rpm 跟踪时设置此项
enable_pre_call_check布尔值如果为 true,在调用之前检查调用是否在模型的上下文窗口内。更多信息
content_policy_fallbacks对象数组指定内容策略违规的备用模型。更多信息请点击这里
fallbacks对象数组指定所有类型错误的备用模型。更多信息请点击这里
enable_tag_filtering布尔值如果为真,则使用基于标签的路由请求 基于标签的路由
cooldown_time整数如果模型超过允许的失败次数,冷却该模型的持续时间(以秒为单位)。
disable_cooldowns布尔值如果为真,则禁用所有模型的冷却时间。更多信息请点击这里
retry_policy对象指定不同类型异常的重试次数。更多信息请点击这里
allowed_fails整数模型冷却前允许的失败次数。更多信息请点击这里
allowed_fails_policy对象指定在冷却部署前不同错误类型的允许失败次数。更多信息请点击这里

环境变量 - 参考

名称描述
ACTIONS_ID_TOKEN_REQUEST_TOKENGitHub Actions 中请求 ID 的令牌
ACTIONS_ID_TOKEN_REQUEST_URLGitHub Actions 中请求 ID 令牌的 URL
AISPEND_ACCOUNT_IDAI Spend 的账户 ID
AISPEND_API_KEYAI Spend 的 API 密钥
ALLOWED_EMAIL_DOMAINS允许访问的电子邮件域名列表
ARIZE_API_KEYArize 平台集成的 API 密钥
ARIZE_SPACE_KEYArize 平台的 Space 密钥
ATHINA_API_KEYAthina 服务的 API 密钥
AUTH_STRATEGY用于身份验证的策略(例如,OAuth,API 密钥)
AWS_ACCESS_KEY_IDAWS 服务的访问密钥 ID
AWS_PROFILE_NAME要使用的 AWS CLI 配置文件名称
AWS_REGION_NAME服务交互的默认 AWS 区域
AWS_ROLE_NAMEAWS IAM 使用的角色名称
AWS_SECRET_ACCESS_KEYAWS 服务的秘密访问密钥
AWS_SESSION_NAMEAWS 会话的名称
AWS_WEB_IDENTITY_TOKENAWS 的 Web 身份令牌
AZURE_API_VERSION使用的 Azure API 版本
AZURE_AUTHORITY_HOSTAzure 授权主机 URL
AZURE_CLIENT_IDAzure 服务的客户端 ID
AZURE_CLIENT_SECRETAzure 服务的客户端密钥
AZURE_FEDERATED_TOKEN_FILEAzure 联合令牌的文件路径
AZURE_KEY_VAULT_URIAzure 密钥保管库的 URI
AZURE_TENANT_IDAzure Active Directory 的租户 ID
BERRISPEND_ACCOUNT_IDBerriSpend 服务的账户 ID
BRAINTRUST_API_KEYBraintrust 集成的 API 密钥
CIRCLE_OIDC_TOKENCircleCI 的 OpenID Connect 令牌
CIRCLE_OIDC_TOKEN_V2CircleCI 的 OpenID Connect 令牌版本 2
CLICKHOUSE_HOSTClickHouse 数据库的主机
CLICKHOUSE_PASSWORDClickHouse 认证的密码
CLICKHOUSE_PORTClickHouse 数据库连接的端口
CLICKHOUSE_USERNAMEClickHouse 认证的用户名
CONFIG_FILE_PATH配置文件的路径
CUSTOM_TIKTOKEN_CACHE_DIRTiktoken 缓存的自定义目录
DATABASE_HOST数据库服务器的主机名
DATABASE_NAME数据库的名称
DATABASE_PASSWORD数据库用户的密码
DATABASE_PORT数据库连接的端口号
DATABASE_SCHEMA数据库中使用的模式名称
DATABASE_URL数据库的连接 URL
DATABASE_USER数据库连接的用户名
DATABASE_USERNAME数据库用户的别名
DATABRICKS_API_BASEDatabricks API 的基础 URL
DD_BASE_URLDatadog 集成的基础 URL
DATADOG_BASE_URL(DD_BASE_URL 的替代)Datadog 集成的基础 URL
_DATADOG_BASE_URL(DD_BASE_URL 的替代)Datadog 集成的基础 URL
DD_API_KEYDatadog 集成的 API 密钥
DD_SITEDatadog 的站点 URL(例如,datadoghq.com)
DD_SOURCEDatadog 日志的源标识符
DEBUG_OTEL启用 OpenTelemetry 的调试模式
DIRECT_URL服务端点的直接 URL
DISABLE_ADMIN_UI切换以禁用管理 UI
DISABLE_SCHEMA_UPDATE切换以禁用模式更新
DOCS_DESCRIPTION文档页面的描述文本
DOCS_FILTERED指示已过滤文档的标志
DOCS_TITLE文档页面的标题
EMAIL_SUPPORT_CONTACT支持联系的电子邮件地址
GCS_BUCKET_NAMEGoogle Cloud Storage 存储桶的名称
GCS_PATH_SERVICE_ACCOUNTGoogle Cloud 服务账户 JSON 文件的路径
GENERIC_AUTHORIZATION_ENDPOINT通用 OAuth 提供者的授权端点
GENERIC_CLIENT_ID通用 OAuth 提供者的客户端 ID
GENERIC_CLIENT_SECRET通用 OAuth 提供者的客户端密钥
GENERIC_CLIENT_STATE通用客户端认证的状态参数
GENERIC_INCLUDE_CLIENT_ID在 OAuth 请求中包含客户端 ID
GENERIC_SCOPE通用 OAuth 提供者的范围设置
GENERIC_TOKEN_ENDPOINT通用 OAuth 提供者的令牌端点
GENERIC_USER_DISPLAY_NAME_ATTRIBUTE通用认证中用户显示名称的属性
GENERIC_USER_EMAIL_ATTRIBUTE通用认证中用户的电子邮件属性
GENERIC_USER_FIRST_NAME_ATTRIBUTE通用认证中用户的名字属性
GENERIC_USER_ID_ATTRIBUTE通用认证中用户的ID属性
GENERIC_USER_LAST_NAME_ATTRIBUTE通用认证中用户的姓氏属性
GENERIC_USER_PROVIDER_ATTRIBUTE指定用户提供者的属性
GENERIC_USER_ROLE_ATTRIBUTE指定用户角色的属性
GENERIC_USERINFO_ENDPOINT获取通用OAuth用户信息的端点
GALILEO_BASE_URLGalileo平台的基础URL
GALILEO_PASSWORDGalileo认证密码
GALILEO_PROJECT_IDGalileo使用的项目ID
GALILEO_USERNAMEGalileo认证用户名
GREENSCALE_API_KEYGreenscale服务的API密钥
GREENSCALE_ENDPOINTGreenscale服务的端点URL
GOOGLE_APPLICATION_CREDENTIALSGoogle Cloud凭证JSON文件路径
GOOGLE_CLIENT_IDGoogle OAuth的客户端ID
GOOGLE_CLIENT_SECRETGoogle OAuth的客户端密钥
GOOGLE_KMS_RESOURCE_NAMEGoogle KMS中的资源名称
HF_API_BASEHugging Face API的基础URL
HELICONE_API_KEYHelicone服务的API密钥
HUGGINGFACE_API_BASEHugging Face API的基础URL
IAM_TOKEN_DB_AUTH用于数据库认证的IAM令牌
JSON_LOGS启用JSON格式日志记录
JWT_AUDIENCEJWT令牌的预期受众
JWT_PUBLIC_KEY_URL获取JWT验证公钥的URL
LAGO_API_BASELago API的基础URL
LAGO_API_CHARGE_BY在Lago中确定收费依据的参数
LAGO_API_EVENT_CODELago API事件的事件代码
LAGO_API_KEY访问Lago服务的API密钥
LANGFUSE_DEBUG切换Langfuse调试模式
LANGFUSE_FLUSH_INTERVALLangfuse日志刷新的间隔
LANGFUSE_HOSTLangfuse服务的宿主URL
LANGFUSE_PUBLIC_KEYLangfuse认证的公钥
LANGFUSE_RELEASELangfuse集成的发布版本
LANGFUSE_SECRET_KEYLangfuse认证的密钥
LANGSMITH_API_KEYLangsmith平台的API密钥
LANGSMITH_BASE_URLLangsmith服务的基础URL
LANGSMITH_BATCH_SIZELangsmith操作的批量大小
LANGSMITH_DEFAULT_RUN_NAMELangsmith运行的默认名称
LANGSMITH_PROJECTLangsmith集成的项目名称
LANGSMITH_SAMPLING_RATELangsmith日志记录的采样率
LANGTRACE_API_KEYLangtrace服务的API密钥
LITERAL_API_KEYLiteral集成的API密钥
LITERAL_API_URLLiteral服务的API URL
LITERAL_BATCH_SIZELiteral操作的批量大小
LITELLM_DONT_SHOW_FEEDBACK_BOX在LiteLLM UI中隐藏反馈框的标志
LITELLM_DROP_PARAMSLiteLLM请求中要删除的参数
LITELLM_EMAIL与LiteLLM账户关联的电子邮件
LITELLM_GLOBAL_MAX_PARALLEL_REQUEST_RETRIESLiteLLM中并行请求的最大重试次数
LITELLM_GLOBAL_MAX_PARALLEL_REQUEST_RETRY_TIMEOUTLiteLLM中并行请求重试的超时时间
LITELLM_HOSTED_UILiteLLM托管UI的URL
LITELLM_LICENSELiteLLM使用的许可证密钥
LITELLM_LOCAL_MODEL_COST_MAPLiteLLM中模型成本映射的本地配置
LITELLM_LOG启用LiteLLM的详细日志记录
LITELLM_MODELiteLLM的操作模式(例如,生产、开发)
LITELLM_SALT_KEYLiteLLM中加密的盐密钥
LITELLM_SECRET_AWS_KMS_LITELLM_LICENSE用于LiteLLM的AWS KMS加密许可证
LITELLM_TOKENLiteLLM集成的访问令牌
LOGFIRE_TOKENLogfire日志记录服务的令牌
MICROSOFT_CLIENT_IDMicrosoft服务的客户端ID
MICROSOFT_CLIENT_SECRETMicrosoft服务的客户端密钥
MICROSOFT_TENANTMicrosoft Azure的租户ID
NO_DOCS禁用文档生成标志
NO_PROXY绕过代理的地址列表
OAUTH_TOKEN_INFO_ENDPOINTOAuth令牌信息检索端点
OPENAI_API_BASEOpenAI API的基础URL
OPENAI_API_KEYOpenAI服务的API密钥
OPENAI_ORGANIZATIONOpenAI的组织标识符
OPENID_BASE_URLOpenID Connect服务的基础URL
OPENID_CLIENT_IDOpenID Connect认证的客户端ID
OPENID_CLIENT_SECRETOpenID Connect认证的客户端密钥
OPENMETER_API_ENDPOINTOpenMeter集成的API端点
OPENMETER_API_KEYOpenMeter服务的API密钥
OPENMETER_EVENT_TYPE发送到OpenMeter的事件类型
OTEL_ENDPOINTOpenTelemetry的跟踪端点
OTEL_ENVIRONMENT_NAMEOpenTelemetry的环境名称
OTEL_EXPORTEROpenTelemetry的导出器类型
OTEL_HEADERSOpenTelemetry请求的请求头
OTEL_SERVICE_NAMEOpenTelemetry的服务名称标识符
OTEL_TRACER_NAMEOpenTelemetry的跟踪器名称
PREDIBASE_API_BASEPredibase API的基础URL
PRESIDIO_ANALYZER_API_BASEPresidio Analyzer服务的基础URL
PRESIDIO_ANONYMIZER_API_BASEPresidio Anonymizer服务的基础URL
PROMETHEUS_URLPrometheus 服务的 URL
PROMPTLAYER_API_KEYPromptLayer 集成的 API 密钥
PROXY_ADMIN_ID代理服务器的管理员标识符
PROXY_BASE_URL代理服务的基 URL
PROXY_LOGOUT_URL代理服务注销的 URL
PROXY_MASTER_KEY代理认证的主密钥
QDRANT_API_BASEQdrant API 的基 URL
QDRANT_API_KEYQdrant 服务的 API 密钥
QDRANT_URLQdrant 数据库的连接 URL
REDIS_HOSTRedis 服务器的主机名
REDIS_PASSWORDRedis 服务的密码
REDIS_PORTRedis 服务器的端口号
SERVER_ROOT_PATH服务器应用程序的根路径
SET_VERBOSE启用详细日志记录的标志
SLACK_DAILY_REPORT_FREQUENCY每日 Slack 报告的频率(例如,每日、每周)
SLACK_WEBHOOK_URLSlack 集成的 Webhook URL
SMTP_HOSTSMTP 服务器的主机名
SMTP_PASSWORDSMTP 认证的密码
SMTP_PORTSMTP 服务器的端口号
SMTP_SENDER_EMAIL用于 SMTP 事务的发件人电子邮件地址
SMTP_SENDER_LOGO通过 SMTP 发送的电子邮件中使用的徽标
SMTP_TLS启用或禁用 SMTP 连接的 TLS 标志
SMTP_USERNAMESMTP 认证的用户名
SPEND_LOGS_URL检索支出日志的 URL
SSL_CERTIFICATESSL 证书文件的路径
SSL_VERIFY启用或禁用 SSL 证书验证的标志
SUPABASE_KEYSupabase 服务的 API 密钥
SUPABASE_URLSupabase 实例的基 URL
TEST_EMAIL_ADDRESS用于测试目的的电子邮件地址
UI_LOGO_PATHUI 中使用的徽标图像的路径
UI_PASSWORD访问 UI 的密码
UI_USERNAME访问 UI 的用户名
UPSTREAM_LANGFUSE_DEBUG启用上游 Langfuse 调试的标志
UPSTREAM_LANGFUSE_HOST上游 Langfuse 服务的宿主机 URL
UPSTREAM_LANGFUSE_PUBLIC_KEY上游 Langfuse 认证的公钥
UPSTREAM_LANGFUSE_RELEASE上游 Langfuse 的发布版本标识符
UPSTREAM_LANGFUSE_SECRET_KEY上游 Langfuse 认证的私钥
USE_AWS_KMS启用 AWS 密钥管理服务进行加密的标志
WEBHOOK_URL接收外部服务 Webhook 的 URL

额外内容

禁用 Swagger UI

要在基 URL 禁用 Swagger 文档,请在环境中设置

NO_DOCS="True"

然后重启代理。

使用 CONFIG_FILE_PATH 进行代理(更简单的 Azure 容器部署)

  1. 设置 config.yaml
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
api_key: os.environ/OPENAI_API_KEY
  1. 将文件路径存储为环境变量
CONFIG_FILE_PATH="/path/to/config.yaml"
  1. 启动代理
$ litellm 

# 运行在 http://0.0.0.0:4000

将 LiteLLM config.yaml 文件作为 s3、GCS 存储桶对象/URL 提供

如果您无法在部署服务上挂载配置文件(例如 AWS Fargate、Railway 等),请使用此方法。

LiteLLM 代理将从 s3 存储桶或 GCS 存储桶读取您的 config.yaml。

设置以下 .env 变量

LITELLM_CONFIG_BUCKET_TYPE = "gcs"                              # 设置为 "gcs"         
LITELLM_CONFIG_BUCKET_NAME = "litellm-proxy" # GCS 上的存储桶名称
LITELLM_CONFIG_BUCKET_OBJECT_KEY = "proxy_config.yaml" # GCS 上的对象键

使用这些环境变量启动 litellm 代理 - litellm 将从 GCS 读取您的配置

docker run --name litellm-proxy \
-e DATABASE_URL=<database_url> \
-e LITELLM_CONFIG_BUCKET_NAME=<bucket_name> \
-e LITELLM_CONFIG_BUCKET_OBJECT_KEY="<object_key>> \
-e LITELLM_CONFIG_BUCKET_TYPE="gcs" \
-p 4000:4000 \
ghcr.io/berriai/litellm-database:main-latest --detailed_debug

设置以下 .env 变量

LITELLM_CONFIG_BUCKET_NAME = "litellm-proxy"                    # s3 上的存储桶名称
LITELLM_CONFIG_BUCKET_OBJECT_KEY = "litellm_proxy_config.yaml" # s3 上的对象键

使用这些环境变量启动 litellm 代理 - litellm 将从 s3 读取您的配置

docker run --name litellm-proxy \
-e DATABASE_URL=<database_url> \
-e LITELLM_CONFIG_BUCKET_NAME=<bucket_name> \
-e LITELLM_CONFIG_BUCKET_OBJECT_KEY="<object_key>> \
-p 4000:4000 \
ghcr.io/berriai/litellm-database:main-latest