本文档涵盖了 LobeChat 中 AI 模型提供商的环境变量配置系统。它解释了如何通过环境变量配置 API 密钥、代理 URL、模型列表和其他提供商特定设置,以及这些配置在运行时如何被处理和验证。
有关用户级设置和偏好的信息,请参阅用户设置和偏好。有关详细模型列表语法和自定义选项,请参阅模型列表自定义。有关更广泛的 AI 提供商系统架构,请参阅AI 模型提供商系统。
LobeChat 使用环境变量来配置对 40 多个 AI 模型提供商的访问。该系统支持三类主要配置:
来源:Dockerfile146-244 src/config/llm.ts1-336 src/server/globalConfig/index.ts16-89 src/utils/parseModels.ts7-193
LobeChat 支持主流云 AI 提供商,提供全面的配置选项:
| 提供商 | API 密钥变量 | 代理变量 | 模型列表变量 |
|---|---|---|---|
| OpenAI | OPENAI_API_KEY | OPENAI_PROXY_URL | OPENAI_MODEL_LIST |
| Anthropic | ANTHROPIC_API_KEY | ANTHROPIC_PROXY_URL | ANTHROPIC_MODEL_LIST |
GOOGLE_API_KEY | GOOGLE_PROXY_URL | GOOGLE_MODEL_LIST | |
| Azure OpenAI | AZURE_API_KEY | - | AZURE_MODEL_LIST |
| AWS Bedrock | AWS_ACCESS_KEY_ID | - | AWS_BEDROCK_MODEL_LIST |
广泛支持中国 AI 服务
| 提供商 | API 密钥变量 | 代理变量 | 模型列表变量 |
|---|---|---|---|
| Qwen | QWEN_API_KEY | QWEN_PROXY_URL | QWEN_MODEL_LIST |
| Zhipu | ZHIPU_API_KEY | - | ZHIPU_MODEL_LIST |
| DeepSeek | DEEPSEEK_API_KEY | DEEPSEEK_PROXY_URL | DEEPSEEK_MODEL_LIST |
| Moonshot | MOONSHOT_API_KEY | MOONSHOT_PROXY_URL | MOONSHOT_MODEL_LIST |
| Baichuan | BAICHUAN_API_KEY | - | BAICHUAN_MODEL_LIST |
本地和开源模型提供商的配置
| 提供商 | 配置变量 | 目的 |
|---|---|---|
| Ollama | OLLAMA_PROXY_URL、OLLAMA_MODEL_LIST | 本地模型服务 |
| vLLM | VLLM_API_KEY、VLLM_PROXY_URL | 自托管推理 |
| Xinference | XINFERENCE_API_KEY、XINFERENCE_PROXY_URL | 本地部署 |
来源:Dockerfile146-244 docs/self-hosting/environment-variables/model-provider.mdx1-629 src/config/llm.ts8-331
getLLMConfig() 中的验证系统使用 @t3-oss/env-nextjs 和 Zod 模式来确保类型安全和正确的环境变量处理。主要功能包括:
模型列表环境变量使用强大的语法来定制可用模型:
fc:函数调用支持vision:图像识别能力reasoning:思维链推理search:网络搜索集成file:文件上传支持imageOutput:图像生成来源:src/utils/parseModels.ts10-106 docs/self-hosting/advanced/model-list.mdx17-58
来源:src/server/globalConfig/index.ts16-89 src/config/modelProviders/index.ts110-165 src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx:55-124, src/types/user/settings/keyVaults.ts35-91
LobeChat 的 Docker 镜像包含了所有支持的提供商的全面环境变量定义:
主 Dockerfile 定义了所有提供商的环境变量,默认值为空,允许运行时配置。
Dockerfile.database 包含了服务器端功能的额外配置。
来源:Dockerfile146-244 Dockerfile.database189-288 Dockerfile.pglite147-242
配置多个 API 密钥的使用方式
许多提供商支持代理配置用于网络路由。
当提供 API 密钥时,提供商会自动启用,但也可以明确控制。
来源:.env.example4-141 docs/self-hosting/environment-variables/model-provider.mdx17-628