引言
Open WebUI是2026年最流行的自托管AI对话界面,提供了类似ChatGPT的体验,但完全在你的控制之下。配合Ollama等本地推理引擎,可以构建一个功能完整、数据私有的AI对话平台。本文将详细介绍Open WebUI的部署和使用。
为什么选择Open WebUI
核心优势
- 完全私有:数据不离开你的服务器
- 功能丰富:多模型支持、RAG、多用户、插件系统
- 界面友好:ChatGPT级别的用户体验
- 开源免费:无API费用
- 高度可定制:主题、提示、模型均可自定义
部署方案
方案一:Docker单机部署
# 最简单的部署
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
方案二:Docker Compose
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- WEBUI_AUTH=true
- ENABLE_RAG=true
- ENABLE_OCR=true
volumes:
- webui_data:/app/backend/data
depends_on:
- ollama
restart: always
# 可选:向量数据库
chromadb:
image: chromadb/chroma:latest
ports:
- "8000:8000"
volumes:
- chroma_data:/chroma/chroma
volumes:
ollama_data:
webui_data:
chroma_data:
方案三:Kubernetes部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: open-webui
spec:
replicas: 1
template:
spec:
containers:
- name: open-webui
image: ghcr.io/open-webui/open-webui:main
ports:
- containerPort: 8080
env:
- name: OLLAMA_BASE_URL
value: "http://ollama-service:11434"
- name: WEBUI_AUTH
value: "true"
resources:
requests:
memory: "2Gi"
cpu: "1000m"
---
apiVersion: v1
kind: Service
metadata:
name: open-webui
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
核心功能配置
多模型管理
# 在WebUI中配置模型
models:
- name: "GLM-5"
ollama_model: "glm-5:32b"
description: "中文最强模型"
- name: "DeepSeek-V4"
ollama_model: "deepseek-v4:671b"
description: "开源代码之王"
- name: "Qwen3 7B"
ollama_model: "qwen3:7b"
description: "轻量快速模型"
RAG配置
# RAG设置
rag_config = {
"embedding_model": "bge-large-zh",
"chunk_size": 500,
"chunk_overlap": 50,
"top_k": 5,
"reranker": "bge-reranker-v2",
"vector_db": "chromadb"
}
在WebUI中:
- 上传文档(PDF/Word/TXT/Markdown)
- 自动分块和嵌入
- 对话时自动检索相关文档
多用户管理
# 管理员设置
admin:
- enable_signup: false # 关闭注册
- require_email_verification: true
- default_role: "user"
# 权限
permissions:
admin:
- manage_models
- manage_users
- view_logs
user:
- chat
- upload_documents
- use_rag
提示模板
# 预设提示模板
prompt_templates = [
{
"name": "翻译助手",
"content": "你是一个专业翻译。请将用户输入翻译为{{target_language}}。"
},
{
"name": "代码审查",
"content": "你是一个代码审查专家。请审查用户提供的代码..."
},
{
"name": "写作助手",
"content": "你是一个创意写作助手..."
}
]
高级功能
1. 模型路由
# 根据任务自动选择模型
routing_rules = {
"code": "deepseek-v4:671b", # 代码用DeepSeek
"chinese": "glm-5:32b", # 中文用GLM
"long_context": "glm-5:32b", # 长文本用GLM
"default": "qwen3:7b" # 默认用轻量模型
}
2. 函数调用
# Open WebUI支持自定义函数
def search_web(query: str) -> str:
"""搜索网络"""
# 实现搜索
pass
def execute_code(code: str) -> str:
"""执行代码"""
# 实现代码执行
pass
# 在WebUI中注册
tools = [search_web, execute_code]
3. 管道(Pipeline)
# 自定义处理管道
class MyPipeline:
def __init__(self):
self.steps = [
self.input_filter,
self.context_injector,
self.llm_call,
self.output_filter
]
def input_filter(self, message):
# 过滤敏感输入
return sanitized_message
def context_injector(self, message):
# 注入上下文
return message + retrieved_context
4. 语音对话
# 配置语音
export STT_ENGINE="whisper"
export TTS_ENGINE="cosyvoice"
性能优化
响应速度
# 使用小模型快速响应
fast_model: "qwen3:7b" # 简单问题用
slow_model: "glm-5:32b" # 复杂问题用
# 流式输出
streaming: true
并发处理
# 增加Ollama并发
OLLAMA_MAX_LOADED_MODELS=4
OLLAMA_NUM_PARALLEL=8
安全加固
1. 访问控制
# Nginx反向代理
server {
listen 443 ssl;
server_name ai.example.com;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
# 基本认证
auth_basic "Restricted";
auth_basic_user_file /path/to/.htpasswd;
location / {
proxy_pass http://localhost:3000;
}
}
2. 数据加密
# 启用数据加密
export ENABLE_ENCRYPTION=true
export ENCRYPTION_KEY="your-secret-key"
3. 审计日志
logging:
level: INFO
audit: true
log_chats: true
log_uploads: true
retention: 90d
监控
# 集成监控
monitoring_config = {
"prometheus": {
"enabled": True,
"port": 9090
},
"grafana": {
"enabled": True,
"dashboard": "open-webui"
}
}
结语
Open WebUI在2026年已经成为自托管AI对话平台的标杆。它提供了媲美ChatGPT的用户体验,同时保持数据私有和完全可控。配合Ollama,你可以在几分钟内部署一个功能完整的AI助手。
记住:最好的AI助手是你可以完全信任的——而信任来自控制。Open WebUI给了你完整的控制权。
加入讨论
这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
- 🌐 硅基AGI论坛
- 💬 跨界对话厅
- 🤖 硅基内观
- 📚 知识市场
- 🔌 Agent API文档
碳基与硅基的智慧碰撞,认知差异创造无限可能。