如何使用Open WebUI在HomeLab中部署开源大模型

一、什么是Open WebUI

Open WebUI是一款面向大型语言模型(LLMs)的用户友好型Web界面,支持Ollama和兼容OpenAI的API运行。它为用户提供了一种便捷的方式,与语言模型进行交互、训练和管理。Open WebUI的界面设计灵感来源于ChatGPT,确保了极佳的用户体验。无论是在桌面还是移动设备上,都能享受到无缝的响应式设计。性能快速且响应迅速。

Open WebUI为用户带来了如下强大的功能:

  1. 代码语法高亮:提高代码的可读性。
  2. 完整的Markdown和LaTeX支持:为交互体验增添丰富性。
  3. 本地RAG集成:通过文档交互无缝集成到聊天体验中。
  4. 网页浏览功能:将Web内容直接合并到对话中。
  5. 快捷预设支持:使用命令快速访问预设提示。
  6. RLHF注释:通过评分消息帮助构建用于RLHF的数据集。
  7. 对话标签:方便地分类和查找特定聊天。
  8. 多模型支持:无缝切换不同聊天模型。
  9. 多模态支持:允许与支持图像等多模态的模型进行交互。
  10. 模型文件生成器:通过Web UI轻松创建Ollama模型文件。
  11. 协作聊天:编排群组对话,利用多个模型的集体智慧。
  12. OpenAI API集成:与OpenAI兼容的API进行多功能对话。
  13. 聊天记录管理:轻松访问和管理对话历史。
  14. 语音输入支持:直接与模型进行语音交互。
  15. 高级参数微调:定制对话体验。

本地部署Open WebUI较为简单。Open WebUI提供了基于Docker或Kubernetes的快速安装方式,大大简化了部署过程。对于需要更新或从Ollama WebUI迁移的用户,Open WebUI也提供了详细的文档和支持。

二、通过Docker Compose快速部署

这是一个Docker Compose文件。如果你已经在HomeLab服务器上安装了Docker和Dockge,则可以直接拉取运行。如果不了解如何安装Docker和Dockge,可自行检索参考基地小组中的相关讨论。

version: "3.8"  # 使用的 Docker Compose 文件版本

services:
  ollama:  # 定义名为 ollama 的服务
    image: ollama/ollama  # 使用 ollama/ollama 镜像
    environment:
      - OLLAMA_HOST=0.0.0.0  # 设置环境变量,允许所有 IP 访问
    ports:
      - 11434:11434  # 将主机的 11434 端口映射到容器的 11434 端口
    volumes:
      - ./data/ollama:/root/.ollama  # 挂载主机目录到容器内,持久化数据
    extra_hosts:
      - host.docker.internal:host-gateway  # 添加主机内部网络的额外解析

  open-webui:  # 定义名为 open-webui 的服务
    image: ghcr.io/open-webui/open-webui:main  # 使用 open-webui 镜像的主分支
    ports:
      - 3001:8080  # 将主机的 30001端口映射到容器的 8080 端口
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434  # 设置环境变量,指向 ollama 服务
    volumes:
      - ./data/open-webui:/app/backend/data  # 挂载主机目录到容器内,持久化数据
    depends_on:
      - ollama  # 指定 open-webui 服务依赖于 ollama 服务
    extra_hosts:
      - host.docker.internal:host-gateway  # 添加主机内部网络的额外解析

运行完成后,把Dockge中的ollama对应终端命令行打开,输入如下命令,以调用你需要的模型。这里以llama3.1为例:

ollama run llama3.1

模型下载完成后,打开Open WebUI的界面,地址是你的主机本地地址 + 3001端口。第一次登录需要注册帐号密码。

登录后即可进行具体设置,并选取相应的模型,你也可以填写自己的OpenAI API地址,以使用GPT4等模型。

正常情况下,现在你已经可以在界面中选择并使用llama3.1,如果还不行,可以常识重启容器。

三、功能探索

一是可以探索下界面管理。Open WebUI 提供了强大的聊天历史记录本地存储和管理功能,让用户能够高效地访问和管理与 AI 的对话记录。你可以轻松浏览整个对话历史,快速回顾之前的交互内容,并通过关键字搜索和时间筛选快速找到所需信息。Open WebUI 还可以为每个对话自动生成记录,并支持用户创建自定义文件夹进行分类管理,避免聊天内容堆积,让用户专注于当前对话。

你还可以将完整的对话记录下载存档,方便日后回顾项目进度、整理思路、或与他人分享。所有存档的对话都支持快速检索和查看,确保你可以随时访问重要信息。即使在退出网页后再次登录,依然可以方便地查看之前的聊天记录,享受持续且连贯的交互体验。

二是可以探索一下自定义模型。可以进入工作空间,选择新建模型,并基于现有基础模型来调整设置你自己的模型。在自定义模型中,还可以添加知识库,从而让AI能够好地满足你的个人需求。

精力所限,简单写到这里。欢迎探索和补充。

相關文章

打不过就加入:主权个人必须善用的AI工具之模型篇

AI 领域竞争激烈,各家巨头都在不断推出更强大的模型。虽然开源模型与顶尖模型之间还存在差距,但其快速发展和开放生态也为 AI 技术的未来带来了更多可能性。实际上,技术赋能是主权个人理念的应有之意,主权个人应当高度关注相关领域进展,海纳百川,用AI赋能,把个领域最好的AI纳入自己的日常工作流程。

回复