如何在自己使用 ollama 和 open-webui 搭建自己的本地 AI 助手

在本地搭建一个 AI 助手,使用 ollama 作为后端模型服务,open-webui 作为前端界面,提供一个便捷的交互平台。

下载 Ollama 与 Docker

安装 ollama-cuda

$
paru -S ollama-cuda

启动 ollama 服务。

$
sudo systemctl start ollama

拉取并运行一个模型并测试运行,没问题。

拉取运行  olmo-3
拉取运行 olmo-3

安装 Docker 容器并开启 Nvidia cuda 加速支持

安装 Docker 容器。

$
paru -S docker

并启动 Docker 服务。

$
sudo systemctl start docker.service

为避免在使用 docker 命令时频繁地使用 sudo 对当前用户提权,将当前用户添加到 docker 组, 然后注销并重新登录,或运行以下命令使更改立即生效。

$
newgrp docker
$
sudo usermod -aG docker \$USER

为启用 nvidia cuda 加速, 安装 nvidia-container-toolkit。

$
sudo pacman -S nvidia-container-toolkit

然后配置 docker 使用 Nvidia cuda 加速。

$
sudo nvidia-ctk runtime configure --runtime=docker

运行命令后的/etc/docker/daemon.json 如下图所示, 其原理是修改容器默认使用 nvidia 运行时,容器自动获得 GPU 访问能力,从而使用 nvidia 显卡的 cuda 加速能力。

daemon.json
daemon.json

下载运行 open-webui

下载 open-webui

来到 open-webui 的 github 界面。

官方的 github 的 README 有详细的部署步骤:

  • 如果 Ollama 在本地,使用以下命令:
$
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/ -
  • 如果 Ollama 在远程服务器,使用以下命令:

为了连接到另一台服务器上的 Ollama,请将 OLLAMA_BASE_URL 更改为服务器的 URL:

$
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backer -
  • 如果需要使用 nvidia 的 cuda 加速能力, 使用以下命令:
$
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open- -

这里使用第三条命令进行安装,以使用 nvidia 的 cuda 加速能力。

运行测试 open-webui

等待 open-webui 完全启动后, 在浏览器打开 localhost:3000 就可以看到 open-webui 的注册界面。

创建好账号进入界面后发现,找不到之前下载的模型?

找不到模型
找不到模型

这是因为 Ollama 默认最对宿主机开放端口,Docker 内访问不到,只需要将 Ollama 的端口开放到 0.0.0.0(所有端口可访问,但不是很安全)就可以了,将以下配置写入 Ollama 服务文件。

bash
sudo tee /etc/systemd/system/ollama.service << 'EoF'
[Unit]
Description=ollama ServiceAfter=network-online.target
[Service]
ExecStart=/usr/bin/ollama serveUser=keao
Group=keao
Restart=always
RestartSec=3
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_HOST=0.0.0.0"
[Install]
wantedBy=multi-user.target
EOF

完成之后, 重新加载 daemon, 再重启 Ollama 服务。

$
sudo systemctl daemon-reload
$
sudo systemctl restart ollama

这时, 刷新 open-webui 应该就可以访问到模型了。

微信
支付宝

感谢您的支持 ☕

新故事即将发生
如何使用 archinstall 安装 Arch Linux

评论区

评论加载中...