在内网搭建AI助手 🧑💻
1. 概述
Open WebUI 是一个功能强大的自托管 WebUI,支持完全离线操作,适用于多种 大模型,包括 Ollama 和与 OpenAI 兼容的 API。
- 管理员创建: 在 Open WebUI 上创建的第一个账户将获得管理员权限,负责用户管理和系统设置。
- 用户注册: 后续注册的用户状态为 “待处理”,需由管理员批准后才能访问。
- 隐私和数据安全: 所有数据(包括登录信息)都存储在本地设备上,增强隐私和安全性。
推荐使用 Docker 🐳 快速启动,具体操作可参考 在Linux上安装Docker。
使用 Docker 安装 Open WebUI 时,请确保在 Docker 命令中包含 -v open-webui:/app/backend/data。此步骤至关重要,因为它确保数据库正确挂载,防止数据丢失。
2. 安装
2.1 使用默认配置安装
- 如果 Ollama 在您的计算机上,请使用以下命令:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- 如果 Ollama 在不同的服务器上,请使用此命令:
要连接到其他服务器上的 Ollama,请将 OLLAMA_BASE_URL 更改为该服务器的 URL:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
要使用 Nvidia GPU 支持运行 Open WebUI,请使用此命令:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
2.2 仅用 OpenAI API,不使用Ollama安装
如果你不打算用Ollama,而是使用OpenAI的API,请使用此命令
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
2.3 安装内置Ollama的OpenWebUI
此安装方法使用一个容器镜像,该镜像将 Open WebUI 与 Ollama 捆绑在一起,通过一个命令即可实现流畅的安装。根据您的硬件配置,选择合适的命令:
- 支持 GPU: 利用 GPU 资源,运行以下命令:
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
- 仅 CPU: 如果您不使用 GPU,请使用此命令:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
这两个命令都可以实现 Open WebUI 和 Ollama 的内置安装,确保您能够快速启动并运行。
安装后,您可以在本机通过 http://localhost:3000 访问 Open WebUI。确保你的机器在内网有可以访问的ip地址,那你就可以通过 http://IP地址:3000 访问 Open WebUI。
3. 通用配置
WEBUI_AUTH
- 类型: bool
- 默认设置: True
- 描述:此设置启用或禁用身份验证。
如果设置为 False,将禁用 Open WebUI 实例的身份验证。但请注意, 禁用身份验证仅适用于没有任何已注册用户的全新安装。如果已经存在注册用户,则无法直接禁用身份验证。如果您打算禁用 WEBUI_AUTH,请确保数据库中没有用户。
WEBUI_NAME
- 类型: str
- 默认值: Open WebUI
- 描述:设置主 WebUI 名称。如果被覆盖,将附加 (Open WebUI)。
WEBUI_URL
- 类型: str
- 默认值: http://localhost:3000
- 描述:指定 Open WebUI 可访问的 URL。目前用于搜索引擎支持。
DATA_DIR
- 类型: str
- 默认值: ./data
- 描述:指定数据存储的基本目录,包括上传、缓存、向量数据库等。
FRONTEND_BUILD_DIR
- 类型: str
- 默认值: ../build
- 描述:指定构建的前端文件的位置。
STATIC_DIR
- 类型: str
- 默认值: ./static
- 描述:指定静态文件的目录,如 favicon。
CUSTOM_NAME
- 类型: str
- 描述:设置 WEBUI_NAME,但会从 api.openwebui.com 获取元数据。
ENABLE_SIGNUP
- 类型: bool
- 默认值: True
- 描述:切换用户账户创建功能。
ENABLE_LOGIN_FORM
- 类型: bool
- 默认值: True
- 描述:切换电子邮件、密码、登录和 "or" 元素(仅在 ENABLE_OAUTH_SIGNUP 设置为 true 时)。
:::tips 注意 只有在 ENABLE_OAUTH_SIGNUP 也被使用并设置为 True 时,才应将此设置为 False。否则,无法登录。 :::
ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION
- 类型: bool
- 默认值: True
- 描述:绕过 RAG 对网站的 SSL 验证。
DEFAULT_MODELS
- 类型: str
- 描述:设置默认语言模型。
DEFAULT_USER_ROLE
-
类型: str (枚举: pending, user, admin)
-
选项:
- pending - 新用户的账户状态为待定,直到管理员手动激活。
- user - 新用户会自动激活,拥有普通用户权限。
- admin - 新用户会自动激活,拥有管理员权限。
-
默认值: pending
-
描述:设置分配给新用户的默认角色。
USER_PERMISSIONS_CHAT_DELETION
- 类型: bool
- 默认值: True
- 描述:切换用户删除聊天的权限。
ENABLE_MODEL_FILTER
- 类型: bool
- 默认值: False
- 描述:切换语言模型过滤功能。
MODEL_FILTER_LIST
- 类型: str
- 描述:设置语言模型过滤列表,使用分号分隔。
- 示例:llama3:instruct;gemma:instruct
ENABLE_ADMIN_EXPORT
- 类型: bool
- 默认值: True
- 描述:控制管理员用户是否可以导出数据。
ENABLE_COMMUNITY_SHARING
- 类型: bool
- 默认值: True
- 描述:控制用户是否显示共享到社区按钮。
WEBUI_BUILD_HASH
- 类型: str
- 默认值: dev-build
- 描述:用于标识构建版本的 Git SHA。
4. Ollama配置
ENABLE_OLLAMA_API
- 类型: bool
- 默认值: true
- 描述:启用 Ollama API 的使用。
OLLAMA_BASE_URL
-
类型: str
-
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。
K8S_FLAG
- 类型: bool
- 描述:如果设置,假定为 Helm chart 部署,并将 OLLAMA_BASE_URL 设置为
http://ollama-service.open-webui.svc.cluster.local:11434。
USE_OLLAMA_DOCKER
- 类型: bool
- 默认值: False
- 描述:构建包含捆绑的 Ollama 实例的 Docker 镜像。
5. OpenAI API配置
ENABLE_OPENAI_API
- 类型: bool
- 默认值: true
- 描述:启用 OpenAI API 的使用。
OPENAI_API_KEY
- 类型: str
- 描述:设置 OpenAI API 密钥。
OPENAI_API_BASE_URL
- 类型: str