在 Spark 上使用 Open WebUI 和 Ollama 与模型对话
安装 Open WebUI 并使用 Ollama 在 Spark 上与模型对话
基本理念
Open WebUI 是一个可扩展的自托管 AI 接口,完全离线运行。 本操作手册将向您展示如何在 DGX Spark 设备上使用集成式 Ollama 服务器部署 Open WebUI。
您将完成
您将在 DGX Spark 上运行功能齐全的 Open WebUI 安装。您可以通过本地 Web 浏览器通过 NVIDIA Sync 的托管 SSH 隧道 (推荐) 或手动设置进行访问。该设置包括用于模型管理的集成 Ollama、持久性数据存储和用于模型推理的 GPU 加速。
前置知识
如何设置本地网络访问 DGX Spark 设备
先决条件
时间和风险
时长:初始设置 15-20 分钟,另加模型下载时间 (因模型大小而异)
- 风险:
Docker 权限问题可能需要更改用户组并重启会话
大型模型下载可能需要大量时间,具体取决于网络速度
- 最后更新:2025 年 10 月 28 日
细微文案调整
提示:
如果您尚未安装 NVIDIA Sync,在此处了解详情。
第 1 步 – 配置 Docker 权限
要使用 NVIDIA Sync 轻松管理容器,您必须能够在不使用 sudo 的情况下运行 Docker 命令。
从 NVIDIA Sync 打开终端应用,启动交互式 SSH 会话并测试 Docker 访问。在终端中,运行:
docker ps
如果您看到权限被拒绝的错误 (例如尝试连接到 Docker 守护程序套接字时权限被拒绝) ,请将您的用户添加到 docker 组,这样您就不需要使用 sudo 运行命令。
sudo usermod -aG docker $USER newgrp docker
再次测试 Docker 访问。在终端中,运行:
docker ps
第 2 步 – 验证 Docker 设置并提取容器
从 NVIDIA Sync 打开新的终端应用,并在 DGX Spark 上使用集成的 Ollama 提取 Open WebUI 容器镜像:
docker pull ghcr.io/open-webui/open-webui:ollama
下载容器镜像后,继续设置 NVIDIA Sync。
第 3 步 - 打开“NVIDIA Sync Settings” ( NVIDIA 同步设置)
单击系统托盘或任务栏中的 NVIDIA Sync 图标以打开主应用程序窗口。
单击右上角的齿轮图标以打开“Settings” (设置) 窗口。
单击“Custom” (自定义) 选项卡以访问“Custom Ports” (自定义端口) 配置。
第 4 步 - 添加 Open WebUI 自定义端口配置
自定义端口用于自动启动 Open WebUI 容器并设置端口转发。
单击“Custom” (自定义) 选项卡上的“Add New” (添加新) 按钮。
使用以下值填写表单:
名称(Name):Open WebUI
端口(Port):12000
按照以下路径在浏览器中自动打开(Auto open in browser at the following path):勾选此复选框
启动脚本(Start Script):复制并粘贴整个脚本:
#!/usr/bin/env bash
set -euo pipefail
NAME="open-webui"
IMAGE="ghcr.io/open-webui/open-webui:ollama"
cleanup() {
echo "Signal received; stopping ${NAME}..."
docker stop "${NAME}" >/dev/null 2>&1 || true
exit 0
}
trap cleanup INT TERM HUP QUIT EXIT
# Ensure Docker CLI and daemon are available
if ! docker info >/dev/null 2>&1; then
echo "Error: Docker daemon not reachable." >&2
exit 1
fi
# Already running?
if [ -n "$(docker ps -q --filter "name=^${NAME}$" --filter "status=running")" ]; then
echo "Container ${NAME} is already running."
else
# Exists but stopped? Start it.
if [ -n "$(docker ps -aq --filter "name=^${NAME}$")" ]; then
echo "Starting existing container ${NAME}..."
docker start "${NAME}" >/dev/null
else
# Not present: create and start it.
echo "Creating and starting ${NAME}..."
docker run -d -p 12000:8080 --gpus=all \
-v open-webui:/app/backend/data \
-v open-webui-ollama:/root/.ollama \
--name "${NAME}" "${IMAGE}" >/dev/null
fi
fi
echo "Running. Press Ctrl+C to stop ${NAME}."
# Keep the script alive until a signal arrives
while :; do sleep 86400; done单击“Add” (添加) 按钮,将配置保存到 DGX Spark。
第 5 步 - 启动 Open WebUI
单击系统托盘或任务栏中的 NVIDIA Sync 图标以打开应用程序主窗口。
在“Custom” (自定义) 部分下,单击“Open WebUI” (打开 WebUI) 。
您的默认 Web 浏览器应在 http://localhost:12000 。
提示:
首次运行时,Open WebUI 会下载模型。这可能会延迟服务器启动,并导致浏览器无法加载页面。只需等待并刷新页面即可。 在未来的发布中,它将很快打开。
第 6 步 - 创建管理员帐户
要开始使用 Open WebUI,您必须创建初始管理员帐户。这是一个本地帐户,您将使用该帐户访问 Open WebUI 界面。
在 Open WebUI 界面中,单击屏幕底部的“Get Started” (开始使用) 按钮。
使用您的首选凭据填写管理员帐户创建表单。
单击”Registration”(注册)按钮以创建您的帐户并访问主界面。
第 7 步 - 下载并配置模型
接下来,使用 Ollama 下载语言模型,并将其配置为在 打开 WebUI。此下载在您的 DGX Spark 设备上进行,可能需要几分钟时间。
单击 Open WebUI 界面左上角的“Select a model” (选择模型) 下拉菜单。
在搜索栏中输入: qwen3.5:27b 。
单击 Pull "qwen3.5:27b" from Ollama.com 出现的按钮。
等待模型下载完成。您可以在界面中监控进度。
完成后,从模型下拉菜单中选择“qwen3.5:27b”。
第 8 步 - 测试模型
您可以通过测试模型来验证设置是否正常工作。
在 Open WebUI 界面底部的聊天文本区域中,输入:Write me a haiku about GPU。
按 Enter 以发送消息,并等待模型的响应。
第 9 步 - 停止打开 WebUI
会话结束后,如果您想停止打开 WebUI 服务器并回收资源,请从 NVIDIA Sync 关闭 Open WebUI。
单击系统托盘或任务栏中的 NVIDIA Sync 图标以打开主应用程序窗口。
在“Custom” (自定义) 部分下,单击 x “Open WebUI”条目右侧的图标。
这将关闭隧道并停止 Open WebUI docker 容器。
第 10 步 - 后续步骤
请前往 https://ollama.com/library,尝试从 Ollama 库下载不同的模型。
当您尝试不同的模型时,可以通过 NVIDIA Sync 中提供的 DGX 控制面板监控 GPU 和显存使用情况。
如果 Open WebUI 报告有可用的更新,您可以在终端中运行以下命令来提取容器镜像:
docker stop open-webui docker rm open-webui docker pull ghcr.io/open-webui/open-webui:ollama
更新后,从 NVIDIA Sync 再次启动 Open WebUI。
第 11 步 - 清理和回滚
彻底删除 Open WebUI 安装并释放资源的步骤。
警告:
这些命令将永久删除所有 Open WebUI 数据和下载的模型。
停止并移除 Open WebUI 容器:
docker stop open-webui docker rm open-webui
删除下载的镜像:
docker rmi ghcr.io/open-webui/open-webui:ollama
删除持久性数据卷:
docker volume rm open-webui open-webui-ollama
通过打开“Settings” (设置) >“Custom” (自定义) 选项卡并删除该条目,从 NVIDIA Sync 中删除自定义应用程序。
第 1 步 - 配置 Docker 权限
要在不使用 sudo 的情况下轻松管理容器,您必须位于 docker 组。如果您选择跳过此步骤,则需要使用 sudo 运行 Docker 命令。
打开新终端并测试 Docker 访问。在终端中,运行:
docker ps
如果您看到权限被拒绝的错误 (例如尝试连接到 Docker 守护程序套接字时权限被拒绝) ,请将您的用户添加到 docker 组,这样您就不需要使用 sudo 运行命令。
sudo usermod -aG docker $USER newgrp docker
第 2 步 - 验证 Docker 设置并提取容器
使用集成的 Ollama 提取 Open WebUI 容器镜像:
docker pull ghcr.io/open-webui/open-webui:ollama
第 3 步 - 启动 Open WebUI 容器
通过运行以下命令启动 Open WebUI 容器:
docker run -d -p 8080:8080 --gpus=all \ -v open-webui:/app/backend/data \ -v open-webui-ollama:/root/.ollama \ --name open-webui ghcr.io/open-webui/open-webui:ollama
这将启动 Open WebUI 容器,并可在 http://localhost:8080 。您可以从本地 Web 浏览器访问 Open WebUI 界面。
注意:
应用程序数据将存储在 open-webui 卷中,模型数据将存储在 open-webui-ollama 卷中。
第 4 步 - 创建管理员帐户
设置 Open WebUI 的初始管理员帐户。这是您将用于访问 Open WebUI 界面的本地帐户。
在 Open WebUI 界面中,单击屏幕底部的“Get Started” (开始使用) 按钮。
使用您的首选凭据填写管理员帐户创建表单。
单击“Registration” (注册) 按钮以创建您的帐户并访问主界面。
第 5 步 - 下载并配置模型
然后,您将通过 Ollama 下载语言模型,并将其配置为 打开 WebUI。此下载在您的 DGX Spark 设备上进行,可能需要几分钟时间。
单击 Open WebUI 界面左上角的“Select a model” (选择模型) 下拉菜单。
在搜索栏中输入:qwen3.5:27b 。
单击出现的Pull "qwen3.5:27b" from Ollama.com (从 Ollama.com 中提取) 按钮。
等待模型下载完成。您可以在界面中监控进度。
完成后,从模型下拉菜单中选择“qwen3.5:27b”。
第 6 步 - 测试模型
您可以通过测试模型来验证设置是否正常工作 通过 Web 界面进行推理。
在 Open WebUI 界面底部的聊天文本区域中,输入:Write me a haiku about GPU。
按 Enter 以发送消息,并等待模型的响应。
第 7 步 - 后续步骤
请前往 https://ollama.com/library,尝试从 Ollama 库下载不同的模型。
您可以尝试使用 NVIDIA Sync 设置因此,当您尝试不同的模型时,可以通过 DGX 控制面板监控 GPU 和显存使用情况。
如果 Open WebUI 报告有可用的更新,您可以运行以下命令来更新容器镜像:
docker pull ghcr.io/open-webui/open-webui:ollama
第 8 步 - 清理和回滚
彻底删除 Open WebUI 安装并释放资源的步骤。
警告:
这些命令将永久删除所有 Open WebUI 数据和下载的模型。
停止并移除 Open WebUI 容器:
docker stop open-webui docker rm open-webui
删除下载的镜像:
docker rmi ghcr.io/open-webui/open-webui:ollama
删除持久性数据卷:
docker volume rm open-webui open-webui-ollama
通过 NVIDIA Sync 设置的常见问题
错误 |
原因 |
修复 |
|---|---|---|
Permission denied on docker ps |
不在 docker 组中的用户 |
完全运行步骤 1,包括终端重启 |
Browser doesn't open automatically |
自动打开设置已禁用 |
手动导航至 localhost:12000 |
Model download fails |
网络连接问题 |
检查互联网连接,然后重试下载 |
GPU not detected in container |
缺失 --gpus=all flag |
Recreate container with correct start script |
Port 12000 already in use |
Another application using port |
Change port in Custom App settings or stop conflicting service |
手动设置的常见问题
错误 |
原因 |
修复 |
|---|---|---|
Permission denied on docker ps |
不在 docker 组中的用户 |
完全运行第 1 步,包括注销并重新登录或使用 sudo |
连接被拒绝/超时 Model download fails |
网络连接问题 |
检查互联网连接,然后重试下载 |
| GPU not detected in container | 缺失 --gpus=all flag |
Recreate container with correct command |
Port 8080 already in use |
Another application using port |
Change port in docker command or stop conflicting service |
注意:
DGX Spark 采用统一内存架构 (UMA) ,可在 GPU 和 CPU 之间实现动态内存共享。 由于许多应用程序仍在更新以利用 UMA,您可能会遇到内存问题,即使在 DGX Spark 的内存容量。如果发生这种情况,请使用以下命令手动刷新缓冲区缓存:
sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'