🌍 环境变量配置
概览
Open WebUI 提供了大量环境变量,允许您自定义和配置应用程序的各个方面。本页面为所有可用环境变量提供了全面的参考,包括其类型、默认值和描述。 随着新变量的引入,本页面会不断更新以反映不断增长的配置选项。
本页面与 Open WebUI 发布版本 v0.6.9 保持同步,但仍在完善过程中,未来将包括更准确的描述、列出环境变量可用的选项以及改进描述。
关于 PersistentConfig
环境变量的重要说明
首次启动 Open WebUI 时,所有环境变量都被视为平等,可以用于配置应用程序。然而,对于标记为 PersistentConfig
的环境变量,其值会被持久化并存储在内部。
在首次启动后,如果您重新启动容器,PersistentConfig
环境变量将不再使用外部环境变量值,而是使用内部存储的值。
与之相比,常规环境变量将在每次后续重启时继续更新并应用。
您可以直接从 Open WebUI 内部更新 PersistentConfig
环境变量的值,这些更改将存储在内部。这使您可以独立于外部环境变量管理这些配置设置。
请注意,PersistentConfig
环境变量在以下文档中会被清晰标记,以便您了解其行为方式。
应用程序/后端
以下环境变量由 backend/open_webui/config.py
使用,提供 Open WebUI 启动配置。请注意,根据您是直接运行 Open WebUI 还是通过 Docker 运行,有些变量可能有不同的默认值。有关日志环境变量的更多信息,请参阅我们的日志文档。
通用
WEBUI_URL
- 类型:
str
- 默认值:
http://localhost:3000
- 描述: 指定 Open WebUI 可访问的 URL。目前用于搜索引擎支持。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
ENABLE_SIGNUP
- 类型:
bool
- 默认值:
True
- 描述: 切换用户账户创建功能。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
ENABLE_LOGIN_FORM
- 类型:
bool
- 默认值:
True
- 描述: 切换电子邮件、密码、登录以及“或”(仅当
ENABLE_OAUTH_SIGNUP
设置为 True 时) 元素。 - 持久性: 该环境变量是一个
PersistentConfig
变量。
此参数仅应在同时使用且设置 ENABLE_OAUTH_SIGNUP 为 True
时设置为 False
。未遵守此设置将导致无法登录。
DEFAULT_LOCALE
- 类型:
str
- 默认值:
en
- 描述: 设置应用程序的默认语言环境。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
DEFAULT_MODELS
- 类型:
str
- 默认值: 空字符串(
''
),表示None
。 - 描述: 设置默认语言模型。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
DEFAULT_USER_ROLE
- 类型:
str
- 选项:
pending
- 新用户状态为待定,直到管理员手动激活其账户。user
- 新用户自动激活,并拥有普通用户权限。admin
- 新用户自动激活,并拥有管理员权限。
- 默认值:
pending
- 描述: 设置新用户分配的默认角色。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
PENDING_USER_OVERLAY_TITLE
- 类型:
str
- 默认值: 空字符串(
''
) - 描述: 设置待定用户覆盖层的自定义标题。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
PENDING_USER_OVERLAY_CONTENT
- 类型:
str
- 默认值: 空字符串(
''
) - 描述: 设置待定用户覆盖层的自定义文本内容。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
ENABLE_CHANNELS
- 类型:
bool
- 默认值:
False
- 描述: 启用或禁用频道支持。
- 持久性: 该环境变量是一个
PersistentConfig
变量。
WEBHOOK_URL
- 类型:
str
- 描述: 设置用于与 Discord/Slack/Microsoft Teams 集成的 webhook。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ENABLE_ADMIN_EXPORT
- 类型:
bool
- 默认值:
True
- 描述: 控制是否允许管理员用户导出数据。
ENABLE_ADMIN_CHAT_ACCESS
- 类型:
bool
- 默认值:
True
- 描述: 启用管理员用户访问所有聊天。
ENABLE_USER_WEBHOOKS
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用用户的 Webhooks。
- 持久性:此环境变量是一个
PersistentConfig
变量。
RESPONSE_WATERMARK
- 类型:
str
- 默认值: 空字符串 (' ')
- 描述: 设置自定义文本,当从聊天中复制消息时会包含该文本。例如
"This text is AI generated"
-> 这将在每条消息被复制时添加 "This text is AI generated"。 - 持久性:此环境变量是一个
PersistentConfig
变量。
THREAD_POOL_SIZE
- 类型:
int
- 默认值:
0
- 描述: 设置 FastAPI/AnyIO 阻塞调用的线程池大小。默认情况下(设置为 0 时)FastAPI/AnyIO 使用
40
个线程。在大规模实例和许多并发用户的情况下,可能需要增加THREAD_POOL_SIZE
以防止阻塞。
SHOW_ADMIN_DETAILS
- 类型:
bool
- 默认值:
True
- 描述: 切换是否在接口中显示管理员用户详细信息。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ADMIN_EMAIL
- 类型:
str
- 描述: 设置
SHOW_ADMIN_DETAILS
显示的管理员邮箱。 - 持久性:此环境变量是一个
PersistentConfig
变量。
ENV
- 类 型:
str
- 选项:
dev
- 在/docs
上启用 FastAPI API 文档prod
- 自动配置多个环境变量
- 默认值:
- 后端默认值:
dev
- Docker 默认值:
prod
- 后端默认值:
- 描述: 环境设置。
ENABLE_PERSISTENT_CONFIG
- 类型:
bool
- 默认值:
True
- 描述: 如果设置为
False
,所有PersistentConfig
变量将被视为普通变量。
CUSTOM_NAME
- 类型:
str
- 描述: 设置
WEBUI_NAME
,但会通过 api.openwebui.com 获取元数据。
WEBUI_NAME
- 类型:
str
- 默认值:
Open WebUI
- 描述: 设置 WebUI 的主要名称。如果覆盖,将附加
(Open WebUI)
。
PORT
- 类型:
int
- 默认值:
8080
- 描述: 设置运行 Open WebUI 的端口。
如果您通过 Python 运行应用程序并使用 open-webui serve
命令,则无法使用 PORT
配置设置端口。相反,必须直接将端口作为命令行参数通过 --port
标志指定。例如:
open-webui serve --port 9999
这将在端口 9999
上运行 Open WebUI。在此模式下,会忽略 PORT
环境变量。
ENABLE_REALTIME_CHAT_SAVE
- 类型:
bool
- 默认值:
False
- 描述: 启用时,系统会实时将每块流式聊天数据保存到数据库,以确保数据的最大持久性。此功能提供强大的数据恢复能力并允许精确的会话跟踪。然而,代价是增加了延迟,因为保存到数据库会引入延迟。禁用此功能可以提高性能并减少延迟,但在系统故障或崩溃时存在潜在数据丢失的风险。根据您的应用需求和可接受的权衡来使用。
BYPASS_MODEL_ACCESS_CONTROL
- 类型:
bool
- 默认值:
False
- 描述: 绕过模型访问控制。
WEBUI_BUILD_HASH
- 类型:
str
- 默认值:
dev-build
- 描述: 用于标识发布版本的 Git SHA。
WEBUI_BANNERS
- 类型:
list
ofdict
- 默认值:
[]
- 描述: 要向用户显示的横幅列表。横幅的格式如下:
[{"id": "string", "type": "string [info, success, warning, error]", "title": "string", "content": "string", "dismissible": false, "timestamp": 1000}]
- 持久性:此环境变量是一个
PersistentConfig
变量。
在 .env
文件中设置此环境变量时,请确保通过用双引号括起整个值并对内部引号使用转义引号 (\"
) 来进行转义。例如:
WEBUI_BANNERS="[{\"id\": \"1\", \"type\": \"warning\", \"title\": \"您的消息将被存储。\", \"content\": \"您的消息将被存储并可能由人工审查。LLM's 容易出现幻觉,请核对来源。\", \"dismissible\": true, \"timestamp\": 1000}]"
USE_CUDA_DOCKER
- 类型:
bool
- 默认值:
False
- 描述: 构建具有 NVIDIA CUDA 支持的 Docker 映像。启用本地 Whisper 和嵌入的 GPU 加速。
EXTERNAL_PWA_MANIFEST_URL
- 类型:
str
- 默认值: 空字符串 (' '),因为默认设置为
None
。 - 描述: 当定义为完全合格的 URL(例如 https://path/to/manifest.webmanifest)时,发送到 /manifest.json 的请求将使用外部清单文件。如果未定义,将使用默认的 manifest.json 文件。
ENABLE_TITLE_GENERATION
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用聊天标题生成。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
LICENSE_KEY
- 类型:
str
- 默认值:
None
- 描述: 指定要使用的许可证密钥(仅适用于企业用户)。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
SSL_ASSERT_FINGERPRINT
- 类型:
str
- 默认值: 空字符串(' '),因为默认设置为
None
。 - 描述: 指定要使用的 SSL 指纹。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
DEFAULT_PROMPT_SUGGESTIONS
- 类型:
list
包含dict
- 默认值:
[]
(表示使用内置的默认提示建议) - 描述: 提示建议列表。提示建议的格式为:
[{"title": ["Title part 1", "Title part 2"], "content": "prompt"}]
AIOHTTP 客户端
AIOHTTP_CLIENT_TIMEOUT
- 类型:
int
- 默认值:
300
- 描述: 指定 AIOHTTP 客户端的超时时间(以秒为单位)。这会影响与 Ollama 和 OpenAI 端点的连接等。
这是客户端等待响应的最大时间,超时将报错。
如果设置为空字符串(' '),则超时时间将设置为 None
,有效地禁用超时,
允许客户端无限期等待。
AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST
- 类型:
int
- 默认值:
10
- 描述: 用于获取模型列表的超时时间(以秒为单位)。在网络延迟较高的情况下,可以设置更长的超时时间以成功检索模型列表。
默认情况下,AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST
设置为 10 秒,以确保在打开 Web UI 时所有必要的连接均可用。这个时间量允许在网络延迟较大的情况下成功检索模型列表。如果想要更快的超时,可以降低这个值,但请注意,这可能会导致某些连接被中断,具体取决于您的网络状况。
AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST
- 类型:
int
- 描述: 设置获取模型列表的超时时间(以秒为单位)。在网络延迟较高的情况下,可以设置更长的超时时间以成功检索模型列表。
目录
DATA_DIR
- 类型:
str
- 默认值:
./data
- 描述: 指定用于数据存储的基础目录,包括上传、缓存、向量数据库等。
FONTS_DIR
- 类型:
str
- 描述: 指定字体目录。
FRONTEND_BUILD_DIR
- 类型:
str
- 默认值:
../build
- 描述: 指定构建的前端文件位置。
STATIC_DIR
- 类型:
str
- 默认值:
./static
- 描述: 指定静态文件目录,例如 favicon。
Ollama
ENABLE_OLLAMA_API
- 类型:
bool
- 默认值:
True
- 描述: 启用 Ollama API 的使用。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
OLLAMA_BASE_URL
(OLLAMA_API_BASE_URL
已废弃)
- 类型:
str
- 默认值:
http://localhost:11434
- Docker 默认值:
- 如果设置了
K8S_FLAG
:http://ollama-service.open-webui.svc.cluster.local:11434
- 如果
USE_OLLAMA_DOCKER=True
:http://localhost:11434
- 否则
http://host.docker.internal:11434
- 如果设置了
- 描述: 配置 Ollama 后端 URL。
OLLAMA_BASE_URLS
- 类型:
str
- 描述: 配置负载均衡的 Ollama 后端主机,使用
;
分隔。参见OLLAMA_BASE_URL
。优先于OLLAMA_BASE_URL
。 - 示例:
http://host-one:11434;http://host-two:11434
- 持久性: 此环境变量是一个
PersistentConfig
变量。
USE_OLLAMA_DOCKER
- 类型:
bool
- 默认值:
False
- 描述: 构建包含捆绑 Ollama 实例的 Docker 镜像。
K8S_FLAG
- 类型:
bool
- 默认值:
False
- 描述: 如果设置,则假设通过 Helm 图表部署,并将
OLLAMA_BASE_URL
设置为http://ollama-service.open-webui.svc.cluster.local:11434
OpenAI
ENABLE_OPENAI_API
- 类型:
bool
- 默认值:
True
- 描述: 启用 OpenAI API 的使用。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
OPENAI_API_BASE_URL
- 类型:
str
- 默认值:
https://api.openai.com/v1
- 描述: 配置 OpenAI 基础 API URL。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
OPENAI_API_BASE_URLS
- 类型:
str
- 描述: 支持负载均衡的 OpenAI 基础 API URL,使用分号分隔。
- 示例:
http://host-one:11434;http://host-two:11434
- 持久性: 此环境变量是一个
PersistentConfig
变量。
OPENAI_API_KEY
- 类型:
str
- 描述: 设置 OpenAI API 密钥。
- 示例:
sk-124781258123
- 持久性:此环境变量为
PersistentConfig
变量。
OPENAI_API_KEYS
- 类型:
str
- 描述:支持多个 OpenAI API 密钥,用分号分隔。
- 示例:
sk-124781258123;sk-4389759834759834
- 持久性:此环境变量为
PersistentConfig
变量。
任务
TASK_MODEL
- 类型:
str
- 描述:在使用 Ollama 模型时,用于生成标题和网页搜索查询等任务的默认模型。
- 持久性:此环境变量为
PersistentConfig
变量。
TASK_MODEL_EXTERNAL
- 类型:
str
- 描述:在使用 OpenAI 兼容端点时,用于生成 标题和网页搜索查询等任务的默认模型。
- 持久性:此环境变量为
PersistentConfig
变量。
TITLE_GENERATION_PROMPT_TEMPLATE
- 类型:
str
- 描述:用于生成聊天标题的提示模板。
- 默认值:
DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE
环境变量的值。
DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE
:
### 任务:
生成一个简洁的、3-5个词的标题,并附带一个总结聊天历史的表情符号。
### 指南:
- 标题应清晰地表示对话的主要主题或内容。
- 使用增强理解主题的表情符号,但避免使用引号或特殊格式。
- 标题应使用聊天的主要语言;如果是多语言,则默认为英语。
- 优先考虑准确性而不是过度创造性;保持清晰简单。
### 输出:
JSON 格式: { "title": "你的简洁标题" }
### 示例:
- { "title": "📉 股票市场趋势" },
- { "title": "🍪 完美巧克力曲奇配方" },
- { "title": "音乐流媒体的演变" },
- { "title": "远程工作的生产力技巧" },
- { "title": "人工智能在医疗中的应用" },
- { "title": "🎮 视频游戏开发见解" }
### 聊天记录:
<chat_history>
{{MESSAGES:END:2}}
</chat_history>
- 持久性:此环境变量为
PersistentConfig
变量。
TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
- 类型:
str
- 描述:用于调用工具的提示模板。
- 默认值:
DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
环境变量的值。
DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
:
可用工具: {{TOOLS}}
你的任务是根据查询从可用工具列表中选择并返回正确的工具。在以下指南的基础上进行操作:
- 仅返回 JSON 对象,不需额外的文本或解释。
- 如果没有工具符合查询,则返回空数组:
{
"tool_calls": []
}
- 如果一个或多个工具符合查询,请构造 JSON 响应,包含一个 "tool_calls" 数组,其中包含对象,包括:
- "name": 工具的名称。
- "parameters": 所需参数及其对应值的字典。
JSON 响应的格式严格为:
{
"tool_calls": [
{"name": "toolName1", "parameters": {"key1": "value1"}},
{"name": "toolName2", "parameters": {"key2": "value2"}}
]
}
- 持久性:此环境变量为
PersistentConfig
变量。
代码执行
ENABLE_CODE_EXECUTION
- 类型:
bool
- 默认值:
True
- 描述:启用或禁用代码执行功能。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_ENGINE
- 类型:
str
- 默认值:
pyodide
- 描述:指定使用的代码执行引擎。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_JUPYTER_URL
- 类型:
str
- 默认值:
None
- 描述:指定用于代码执行的 Jupyter URL。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_JUPYTER_AUTH
- 类型:
str
- 默认值:
None
- 描述:指定用于代码执行的 Jupyter 身份验证方法。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_JUPYTER_AUTH_TOKEN
- 类型:
str
- 默认值:
None
- 描述:指定用于代码执行的 Jupyter 身份验证令牌。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_JUPYTER_AUTH_PASSWORD
- 类型:
str
- 默认值:
None
- 描述:指定用于代码执行的 Jupyter 身份验证密码。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_EXECUTION_JUPYTER_TIMEOUT
- 类型:
str
- 默认值:空字符串(' '),因为默认值设置为
None
。 - 描述:指定 Jupyter 代码执行的超时时间。
- 持久性:此环境变量为
PersistentConfig
变量。
代码解释器
ENABLE_CODE_INTERPRETER
- 类型:
bool
- 默认值:
True
- 描述:启用或禁用代码解释器功能。
- 持久性:此环境变量为
PersistentConfig
变量。
CODE_INTERPRETER_ENGINE
- 类型:
str
- 默认值:
pyodide
- 描述: 指定要使用的代码解释器引擎。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_PROMPT_TEMPLATE
- 类型:
str
- 默认值:
None
- 描述: 指定代码解释器使用的提示模板。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_JUPYTER_URL
- 类型:
str
- 默认值: 空字符串 (' '),因为默认值为
None
。 - 描述: 指定代码解释器使用的 Jupyter URL。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_JUPYTER_AUTH
- 类型:
str
- 默认值: 空字符串 (' '),因为默认值为
None
。 - 描述: 指定代码解释器使用的 Jupyter 身份验证方法。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_JUPYTER_AUTH_TOKEN
- 类型:
str
- 默认值: 空字符串 (' '),因为默认值为
None
。 - 描述: 指定代码解释器使用的 Jupyter 身份验证令牌。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_JUPYTER_AUTH_PASSWORD
- 类型:
str
- 默认值: 空字符串 (' '),因为默认值为
None
。 - 描述: 指定代码解释器使用的 Jupyter 身份验证密码。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
CODE_INTERPRETER_JUPYTER_TIMEOUT
- 类型:
str
- 默认值: 空字符串 (' '),因为默认值为
None
。 - 描述: 指定代码解释器的 Jupyter 超时时间。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
直接连接(OpenAPI/MCPO 工具服务器)
ENABLE_DIRECT_CONNECTIONS
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用直接连接。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
自动补全
ENABLE_AUTOCOMPLETE_GENERATION
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用自动补全生成。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
启用 ENABLE_AUTOCOMPLETE_GENERATION
时,请确保相应配置 AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH
和 AUTOCOMPLETE_GENERATION_PROMPT_TEMPLATE
。
AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH
- 类型:
int
- 默认值:
-1
- 描述: 设置自动补全生成的最大输入长度。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
AUTOCOMPLETE_GENERATION_PROMPT_TEMPLATE
- 类型:
str
- 默认值:
DEFAULT_AUTOCOMPLETE_GENERATION_PROMPT_TEMPLATE
环境变量的值。
DEFAULT_AUTOCOMPLETE_GENERATION_PROMPT_TEMPLATE
:
### 任务:
你是一个自动补全系统。根据 `<type>` 中提到的 **补全类型** 和提供的语言继续 `<text>` 中的文本。
### **说明**:
1. 分析 `<text>` 的上下文和含义。
2. 根据 `<type>` 引导输出:
- **常规**: 提供自然简洁的续写内容。
- **搜索查询**: 补全生成逼真的搜索查询。
3. 直接从 `<text>` 开始,不要重复、改写或作为模型回复。只需完成文本。
4. 确保续写内容:
- 自然衔接 `<text>`。
- 避免重复、过度解释或无关内容。
5. 如果无法确定,返回: `{ "text": "" }`。
### **输出规则**:
- 仅以 JSON 格式响应: `{ "text": "<你的补全>" }`。
### **示例**:
#### 示例 1:
输入:
<type>常规</type>
<text>夕阳西下,天空被染成</text>
输出:
{ "text": "橙色和粉色的绚丽色彩。" }
#### 示例 2:
输入:
<type>搜索查询</type>
<text>评分最高的餐厅在</text>
输出:
{ "text": "纽约市的意大利美食领域。" }
---
### 上下文:
<chat_history>
{{MESSAGES:END:6}}
</chat_history>
<type>{{TYPE}}</type>
<text>{{PROMPT}}</text>
#### 输出:
- 描述: 设置自动补全生成的提示模板。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
评估竞技场模型
ENABLE_EVALUATION_ARENA_MODELS
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用评估竞技场模型。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
ENABLE_MESSAGE_RATING
- 类型:
bool
- 默认值:
True
- 描述: 启用消息评分功能。
- 持久性: 此环境变量是一个
PersistentConfig
变量。
ENABLE_COMMUNITY_SHARING
- 类型:
bool
- 默认值:
True
- 描述: 控制是否向用户显示分享至社区按钮。
- 持久性:此环境变量是一个
PersistentConfig
变量。
标签生成
ENABLE_TAGS_GENERATION
- 类型:
bool
- 默认值:
True
- 描述: 启用或禁用标签生成。
- 持久性:此环境变量是一个
PersistentConfig
变量。
TAGS_GENERATION_PROMPT_TEMPLATE
- 类型:
str
- 默认值:
DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE
环境变量的值。
DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE
:
### 任务:
生成 1-3 个宽泛的标签以归类聊天历史的主要主题,再加上 1-3 个更具体的子主题标签。
### 指导方针:
- 以高层级领域开始(例如:科学、技术、哲学、艺术、政治、商业、健康、体育、娱乐、教育)
- 如果某些子领域/子域在对话中占显著比例,考虑包括它们
- 如果内容太短(少于 3 条消息)或过于多样化,仅使用 ["General"]
- 使用聊天的主要语言;如果是多语言,默认使用英语
- 优先保证准确性而非精确性
### 输出:
JSON 格式: { "tags": ["tag1", "tag2", "tag3"] }
### 聊天历史:
<chat_history>
{{MESSAGES:END:6}}
</chat_history>
- 描述: 设置用于标签生成的提示模板。
- 持久性:此环境变量是一个
PersistentConfig
变量。
API 密钥端点限制
ENABLE_API_KEY
- 类型:
bool
- 默认值:
True
- 描述: 启用 API 密钥认证。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ENABLE_API_KEY_ENDPOINT_RESTRICTIONS
- 类型:
bool
- 默认值:
False
- 描述: 启用 API 密钥端点限制以增强安全性和可配置性。
- 持久性:此环境变量是一个
PersistentConfig
变量。
API_KEY_ALLOWED_ENDPOINTS
- 类型:
str
- 描述: 当启用 API 密钥端点限制时,指定允许的 API 端点的逗号分隔列表。
- 持久性:此环境变量是一个
PersistentConfig
变量。
API_KEY_ALLOWED_ENDPOINTS
的值应为以逗号 分隔的端点 URL 列表,例如 /api/v1/messages, /api/v1/channels
。
JWT_EXPIRES_IN
- 类型:
int
- 默认值:
-1
- 描述: 设置 JWT 的过期时间(以秒为单位)。有效时间单位:
s
,m
,h
,d
,w
或-1
表示无过期时间。 - 持久性:此环境变量是一个
PersistentConfig
变量。
安全变量
ENABLE_FORWARD_USER_INFO_HEADERS
- 类型:
bool
- 默认值:
False
- 描述: 将用户信息(如姓名、ID、邮箱和角色)作为 X-headers 转发到 OpenAI API 和 Ollama API。
如果启用,下列头信息会被转发:
X-OpenWebUI-User-Name
X-OpenWebUI-User-Id
X-OpenWebUI-User-Email
X-OpenWebUI-User-Role
ENABLE_WEB_LOADER_SSL_VERIFICATION
- 类型:
bool
- 默认值:
True
- 描述: 绕过网站上的 RAG SSL 验证。
- 持久性:此环境变量是一个
PersistentConfig
变量。
WEBUI_SESSION_COOKIE_SAME_SITE
- 类型:
str
- 选项:
lax
- 将SameSite
属性设置为 lax,允许由第三方网站发起的请求携带会话 Cookie。strict
- 将SameSite
属性设置为 strict,阻止由第三方网站发起的请求携带会话 Cookie。none
- 将SameSite
属性设置为 none,允许由第三方网站发起的请求携带会话 Cookie,但仅限 HTTPS。
- 默认值:
lax
- 描述: 设置会话 Cookie 的
SameSite
属性。
当启用 ENABLE_OAUTH_SIGNUP
时,将 WEBUI_SESSION_COOKIE_SAME_SITE
设置为 strict
可能导致登录失败。这是因为 Open WebUI 使用会话 Cookie 验证来自 OAuth 提供商的回调,这有助于防止 CSRF 攻击。
然而,strict
会话 Cookie 不会随回调请求一起发送, 从而可能导致登录问题。如果遇到此问题,请改用默认值 lax
。
WEBUI_SESSION_COOKIE_SECURE
- 类型:
bool
- 默认值:
False
- 描述: 如果设置为
True
,为会话 Cookie 设置Secure
属性。
WEBUI_AUTH_COOKIE_SAME_SITE
- 类型:
str
- 选项:
lax
- 将SameSite
属性设置为 lax,允许由第三方网站发起的请求携带认证 Cookie。strict
- 将SameSite
属性设置为 strict,阻止由第三方网站发起的请求携带认证 Cookie。none
- 将SameSite
属性设置为 none,允许由第三方网站发起的请求携带认证 Cookie,但仅限 HTTPS。
- 默认值:
lax
- 描述: 设置认证 Cookie 的
SameSite
属性。
如果未设置值,将使用 WEBUI_SESSION_COOKIE_SAME_SITE
作为后备。
WEBUI_AUTH_COOKIE_SECURE
- 类型:
bool
- 默认值:
False
- 描述:如果设置为
True
,将为认证Cookie设置Secure
属性。
如果未设置该值,将使用 WEBUI_SESSION_COOKIE_SECURE
作为回退。
WEBUI_AUTH
- 类型:
bool
- 默认值:
True
- 描述:此设置启用或禁用认证功能。
如果设置为 False
,将禁用您的 Open WebUI 实例的认证功能。然而,重要的是要注意,只有在没有已注册用户的新安装中才能关闭认证。如果已经存在用户,则无法直接禁用认证。想要关闭 WEBUI_AUTH
时,请确保数据库中没有用户存在。
WEBUI_SECRET_KEY
- 类型:
str
- 默认值:
t0p-s3cr3t
- Docker 默认值:首次启动时随机生成
- 描述:覆盖用于 JSON Web Token 的随机生成字符串。
当在带负载均衡器的多节点集群中部署 Open-WebUI 时,必须确保所有实例的 WEBUI_SECRET_KEY
值相同,以便在某个节点重启或会话转移到不同节点时,用户能够继续工作。否则,每次底层节点更改时,用户都需要重新登录。
OFFLINE_MODE
- 类型:
bool
- 默认值:
False
- 描述:启用或禁用离线模式。
RESET_CONFIG_ON_START
- 类型:
bool
- 默认值:
False
- 描述:在启动时重置
config.json
文件。
SAFE_MODE
- 类型:
bool
- 默认值:
False
- 描述:启用安全模式,此模式会禁用潜在不安全功能,停用所有功能。
CORS_ALLOW_ORIGIN
- 类型:
str
- 默认值:
*
- 描述:设置跨域资源共享 (CORS) 的允许来源。
RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE
- 类型:
bool
- 默认值:
False
- 描述:决定是否允许在 Hub 上使用定义在自有建模文件中的自定义模型。
RAG_RERANKING_MODEL_TRUST_REMOTE_CODE
- 类型:
bool
- 默认值:
False
- 描述:决定是否允许在 Hub 上使用定义在自有建模文件中的自定义模型用于重新排序。
RAG_EMBEDDING_MODEL_AUTO_UPDATE
- 类型:
bool
- 默认值:
True
- 描述:切换 Sentence-Transformer 模型的自动更新。
RAG_RERANKING_MODEL_AUTO_UPDATE
- 类型:
bool
- 默认值:
True
- 描述:切换重新排序模型的自动更新。
矢量数据库
VECTOR_DB
- 类型:
str
- 选项:
chroma
,elasticsearch
,milvus
,opensearch
,pgvector
,qdrant
,pinecone
- 默认值:
chroma
- 描述:指定要使用的矢量数据库系统。此设置决定用于管理嵌入的矢量存储系统。
ChromaDB
CHROMA_TENANT
- 类型:
str
- 默认值:
chromadb.DEFAULT_TENANT
(chromadb
模块中的常量) - 描述:设置 ChromaDB 的租户以便用于 RAG 嵌入。
CHROMA_DATABASE
- 类型:
str
- 默认值:
chromadb.DEFAULT_DATABASE
(chromadb
模块中的常量) - 描述:设置 ChromaDB 租户中的数据库以便用于 RAG 嵌入。
CHROMA_HTTP_HOST
- 类型:
str
- 描述:指定远程 ChromaDB 服务器的主机名。如果未设置,将使用本地 ChromaDB 实例。
CHROMA_HTTP_PORT
- 类型:
int
- 默认值:
8000
- 描述:指定远程 ChromaDB 服务器的端口。
CHROMA_HTTP_HEADERS
- 类型:
str
- 描述:指定在每次 ChromaDB 请求中包含的 HTTP 头的逗号分隔列表。
- 示例:
Authorization=Bearer heuhagfuahefj,User-Agent=OpenWebUI
。
CHROMA_HTTP_SSL
- 类型:
bool
- 默认值:
False
- 描述:控制是否为 ChromaDB 服务器连接使用 SSL。
CHROMA_CLIENT_AUTH_PROVIDER
- 类型:
str
- 描述:指定远程 ChromaDB 服务器的认证提供者。
- 示例:
chromadb.auth.basic_authn.BasicAuthClientProvider
CHROMA_CLIENT_AUTH_CREDENTIALS
- 类型:
str
- 描述:为远程 ChromaDB 服务器指定认证凭据。
- 示例:
username:password
Elasticsearch
ELASTICSEARCH_API_KEY
- 类型:
str
- 默认值:空字符串(
' '
),因为默认设置为None
。 - 描述:指定 Elasticsearch API 密钥。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ELASTICSEARCH_CA_CERTS
- 类型:
str
- 默认值:空字符串(
' '
),因为默认设置为None
。 - 描述:指定 Elasticsearch 的 CA 证书路径。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ELASTICSEARCH_CLOUD_ID
- 类型:
str
- 默认值:空字符串(
' '
),因为默认设置为None
。 - 描述:指定 Elasticsearch 云 ID。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ELASTICSEARCH_INDEX_PREFIX
- 类型:
str
- 默认值:
open_webui_collections
- 描述:指定 Elasticsearch 索引的前缀。
- 持久性:此环境变量是一个
PersistentConfig
变量 。
ELASTICSEARCH_PASSWORD
- 类型:
str
- 默认值:空字符串(' '),因为默认设置为
None
。 - 描述:指定 Elasticsearch 的密码。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ELASTICSEARCH_URL
- 类型:
str
- 默认值:
https://localhost:9200
- 描述:指定 Elasticsearch 实例的 URL。
- 持久性:此环境变量是一个
PersistentConfig
变量。
ELASTICSEARCH_USERNAME
- 类型:
str
- 默认值:空字符串(' '),因为默认设置为
None
。 - 描述:指定 Elasticsearch 的用户名。
- 持久性:此环境变量是一个
PersistentConfig
变量。
Milvus
MILVUS_URI
- 类型:
str
- 默认值:
${DATA_DIR}/vector_db/milvus.db
- 描述:指定用于连接 Milvus 向量数据库的 URI。根据部署配置,这可以指向本地或远程 Milvus 服务器。
MILVUS_DB
- 类型:
str
- 默认值:
default
- 描述:指定连接到 Milvus 实例中的数据库。
MILVUS_TOKEN
- 类型:
str
- 默认值:
None
- 描述:指定一个可选的 Milvus 连接令牌。
MILVUS_INDEX_TYPE
- 类型:
str
- 默认值:
HNSW
- 选项:
AUTOINDEX
,FLAT
,IVF_FLAT
,HNSW
- 描述:指定在 Milvus 中创建新集合时使用的索引类型。对于 Milvus 独立版,通常推荐使用
AUTOINDEX
。HNSW
可能提供更好的性能,但通常需要集群化的 Milvus 设置。 - 持久性:此环境变量是一个
PersistentConfig
变量。
MILVUS_METRIC_TYPE
- 类型:
str
- 默认值:
COSINE
- 选项:
COSINE
,IP
,L2
- 描述:指定在 Milvus 中进行向量相似度搜索的度量类型。
- 持久性:此环境变量是一个
PersistentConfig
变量。
MILVUS_HNSW_M
- 类型:
int
- 默认值:
16
- 描述:指定 Milvus 中 HNSW 索引类型的
M
参数。这会影响在构建过程中为每个新元素创建的双向链接数量。仅当MILVUS_INDEX_TYPE
为HNSW
时适用。 - 持久性:此环境变量是一个
PersistentConfig
变量。
MILVUS_HNSW_EFCONSTRUCTION
- 类型:
int
- 默认值:
100
- 描述:指定 Milvus 中 HNSW 索引类型的
efConstruction
参数。这会影响在索引构建过程中最近邻动态列表的大小。仅当MILVUS_INDEX_TYPE
为HNSW
时适用。 - 持久性:此环境变量是一个
PersistentConfig
变量。
MILVUS_IVF_FLAT_NLIST
- 类型:
int
- 默认值:
128
- 描述:指定 Milvus 中 IVF_FLAT 索引类型的
nlist
参数。这是聚类单位的数量。仅当MILVUS_INDEX_TYPE
为IVF_FLAT
时适用。 - 持久性:此环境变量是一个
PersistentConfig
变量。
OpenSearch
OPENSEARCH_CERT_VERIFY
- 类型:
bool
- 默认值:
False
- 描述:启用或禁用 OpenSearch 证书验证。
OPENSEARCH_PASSWORD
- 类型:
str
- 默认值:
None
- 描述:设置 OpenSearch 的密码。
OPENSEARCH_SSL
- 类型:
bool
- 默认值:
True
- 描述:启用或禁用 OpenSearch 的 SSL。
OPENSEARCH_URI
- 类型:
str
- 默认值:
https://localhost:9200
- 描述:设置 OpenSearch 的 URI。
OPENSEARCH_USERNAME
- 类型:
str
- 默认值:
None
- 描述:设置 OpenSearch 的用户名。
PGVector
PGVECTOR_DB_URL
- 类型:
str
- 默认值:
DATABASE_URL
环境变量的值 - 描述:设置模型存储的数据库 URL。
PGVECTOR_INITIALIZE_MAX_VECTOR_LENGTH
- 类型:
str
- 默认值:
1536
- 描述:指定 PGVector 初始化的最大向量长度。
Qdrant
QDRANT_API_KEY
- 类型:
str
- 描述:设置 Qdrant 的 API 密钥。