适配Ollama的前端界面Open WebUI

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

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

什么是 Open WebUI ?

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

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Open WebUI 功能演示

【说明】:

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

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

安装

在群晖上以 Docker 方式安装。

镜像下载

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

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

bash 复制代码
# 新建文件夹 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/,但是会多几个步骤

bash 复制代码
# 如果拉不动的话加个代理
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 更快捷

bash 复制代码
# 运行容器(仅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 文件

yaml 复制代码
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

然后执行下面的命令

bash 复制代码
# 进入 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/

相关推荐
背太阳的牧羊人3 分钟前
冻结语言模型中的 自注意力层,使其参数不参与训练(梯度不会更新)。 对于跨注意力层,则解冻参数,使这些层可以进行梯度更新,从而参与训练。
人工智能·语言模型·自然语言处理
2401_8904167135 分钟前
Recaptcha2 图像怎么识别
人工智能·python·django
超级阿飞40 分钟前
利用Kubespray安装生产环境的k8s集群-排错篇
docker·容器·kubernetes
机器之心1 小时前
贾佳亚团队联合Adobe提出GenProp,物体追踪移除特效样样在行
人工智能
一叶_障目1 小时前
机器学习之决策树(DecisionTree——C4.5)
人工智能·决策树·机器学习
思码逸研发效能1 小时前
在 DevOps 实践中,如何构建自动化的持续集成和持续交付(CI/CD)管道,以提高开发和测试效率?
运维·人工智能·ci/cd·自动化·研发效能·devops·效能度量
Amctwd2 小时前
【Docker】私有Docker仓库的搭建
spring cloud·docker·eureka
AI量化投资实验室2 小时前
deap系统重构,再新增一个新的因子,年化39.1%,卡玛提升至2.76(附python代码)
大数据·人工智能·重构
张登杰踩2 小时前
如何快速下载Huggingface上的超大模型,不用梯子,以Deepseek-R1为例子
人工智能
AIGC大时代2 小时前
分享14分数据分析相关ChatGPT提示词
人工智能·chatgpt·数据分析