菜单

环境变量和提供商设置

相关源文件

本文档涵盖了 LobeChat 中 AI 模型提供商的环境变量配置系统。它解释了如何通过环境变量配置 API 密钥、代理 URL、模型列表和其他提供商特定设置,以及这些配置在运行时如何被处理和验证。

有关用户级设置和偏好的信息,请参阅用户设置和偏好。有关详细模型列表语法和自定义选项,请参阅模型列表自定义。有关更广泛的 AI 提供商系统架构,请参阅AI 模型提供商系统

配置系统概述

LobeChat 使用环境变量来配置对 40 多个 AI 模型提供商的访问。该系统支持三类主要配置:

  • API 认证:API 密钥、令牌和凭据
  • 网络配置:代理 URL 和自定义端点
  • 模型管理:自定义模型列表和可用性控制

环境变量处理流程

来源:Dockerfile146-244 src/config/llm.ts1-336 src/server/globalConfig/index.ts16-89 src/utils/parseModels.ts7-193

提供商配置类别

主要云提供商

LobeChat 支持主流云 AI 提供商,提供全面的配置选项:

提供商API 密钥变量代理变量模型列表变量
OpenAIOPENAI_API_KEYOPENAI_PROXY_URLOPENAI_MODEL_LIST
AnthropicANTHROPIC_API_KEYANTHROPIC_PROXY_URLANTHROPIC_MODEL_LIST
GoogleGOOGLE_API_KEYGOOGLE_PROXY_URLGOOGLE_MODEL_LIST
Azure OpenAIAZURE_API_KEY-AZURE_MODEL_LIST
AWS BedrockAWS_ACCESS_KEY_ID-AWS_BEDROCK_MODEL_LIST

中国 AI 提供商

广泛支持中国 AI 服务

提供商API 密钥变量代理变量模型列表变量
QwenQWEN_API_KEYQWEN_PROXY_URLQWEN_MODEL_LIST
ZhipuZHIPU_API_KEY-ZHIPU_MODEL_LIST
DeepSeekDEEPSEEK_API_KEYDEEPSEEK_PROXY_URLDEEPSEEK_MODEL_LIST
MoonshotMOONSHOT_API_KEYMOONSHOT_PROXY_URLMOONSHOT_MODEL_LIST
BaichuanBAICHUAN_API_KEY-BAICHUAN_MODEL_LIST

开源和自托管

本地和开源模型提供商的配置

提供商配置变量目的
OllamaOLLAMA_PROXY_URLOLLAMA_MODEL_LIST本地模型服务
vLLMVLLM_API_KEYVLLM_PROXY_URL自托管推理
XinferenceXINFERENCE_API_KEYXINFERENCE_PROXY_URL本地部署

来源:Dockerfile146-244 docs/self-hosting/environment-variables/model-provider.mdx1-629 src/config/llm.ts8-331

配置验证系统

getLLMConfig() 中的验证系统使用 @t3-oss/env-nextjs 和 Zod 模式来确保类型安全和正确的环境变量处理。主要功能包括:

  • 自动提供商检测:当 API 密钥存在时,提供商会自动启用。
  • 类型安全:所有环境变量都根据 Zod 模式进行验证。
  • 布尔值转换:字符串环境变量转换为适当的类型。
  • 默认值:为可选配置提供合理的默认值。

来源:src/config/llm.ts5-335

模型列表配置语法

模型列表环境变量使用强大的语法来定制可用模型:

基本语法

能力标志

  • 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

Docker 环境配置

LobeChat 的 Docker 镜像包含了所有支持的提供商的全面环境变量定义:

标准 Docker 镜像

主 Dockerfile 定义了所有提供商的环境变量,默认值为空,允许运行时配置。

启用数据库的镜像

Dockerfile.database 包含了服务器端功能的额外配置。

来源:Dockerfile146-244 Dockerfile.database189-288 Dockerfile.pglite147-242

常见配置模式

API 密钥选择模式

配置多个 API 密钥的使用方式

代理配置

许多提供商支持代理配置用于网络路由。

提供商启用

当提供 API 密钥时,提供商会自动启用,但也可以明确控制。

来源:.env.example4-141 docs/self-hosting/environment-variables/model-provider.mdx17-628