Open WebUI — 本地版 ChatGPT
Open WebUI 是目前最流行的 Ollama 图形前端,界面与 ChatGPT 高度相似,功能完整:多模型切换、对话历史、Markdown 渲染、代码高亮、文件上传、图片理解等。
Open WebUI 核心功能
· 多模型并排对比(同一问题同时问多个模型)
· 完整对话历史(本地 SQLite 存储)
· 文件上传与 RAG(内置文档问答)
· 多用户系统(适合团队部署)
· 自定义模型参数(温度、上下文等)
· Markdown / LaTeX / 代码块渲染
· 语音输入输出(TTS/STT)
· 完整对话历史(本地 SQLite 存储)
· 文件上传与 RAG(内置文档问答)
· 多用户系统(适合团队部署)
· 自定义模型参数(温度、上下文等)
· Markdown / LaTeX / 代码块渲染
· 语音输入输出(TTS/STT)
方式一:pip 安装(最简单)
# 安装 Open WebUI
pip install open-webui
# 启动(首次启动会自动初始化数据库)
open-webui serve
# 访问 http://localhost:8080
# 首次访问需注册管理员账号(本地账号,无需真实邮箱)
方式二:Docker Compose(推荐,含完整 Ollama)
# docker-compose.yml — 一键启动 Ollama + Open WebUI
version: '3.8'
services:
ollama:
image: ollama/ollama
container_name: ollama
restart: unless-stopped
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu] # 有 NVIDIA GPU 时启用
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "8080:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434 # 指向同网络的 Ollama 服务
volumes:
- open_webui_data:/app/backend/data
depends_on:
- ollama
volumes:
ollama_data:
open_webui_data:
# 启动所有服务
docker compose up -d
# 查看运行状态
docker compose ps
# 在 Open WebUI 容器内下载模型
docker exec -it ollama ollama pull llama3.2
docker exec -it ollama ollama pull qwen2.5:7b
# 访问 http://localhost:8080
# 停止服务
docker compose down
AnythingLLM — 本地企业知识库
AnythingLLM 是功能更完整的企业级本地知识库系统,内置文档管理、多工作区、团队权限控制:
# 方式一:Docker 部署(推荐)
docker run -d \
--name anythingllm \
-p 3001:3001 \
-v ~/anythingllm:/app/server/storage \
-e OLLAMA_BASE_PATH=http://host-gateway:11434 \
--add-host host-gateway:host-gateway \
mintplexlabs/anythingllm
# 访问 http://localhost:3001
# 方式二:桌面版(Windows/macOS/Linux 均有安装包)
# 访问 https://anythingllm.com/desktop 下载
# AnythingLLM 特色功能:
# · 工作区(Workspace)隔离不同知识库
# · 支持 PDF/Word/Excel/网页 文档
# · 内置 Agent 模式(可调用工具)
# · API 接口(可集成到自己的应用)
Continue.dev — VS Code / JetBrains 代码助手
Continue.dev 是一个开源 AI 代码助手插件,可在 VS Code 中使用本地 Ollama 模型进行代码补全、注释生成、代码解释等:
# 1. 在 VS Code 中安装 Continue 扩展
# 搜索 "Continue - Codestral, Claude, and more"
# 2. 配置 Continue 使用 Ollama(~/.continue/config.json)
{
"models": [
{
"title": "Qwen 2.5 Coder (本地)",
"provider": "ollama",
"model": "qwen2.5-coder:7b"
},
{
"title": "DeepSeek Coder (本地)",
"provider": "ollama",
"model": "deepseek-coder-v2:16b"
}
],
"tabAutocompleteModel": {
"title": "代码自动补全",
"provider": "ollama",
"model": "qwen2.5-coder:1.5b" // 补全用小模型,速度更快
},
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text"
},
"contextProviders": [
{"name": "code"}, // 引用代码块
{"name": "docs"}, // 引用文档
{"name": "terminal"}, // 引用终端输出
{"name": "problems"} // 引用 lint 错误
]
}
桌面客户端横向对比
| 工具 | 类型 | 特色 | 适合谁 |
|---|---|---|---|
| Open WebUI | Web 应用 | 类 ChatGPT 完整体验,多用户支持 | 团队/个人日常对话 |
| AnythingLLM | Web/桌面 | 企业知识库,文档管理,工作区隔离 | 企业内网知识库 |
| Continue.dev | IDE 插件 | 代码补全、代码解释、单元测试生成 | 开发者代码辅助 |
| Chatbox | 桌面应用 | 轻量,支持多 API,快速配置 | 日常对话用户 |
| LM Studio | 桌面应用 | 内置模型下载,硬件信息显示 | 模型探索者 |
| Jan | 桌面应用 | 开源,完全离线,模型管理可视化 | 隐私优先用户 |
OpenAI API 兼容配置
Ollama 提供了完整的 OpenAI 格式 API 兼容层,让现有的 ChatGPT 应用无缝切换:
# ── 使用 OpenAI SDK 调用 Ollama ───────────────────────
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 随意填写
)
# 列出可用模型(兼容 /v1/models)
models = client.models.list()
for m in models.data:
print(m.id)
# 对话(兼容 /v1/chat/completions)
response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
# 流式输出(兼容 stream=True)
with client.chat.completions.create(
model="llama3.2",
messages=[{"role": "user", "content": "写一首短诗"}],
stream=True
) as stream:
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
# 嵌入(兼容 /v1/embeddings)
emb_response = client.embeddings.create(
model="nomic-embed-text",
input="Hello world"
)
print(f"向量维度: {len(emb_response.data[0].embedding)}")
为现有项目切换到 Ollama 的最小步骤
如果你的项目已使用 OpenAI SDK,切换到 Ollama 只需两步:1. 修改
base_url="http://localhost:11434/v1";2. 修改 api_key="ollama"(任意字符串);3. 将 model 名称改为本地安装的模型名(如 gpt-4 → qwen2.5:7b)。其余代码不需要任何修改。
本章小结
图形界面生态丰富:Open WebUI 是最接近 ChatGPT 的 Web 界面,一行 pip 命令即可启动;Continue.dev 让 VS Code 变成 AI 代码助手;AnythingLLM 适合企业知识库场景。所有工具都通过 Ollama 的 OpenAI 兼容 API 连接,
/v1/ 路径完全兼容 OpenAI SDK。下一章深入性能优化,让本地模型跑得更快。