AI 开放平台

提供适配不同硬件平台的AI模型,探索更多端侧场景应用

使用Open WebUI和Ollama构建本地大模型应用

此芯: P1    芯擎: SE1000-I    爱芯元智: AX650N    ThinkForce: TF7140

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

在 Debian 12 上安装 Docker

Docker 介绍

Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。

Docker Compose 介绍

传统模式下运维人员需要运行 docker run 来启动各种容器,一旦容器过多,就无法一次性记住所有的运行参数和命令,这时候我们可以使用 Docker Compose 来解决这个问题。

Docker Compose 是一个用于在单个主机上定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务,然后使用一个命令就可以创建并启动所有服务。使用 Docker Compose 可以大大简化 Docker 容器的管理和部署,特别是对于具有多个互相依赖的容器的复杂应用。

使用官方源安装 Docker

以下操作需要在 root 用户下完成,请使用 sudo -isu root 切换到 root 用户进行操作。

首先,安装一些必要的软件包:

apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates

然后加入 Docker 的 GPG 公钥和 apt 源:

curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

国内机器可以用清华 TUNA 的国内源:

Debian

curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:

apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

此时可以使用 docker version 命令检查是否安装成功:

root@orion-o6:/home/radxa# docker version
Client: Docker Engine - Community
 Version:           28.0.2
 API version:       1.48
 Go version:        go1.23.7
 Git commit:        0442a73
 Built:             Wed Mar 19 14:37:04 2025
 OS/Arch:           linux/arm64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          28.0.2
  API version:      1.48 (minimum version 1.24)
  Go version:       go1.23.7
  Git commit:       bea4de2
  Built:            Wed Mar 19 14:37:04 2025
  OS/Arch:          linux/arm64
  Experimental:     true
 containerd:
  Version:          1.7.26
  GitCommit:        753481ec61c7c8955a23d6ff7bc8e4daed455734
 runc:
  Version:          1.2.5
  GitCommit:        v1.2.5-0-g59923ef
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

安装 Docker Compose

使用 Docker 官方发布的 Github 直接安装最新版本:

curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-aarch64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

使用 docker-compose version 命令检查是否安装成功:

root@orion-o6:/home/radxa# docker-compose version
Docker Compose version v2.34.0

修改 Docker 配置

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘:

cat > /etc/docker/daemon.json << EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

然后重启 Docker 服务:

systemctl restart docker

至此,我们已经安装好了 Docker 和 Docker Compose,然后就可以安装各种软件。

使用 Docker 安装 Open WebUI

拉取 Open WebUI 镜像

首先从 GitHub Container Registry 中提取最新的 Open WebUI Docker 镜像。

docker pull ghcr.io/open-webui/open-webui:main

运行容器

使用默认设置运行容器。此命令包含卷映射以确保持久数据存储。

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

以上命令中的重要参数说明:

  • 卷映射(-v open-webui:/app/backend/data):将本地的 open-webui 卷映射到容器内的 /app/backend/data 目录确保数据的持久存储。这可以防止容器重启期间数据丢失。
  • 端口映射(-p 3000:8080):在本地机器的端口 3000 上暴露 WebUI。
  • -d: 以守护进程模式运行容器,容器将在后台运行。
  • --name open-webui: 为容器指定一个名称 open-webui,以便于管理和识别。
  • --restart always: 设置容器的重启策略为 always,这意味着容器如果停止(例如由于崩溃或系统重启),Docker 会自动重启它。
  • ghcr.io/open-webui/open-webui:main: 使用来自 GitHub 容器注册表(GitHub Container Registry)的 open-webui 镜像,并指定使用 main 标签的版本。

访问 WebUI

容器运行后,在浏览器中输入 http://开发板IP:8080 就能看到登录界面,第一次访问需要注册账号:

webui_auth

Open WebUI提供了一个直观的图形化界面,使用户可以方便地加载、配置、运行和监控各种 AI 模型,而无需编写代码或使用命令行界面。一旦 Open WebUI 开始运行,它将自动尝试连接到您的 Ollama 实例,您就可以立即管理和使用模型。

关于 Ollama 的安装和使用,请参考另一篇部署指南 使用 Ollama 管理和运行大模型

要在 Open WebUI 中管理您的 Ollama 实例,请按照以下步骤操作:

  1. 转到Open WebUI 中的管理设置。
  2. 导航至连接 > Ollama > 管理(单击扳手图标)。
    从这里,您可以下载模型、配置设置并管理与 Ollama 的连接。左上角可以看到所有本地端模型。

webui_model

配置好连接并下载模型后,您就可以开始使用 Ollama 和 Open WebUI 了。本次我们选择 Deepseek 蒸馏的 Qwen 1.8B 模型。在对话界面可以轻松进行聊天。

webui_run

无论您是探索新模型还是运行现有模型,Open WebUI 都能让一切变得简单而高效。