Proxy Config.yaml
在config.yaml中设置模型列表、api_base、api_key、temperature以及代理服务器设置(master-key)。
| 参数名称 | 描述 |
|---|---|
model_list | 服务器上支持的模型列表,包含模型特定的配置 |
router_settings | litellm路由器设置,例如routing_strategy="least-busy" 查看所有 |
litellm_settings | litellm模块设置,例如litellm.drop_params=True,litellm.set_verbose=True,litellm.api_base,litellm.cache 查看所有 |
general_settings | 服务器设置,例如设置master_key: sk-my_special_key |
environment_variables | 环境变量示例,REDIS_HOST,REDIS_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-eu和azure/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`
更多提供者特定信息,请点击此处
第二步:使用配置启动代理
$ litellm --config /path/to/config.yaml
如果需要详细的调试日志,请运行带有--detailed_debug的命令
$ litellm --config /path/to/config.yaml --detailed_debug
第三步:测试
向config.yaml中model_name=gpt-3.5-turbo的模型发送请求。
如果有多个model_name=gpt-3.5-turbo,则进行负载均衡
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 # [可选] 如果设置,所有对代理的调用都需要此密钥或有效的生成的令牌
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!"}
]
}'
负载均衡
更多信息请访问此页面
使用此功能可以调用同一模型的多个实例,并配置诸如路由策略等内容。
为了获得最佳性能:
- 为每个模型部署设置
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密钥
为模型设置支持的环境 - production, staging, development
如果您想控制特定litellm环境中暴露哪个模型,请使用此功能。
支持的环境:
productionstagingdevelopment
在您的环境中设置
LITELLM_ENVIRONMENT="<environment>"。可以是production,staging或development之一。对于每个模型,在
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_return | boolean | 如果为真,则在UI上关闭返回主密钥(在'/user/info'端点上检查) |
| disable_retry_on_max_parallel_request_limit_error | boolean | 如果为真,则在达到最大并行请求限制时关闭重试 |
| disable_reset_budget | boolean | 如果为真,则关闭预算重置的计划任务 |
| disable_adding_master_key_hash_to_db | boolean | 如果为真,则关闭在数据库中存储主密钥哈希 |
| enable_jwt_auth | boolean | 允许代理管理员通过在声明中带有'litellm_proxy_admin'的JWT令牌进行认证。JWT令牌文档 |
| enforce_user_param | boolean | 如果为真,要求所有OpenAI端点请求都包含一个'user'参数。调用钩子文档 |
| allowed_routes | 字符串数组 | 用户可以访问的允许代理API路由列表 控制允许路由的文档 |
| key_management_system | string | 指定密钥管理系统 秘密管理器文档 |
| master_key | string | 代理的主密钥 设置虚拟密钥 |
| database_url | string | 数据库连接的URL 设置虚拟密钥 |
| database_connection_pool_limit | integer | 数据库连接池的限制 设置数据库连接池限制和超时 |
| database_connection_timeout | integer | 数据库连接的超时时间(秒) 设置数据库连接池限制和超时 |
| custom_auth | string | 编写您自己的自定义认证逻辑 自定义认证文档 |
| max_parallel_requests | integer | 每个部署允许的最大并行请求数 |
| global_max_parallel_requests | integer | 代理整体允许的最大并行请求数 |
| infer_model_from_keys | boolean | 如果为真,则从提供的密钥推断模型 |
| background_health_checks | boolean | 如果为真,则启用后台健康检查 健康检查文档 |
| health_check_interval | integer | 健康检查的间隔时间(秒) 健康检查文档 |
| alerting | 字符串数组 | 警报方法列表 Slack警报文档 |
| alerting_threshold | integer | 触发警报的阈值 Slack警报文档 |
| use_client_credentials_pass_through_routes | boolean | 如果为真,则对所有透传路由使用客户端凭据 透传路由文档 |
| health_check_details | boolean | 如果为假,则隐藏健康检查详情(例如剩余速率限制) 健康检查文档 |
| public_routes | List[str] | (企业功能)控制公开路由列表 |
| alert_types | List[str] | 控制发送到Slack的警报类型列表 警报类型文档 |
| enforced_params | List[str] | (企业功能)必须包含在所有代理请求中的参数列表 |
| enable_oauth2_auth | boolean | (企业功能)如果为真,则启用oauth2.0认证 |
| use_x_forwarded_for | str | 如果为真,则使用X-Forwarded-For头获取客户端IP地址 |
| service_account_settings | List[Dict[str, Any]] | 如果您想为服务账户密钥创建仅适用的设置,请设置service_account_settings 服务账户文档 |
| image_generation_model | str | 用于图像生成的默认模型 - 忽略请求中设置的模型 |
| store_model_in_db | boolean | 如果为真,允许/model/new端点将模型信息存储在数据库中。默认禁用端点。/model/new端点文档 |
| max_request_size_mb | int | 请求的最大大小(MB)。超过此大小的请求将被拒绝。 |
| max_response_size_mb | int | 响应的最大大小(MB)。超过此大小的LLM响应将不会被发送。 |
| proxy_budget_rescheduler_min_time | int | 在检查数据库以重置预算之前等待的最短时间(秒)。 |
| proxy_budget_rescheduler_max_time | int | 在检查数据库以重置预算之前等待的最长时间(秒)。 |
| proxy_batch_write_at | int | 在将花费日志批量写入数据库之前等待的时间(秒)。 |
| alerting_args | dict | Slack警报的参数 Slack警报文档 |
| custom_key_generate | str | 密钥生成的自定义函数 自定义密钥生成文档 |
| allowed_ips | List[str] | 允许访问代理的IP列表。如果未设置,则允许所有IP。 |
| embedding_model | str | 用于嵌入的默认模型 - 忽略请求中设置的模型 |
| default_team_disabled | boolean | 如果为真,用户不能创建'个人'密钥(没有team_id的密钥)。 |
| alert_to_webhook_url | Dict[str] | 为每种警报类型指定一个webhook url。 |
| key_management_settings | List[Dict[str, Any]] | 密钥管理系统设置(例如 AWS KMS、Azure Key Vault)密钥管理文档 |
| allow_user_auth | boolean | (已弃用)旧的用户认证方法。 |
| user_api_key_cache_ttl | int | 用户 API 密钥在内存中的缓存时间(以秒为单位)。 |
| disable_prisma_schema_update | boolean | 如果为 true,则关闭数据库的自动模式更新。 |
| litellm_key_header_name | str | 如果设置,允许将 LiteLLM 密钥作为自定义头传递。自定义头文档 |
| moderation_model | str | 用于审核的默认模型。 |
| custom_sso | str | 实现自定义 SSO 逻辑的 Python 文件路径。自定义 SSO 文档 |
| allow_client_side_credentials | boolean | 如果为 true,允许将客户端凭证传递给代理。(在测试微调模型时很有用)客户端凭证文档 |
| admin_only_routes | List[str] | (企业功能)仅管理员用户可访问的路由列表。仅管理员路由文档 |
| use_azure_key_vault | boolean | 如果为 true,从 Azure Key Vault 加载密钥。 |
| use_google_kms | boolean | 如果为 true,从 Google KMS 加载密钥。 |
| spend_report_frequency | str | 指定发送支出报告的频率(例如 "1d", "2d", "30d")更多信息 |
| ui_access_mode | Literal["admin_only"] | 如果设置,仅限管理员用户访问 UI。文档 |
| litellm_jwtauth | Dict[str, Any] | JWT 认证设置。文档 |
| litellm_license | str | 代理的许可证密钥。文档 |
| oauth2_config_mappings | Dict[str, str] | 定义 OAuth2 配置映射。 |
| pass_through_endpoints | List[Dict[str, Any]] | 定义透传端点。文档 |
| enable_oauth2_proxy_auth | boolean | (企业功能)如果为 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_TOKEN | GitHub Actions 中请求 ID 的令牌 |
| ACTIONS_ID_TOKEN_REQUEST_URL | GitHub Actions 中请求 ID 令牌的 URL |
| AISPEND_ACCOUNT_ID | AI Spend 的账户 ID |
| AISPEND_API_KEY | AI Spend 的 API 密钥 |
| ALLOWED_EMAIL_DOMAINS | 允许访问的电子邮件域名列表 |
| ARIZE_API_KEY | Arize 平台集成的 API 密钥 |
| ARIZE_SPACE_KEY | Arize 平台的 Space 密钥 |
| ATHINA_API_KEY | Athina 服务的 API 密钥 |
| AUTH_STRATEGY | 用于身份验证的策略(例如,OAuth,API 密钥) |
| AWS_ACCESS_KEY_ID | AWS 服务的访问密钥 ID |
| AWS_PROFILE_NAME | 要使用的 AWS CLI 配置文件名称 |
| AWS_REGION_NAME | 服务交互的默认 AWS 区域 |
| AWS_ROLE_NAME | AWS IAM 使用的角色名称 |
| AWS_SECRET_ACCESS_KEY | AWS 服务的秘密访问密钥 |
| AWS_SESSION_NAME | AWS 会话的名称 |
| AWS_WEB_IDENTITY_TOKEN | AWS 的 Web 身份令牌 |
| AZURE_API_VERSION | 使用的 Azure API 版本 |
| AZURE_AUTHORITY_HOST | Azure 授权主机 URL |
| AZURE_CLIENT_ID | Azure 服务的客户端 ID |
| AZURE_CLIENT_SECRET | Azure 服务的客户端密钥 |
| AZURE_FEDERATED_TOKEN_FILE | Azure 联合令牌的文件路径 |
| AZURE_KEY_VAULT_URI | Azure 密钥保管库的 URI |
| AZURE_TENANT_ID | Azure Active Directory 的租户 ID |
| BERRISPEND_ACCOUNT_ID | BerriSpend 服务的账户 ID |
| BRAINTRUST_API_KEY | Braintrust 集成的 API 密钥 |
| CIRCLE_OIDC_TOKEN | CircleCI 的 OpenID Connect 令牌 |
| CIRCLE_OIDC_TOKEN_V2 | CircleCI 的 OpenID Connect 令牌版本 2 |
| CLICKHOUSE_HOST | ClickHouse 数据库的主机 |
| CLICKHOUSE_PASSWORD | ClickHouse 认证的密码 |
| CLICKHOUSE_PORT | ClickHouse 数据库连接的端口 |
| CLICKHOUSE_USERNAME | ClickHouse 认证的用户名 |
| CONFIG_FILE_PATH | 配置文件的路径 |
| CUSTOM_TIKTOKEN_CACHE_DIR | Tiktoken 缓存的自定义目录 |
| DATABASE_HOST | 数据库服务器的主机名 |
| DATABASE_NAME | 数据库的名称 |
| DATABASE_PASSWORD | 数据库用户的密码 |
| DATABASE_PORT | 数据库连接的端口号 |
| DATABASE_SCHEMA | 数据库中使用的模式名称 |
| DATABASE_URL | 数据库的连接 URL |
| DATABASE_USER | 数据库连接的用户名 |
| DATABASE_USERNAME | 数据库用户的别名 |
| DATABRICKS_API_BASE | Databricks API 的基础 URL |
| DD_BASE_URL | Datadog 集成的基础 URL |
| DATADOG_BASE_URL | (DD_BASE_URL 的替代)Datadog 集成的基础 URL |
| _DATADOG_BASE_URL | (DD_BASE_URL 的替代)Datadog 集成的基础 URL |
| DD_API_KEY | Datadog 集成的 API 密钥 |
| DD_SITE | Datadog 的站点 URL(例如,datadoghq.com) |
| DD_SOURCE | Datadog 日志的源标识符 |
| DEBUG_OTEL | 启用 OpenTelemetry 的调试模式 |
| DIRECT_URL | 服务端点的直接 URL |
| DISABLE_ADMIN_UI | 切换以禁用管理 UI |
| DISABLE_SCHEMA_UPDATE | 切换以禁用模式更新 |
| DOCS_DESCRIPTION | 文档页面的描述文本 |
| DOCS_FILTERED | 指示已过滤文档的标志 |
| DOCS_TITLE | 文档页面的标题 |
| EMAIL_SUPPORT_CONTACT | 支持联系的电子邮件地址 |
| GCS_BUCKET_NAME | Google Cloud Storage 存储桶的名称 |
| GCS_PATH_SERVICE_ACCOUNT | Google 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_URL | Galileo平台的基础URL |
| GALILEO_PASSWORD | Galileo认证密码 |
| GALILEO_PROJECT_ID | Galileo使用的项目ID |
| GALILEO_USERNAME | Galileo认证用户名 |
| GREENSCALE_API_KEY | Greenscale服务的API密钥 |
| GREENSCALE_ENDPOINT | Greenscale服务的端点URL |
| GOOGLE_APPLICATION_CREDENTIALS | Google Cloud凭证JSON文件路径 |
| GOOGLE_CLIENT_ID | Google OAuth的客户端ID |
| GOOGLE_CLIENT_SECRET | Google OAuth的客户端密钥 |
| GOOGLE_KMS_RESOURCE_NAME | Google KMS中的资源名称 |
| HF_API_BASE | Hugging Face API的基础URL |
| HELICONE_API_KEY | Helicone服务的API密钥 |
| HUGGINGFACE_API_BASE | Hugging Face API的基础URL |
| IAM_TOKEN_DB_AUTH | 用于数据库认证的IAM令牌 |
| JSON_LOGS | 启用JSON格式日志记录 |
| JWT_AUDIENCE | JWT令牌的预期受众 |
| JWT_PUBLIC_KEY_URL | 获取JWT验证公钥的URL |
| LAGO_API_BASE | Lago API的基础URL |
| LAGO_API_CHARGE_BY | 在Lago中确定收费依据的参数 |
| LAGO_API_EVENT_CODE | Lago API事件的事件代码 |
| LAGO_API_KEY | 访问Lago服务的API密钥 |
| LANGFUSE_DEBUG | 切换Langfuse调试模式 |
| LANGFUSE_FLUSH_INTERVAL | Langfuse日志刷新的间隔 |
| LANGFUSE_HOST | Langfuse服务的宿主URL |
| LANGFUSE_PUBLIC_KEY | Langfuse认证的公钥 |
| LANGFUSE_RELEASE | Langfuse集成的发布版本 |
| LANGFUSE_SECRET_KEY | Langfuse认证的密钥 |
| LANGSMITH_API_KEY | Langsmith平台的API密钥 |
| LANGSMITH_BASE_URL | Langsmith服务的基础URL |
| LANGSMITH_BATCH_SIZE | Langsmith操作的批量大小 |
| LANGSMITH_DEFAULT_RUN_NAME | Langsmith运行的默认名称 |
| LANGSMITH_PROJECT | Langsmith集成的项目名称 |
| LANGSMITH_SAMPLING_RATE | Langsmith日志记录的采样率 |
| LANGTRACE_API_KEY | Langtrace服务的API密钥 |
| LITERAL_API_KEY | Literal集成的API密钥 |
| LITERAL_API_URL | Literal服务的API URL |
| LITERAL_BATCH_SIZE | Literal操作的批量大小 |
| LITELLM_DONT_SHOW_FEEDBACK_BOX | 在LiteLLM UI中隐藏反馈框的标志 |
| LITELLM_DROP_PARAMS | LiteLLM请求中要删除的参数 |
| LITELLM_EMAIL | 与LiteLLM账户关联的电子邮件 |
| LITELLM_GLOBAL_MAX_PARALLEL_REQUEST_RETRIES | LiteLLM中并行请求的最大重试次数 |
| LITELLM_GLOBAL_MAX_PARALLEL_REQUEST_RETRY_TIMEOUT | LiteLLM中并行请求重试的超时时间 |
| LITELLM_HOSTED_UI | LiteLLM托管UI的URL |
| LITELLM_LICENSE | LiteLLM使用的许可证密钥 |
| LITELLM_LOCAL_MODEL_COST_MAP | LiteLLM中模型成本映射的本地配置 |
| LITELLM_LOG | 启用LiteLLM的详细日志记录 |
| LITELLM_MODE | LiteLLM的操作模式(例如,生产、开发) |
| LITELLM_SALT_KEY | LiteLLM中加密的盐密钥 |
| LITELLM_SECRET_AWS_KMS_LITELLM_LICENSE | 用于LiteLLM的AWS KMS加密许可证 |
| LITELLM_TOKEN | LiteLLM集成的访问令牌 |
| LOGFIRE_TOKEN | Logfire日志记录服务的令牌 |
| MICROSOFT_CLIENT_ID | Microsoft服务的客户端ID |
| MICROSOFT_CLIENT_SECRET | Microsoft服务的客户端密钥 |
| MICROSOFT_TENANT | Microsoft Azure的租户ID |
| NO_DOCS | 禁用文档生成标志 |
| NO_PROXY | 绕过代理的地址列表 |
| OAUTH_TOKEN_INFO_ENDPOINT | OAuth令牌信息检索端点 |
| OPENAI_API_BASE | OpenAI API的基础URL |
| OPENAI_API_KEY | OpenAI服务的API密钥 |
| OPENAI_ORGANIZATION | OpenAI的组织标识符 |
| OPENID_BASE_URL | OpenID Connect服务的基础URL |
| OPENID_CLIENT_ID | OpenID Connect认证的客户端ID |
| OPENID_CLIENT_SECRET | OpenID Connect认证的客户端密钥 |
| OPENMETER_API_ENDPOINT | OpenMeter集成的API端点 |
| OPENMETER_API_KEY | OpenMeter服务的API密钥 |
| OPENMETER_EVENT_TYPE | 发送到OpenMeter的事件类型 |
| OTEL_ENDPOINT | OpenTelemetry的跟踪端点 |
| OTEL_ENVIRONMENT_NAME | OpenTelemetry的环境名称 |
| OTEL_EXPORTER | OpenTelemetry的导出器类型 |
| OTEL_HEADERS | OpenTelemetry请求的请求头 |
| OTEL_SERVICE_NAME | OpenTelemetry的服务名称标识符 |
| OTEL_TRACER_NAME | OpenTelemetry的跟踪器名称 |
| PREDIBASE_API_BASE | Predibase API的基础URL |
| PRESIDIO_ANALYZER_API_BASE | Presidio Analyzer服务的基础URL |
| PRESIDIO_ANONYMIZER_API_BASE | Presidio Anonymizer服务的基础URL |
| PROMETHEUS_URL | Prometheus 服务的 URL |
| PROMPTLAYER_API_KEY | PromptLayer 集成的 API 密钥 |
| PROXY_ADMIN_ID | 代理服务器的管理员标识符 |
| PROXY_BASE_URL | 代理服务的基 URL |
| PROXY_LOGOUT_URL | 代理服务注销的 URL |
| PROXY_MASTER_KEY | 代理认证的主密钥 |
| QDRANT_API_BASE | Qdrant API 的基 URL |
| QDRANT_API_KEY | Qdrant 服务的 API 密钥 |
| QDRANT_URL | Qdrant 数据库的连接 URL |
| REDIS_HOST | Redis 服务器的主机名 |
| REDIS_PASSWORD | Redis 服务的密码 |
| REDIS_PORT | Redis 服务器的端口号 |
| SERVER_ROOT_PATH | 服务器应用程序的根路径 |
| SET_VERBOSE | 启用详细日志记录的标志 |
| SLACK_DAILY_REPORT_FREQUENCY | 每日 Slack 报告的频率(例如,每日、每周) |
| SLACK_WEBHOOK_URL | Slack 集成的 Webhook URL |
| SMTP_HOST | SMTP 服务器的主机名 |
| SMTP_PASSWORD | SMTP 认证的密码 |
| SMTP_PORT | SMTP 服务器的端口号 |
| SMTP_SENDER_EMAIL | 用于 SMTP 事务的发件人电子邮件地址 |
| SMTP_SENDER_LOGO | 通过 SMTP 发送的电子邮件中使用的徽标 |
| SMTP_TLS | 启用或禁用 SMTP 连接的 TLS 标志 |
| SMTP_USERNAME | SMTP 认证的用户名 |
| SPEND_LOGS_URL | 检索支出日志的 URL |
| SSL_CERTIFICATE | SSL 证书文件的路径 |
| SSL_VERIFY | 启用或禁用 SSL 证书验证的标志 |
| SUPABASE_KEY | Supabase 服务的 API 密钥 |
| SUPABASE_URL | Supabase 实例的基 URL |
| TEST_EMAIL_ADDRESS | 用于测试目的的电子邮件地址 |
| UI_LOGO_PATH | UI 中使用的徽标图像的路径 |
| 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 容器部署)
- 设置 config.yaml
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
api_key: os.environ/OPENAI_API_KEY
- 将文件路径存储为环境变量
CONFIG_FILE_PATH="/path/to/config.yaml"
- 启动代理
$ 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