Open WebUI部署本地模型

介绍

Open WebUI 是一个开源的、用户友好的 Web 用户界面,专为管理和操作大型语言模型(LLMs)设计。它支持多种模型运行器,包括 Ollama 和兼容 OpenAI API 的模型,提供了丰富的功能和直观的界面,使用户能够轻松地与本地或云端的大模型进行交互。

特点

  • 支持代码语法高亮、Markdown 和 LaTeX 渲染,提升交互体验
  • 支持多种 LLM 运行器,包括 Ollama 和 OpenAI 兼容的 API
  • 支持多模态交互(如文本、图像),适用于复杂的 AI 应用场景
  • 集成检索增强生成(RAG)技术,允许用户将文档、网站等内容作为上下文信息
  • 支持语音输入和图像生成功能(如 DALL-E API)
  • 提供基于角色的访问控制(RBAC),确保只有授权用户才能访问敏感信息
  • 丰富的社区贡献和插件支持

仓库

仓库:Open WebUI

官网:Open WebUI

文档:🏡 Home | Open WebUI

部署

使用 docker compose 部署,docker-compose.yml​ :

# version: '3'
# services:
#   openwebui:
#     image: ghcr.io/open-webui/open-webui:main
#     ports:
#       - "3000:8080"
#     volumes:
#       - ./data:/app/backend/data

# version: '8'
services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ./ollama:/root/.ollama
    networks:
      - ollama-net

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_API_BASE=http://ollama:11434
    volumes:
      - ./open-webui:/app/backend/data
    depends_on:
      - ollama
    networks:
      - ollama-net

networks:
  ollama-net:
    driver: bridge

ollama 是本地模型管理器,需要配合使用

如果你部署的机器有 NVIDIA 显卡,可以增加 GPU 的支持:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:cuda
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

如果是 AMD 的显卡,需要配置环境变量:HSA_OVERRIDE_GFX_VERSION​ 以支持特定 GPU 架构,更详细的配置可以参考官方文档:🏡 Home | Open WebUI

配置ollama

使用 docker compose up -d​ 启动容器之后,访问 http://localhost:3000​ 即可进入管理界面,创建好管理员账户之后登录后台面板,如果需要公网访问,只需使用 nginx 或者其他工具反代 3000 端口,ollama 的链接不用反代,内网容器之间进行访问即可。

首先设置 ollama 链接,打开管理员面板 - 设置 - 外部链接:

image

IP 地址为本地 IP,端口为 docker-compose.yml​ 中设置的 ollama 端口,保存即可

本地模型

打开管理员面板 - 设置 - 模型:

image

点击右上角的管理模型图标,输入模型标签,点击下载模型即可,模型标签可以在 ollama 官网中找到:

ollama 官网:Ollama Models

以 DeepSeek-R1 为例:

image

需要注意的是,模型标签为 ollama run​ 命令后面的 deepseek-r1:1.5b​ ,不是整个命令。

下载好模型之后如图所示:

image

有模型 ID 的,就是本地模型,没有的就是在线 API 模型,下面说怎么设置 API 模型。

在线模型

打开管理员面板 - 设置 - 外部链接:

image

可以通过加号来添加 API,通过齿轮图标来进行设置,

需要注意的是,这里默认是 openai 的 API,如果你的机器不能直接访问 openai,建议关闭 openai api,否则会导致卡在初始图标界面,无法进入。在线模型的 API 访问速度会影响 open-webui 的打开速度。

对于 deepseek 的 api,不需要指定模型id,默认会加载全部模型,也就是 deepseek-chat 和 deepseek-reasoner:

image

对于其他兼容 OpenAI 的 API,则可能需要指定模型 ID:

image

然后保存更新之后就可以在模型列表中看到添加的在线模型了。

配置模型

添加好的本地模型或者在线模型,默认只能管理员进行访问,如果需要开放给其他用户进行使用,还需要配置自定义模型。

打开工作空间 - 模型,选择添加模型:

image

然后填入对应的参数:

image

open-webui会根据输入的模型名称自动生成一个模型 ID,所以模型名称不要和添加本地模型或在线模型的 ID 一致,

基础模型就是下载好的本地模型或者通过 API 引入的在线模型,可见性设置为 public 才可以被其他用户访问到。

输入完参数后,最下面点击保存即可,然后就可以点击左上角的新对话,选择创建好的模型使用啦~

选择模型的时候,模型的顺序可以在管理员面板 - 设置 - 模型 - 设置中调整:

image

image

image

设置好排序后点击下方的保存即可。