适配Ollama的前端界面Open WebUI

在前文 本地大模型运行框架Ollama 中,老苏留了个尾巴,限于篇幅只是提了一下 Open WebUI,有网友留言说自己安装没搞定,今天我们来补上

文章传送门:本地大模型运行框架Ollama

什么是 Open WebUI ?

Open WebUI 是针对 LLM 的用户友好的 WebUI,支持的 LLM 运行程序包括 OllamaOpenAI 兼容的 API

Open WebUI 系统旨在简化客户端(您的浏览器)和 Ollama API 之间的交互。此设计的核心是后端反向代理,可增强安全性并解决 CORS 问题。

【说明】:

  • 因为老苏的小机器不支持 Nvidia GPU,所以下面👇的安装示例仅支持 CPU

  • 本文假设你已经在 11434 端口启动了 Ollama 服务,但是否在本机是无所谓的。

安装

在群晖上以 Docker 方式安装。

镜像下载

官方没有在 docker hub 上发布镜像,而是发布在 ghcr.io,地址在 https://github.com/open-webui/open-webui/pkgs/container/open-webui

SSH 客户端登录到群晖后,依次执行下面的命令

1
2
3
4
5
6
7
8
# 新建文件夹 open-webui 和 子目录
mkdir -p /volume1/docker/open-webui/data

# 进入 open-webui 目录
cd /volume1/docker/open-webui

# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:main

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

1
2
3
4
5
6
7
8
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/open-webui/open-webui:main

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/open-webui/open-webui:main ghcr.io/open-webui/open-webui:main

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/open-webui/open-webui:main

下载完成后,可以在 映像 中找到

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
# 运行容器(仅CPU)
docker run -d \
--restart unless-stopped \
--name ollama-webui \
-p 11433:8080 \
-v $(pwd)/data:/app/backend/data \
-e OLLAMA_API_BASE_URL=http://192.168.0.197:11434/api \
-e WEBUI_SECRET_KEY=TkjGEiQ@5K^j \
ghcr.io/open-webui/open-webui:main

环境变量的简单说明

没有找到官方说明,但是这两个是必须要设置的

可变
OLLAMA_API_BASE_URL Ollama 服务器的地址
WEBUI_SECRET_KEY 可以理解成密码,老苏是用 Vaultwarden 生成的

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'

services:
ollama-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: ollama-webui
restart: unless-stopped
ports:
- 11433:8080
volumes:
- ./data:/app/backend/data
environment:
- OLLAMA_API_BASE_URL=http://192.168.0.197:11434/api
- WEBUI_SECRET_KEY=TkjGEiQ@5K^j

然后执行下面的命令

1
2
3
4
5
6
7
# 进入 open-webui 目录
cd /volume1/docker/open-webui

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:11433 就能看到登录界面

第一次需要注册账号

登录成功后的主界面

点左下角的用户名,进 Settings

也可以点 Select a model 后面的设置图标;

Modles 中可以添加、删除和切换模型

感谢网友 Zzz 推荐的 qwen:0.5b,这是阿里云推出的基于 Transformer 的大型语言模型,推理最低内存需求小于 2GB ,在老苏的机器上,运行都非常流畅。

可以在 Ollama 中用命令行安装

感谢网友 潇雨 推荐的 gemma:2b,这是 Google 及其 DeepMind 团队开发的新型开放模型。

也可以在这里直接下载

  • ①中输入模型名称及版本
  • ②点击开始下载
  • ③跳转到模型库查询页面

过程中有进度显示

回到首界面,选择模型

刚下载的模型可能要等一会才会显示出来,现在老苏已经有了 2 模型了

现在可以开始提问了

同样的问题,换个模型试试

目前的这种应用场景下,老苏暂时倾向于使用 qwen:0.5b ,不仅速度快,答案看起来也更丰满一些

参考文档

open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)
地址:https://github.com/open-webui/open-webui

🏡 Home | Open WebUI
地址:https://docs.openwebui.com/