打造本地 Deepseek AI 推理服务器
先说好消息!Digital Spaceport 用之前评测用过的 AMD EPYC Rome 平台,跑出了非常棒的性能 :😁: 这套配置真是经典!用这套配置的朋友们今天有好消息了,因为他们用 Q4 671b 完整模型,就能跑到每秒 4.25 到 3.5 个 Token (TPS)。这很重要,因为那些“精简版”模型完全不是一个档次。它们性能差远了,其他模型轻松超过它们。想要获得真正的大模型体验,就得用完整模型,最好上下文窗口还大(16K 以上)。这个完整模型即使只用 CPU 跑也还行,所以你可以让它跑着,同时用 GPU 跑一些小模型,比如图像识别模型。再次强调,除非你有超豪华的设备,否则光靠 GPU 显存是跑不动完整版 Deepseek 671b 的。Digital Spaceport 会教你各种技巧,让它跑起来。这不算“简单”,但如果你喜欢折腾技术,会觉得很有意思。
更正声明 (2024/02/01)
- 空闲功耗:60W (比 Digital Spaceport 预想的低,这是没插 GPU 的情况)
- 满载功耗:260W
- Digital Spaceport 当前内存频率:2400MHz (可能 3200MHz 性能更好)
本地 AI 服务器 CPU 硬件
如果你之前看过 Digital Spaceport 的四路 3090 显卡服务器配置指南,那你就有福了。那颗 EPYC 7702 CPU 现在依然能打。Digital Spaceport 推荐更好的 CPU,因为现在价格差不多,性能提升却很明显。不过,本文的测试结果是用 Digital Spaceport 自己的 7702 CPU 跑出来的。MZ32-AR0 主板当初也是个很好的推荐,它有 16 个内存插槽,能跑满 3200MHz 频率,能帮你大幅降低搞定 512GB 到 1TB 内存的成本。Digital Spaceport 现在用的是 2400MHz DDR4 内存条,但如果你用 3200MHz DDR4 ECC 内存条,性能应该还能提升。16 根 32GB 内存条就能达到 512GB 内存,16 根 64GB 内存条就能达到 1TB。注意:LRDIMM 和 RDIMM 内存条不能混用! (LRDIMM 和 RDIMM 是两种不同类型的服务器内存条,不能混插,否则可能导致电脑无法启动)
本地 AI 服务器 Rig 组件清单
- 机架 55 美元
- MZ32-AR0 主板 500 美元
- CPU 水冷 420mm Corsair h170i elite capellix xt 170 美元
- EPYC CPU 水冷头支架
- 64 核 AMD EPYC 7702 650 美元 或 64 核 AMD EPYC 7V13 599 美元 或 64 核 AMD EPYC 7C13 735 美元
- 512GB 2400 ECC 内存 400 美元
- 1TB NVMe 固态硬盘 – Samsung 980 Pro 75 美元
- 850W 电源 80 美元 (如果只用 CPU 推理,850W 够了。如果要用 GPU,建议买 1500W 或 1600W 起步的电源)
(价格为 2025 年 1 月 29 日数据)
总成本:大约 2000 美元* 如果你用 512GB 2400 内存和 EPYC 7702 CPU。Digital Spaceport 建议买 7C13 或 7V13 CPU,而不是升级内存频率。升级到 768GB 内存是第二选择,最后才考虑 3200MHz 内存。如果用顶配 CPU (7C13 或 7V13) 和 1TB 2400MHz 内存,总价大概 2500 美元。*
Rig 机架组装
组装过程和之前的视频一样,还是不装 GPU 和延长卡。如果你之后要加 GPU,Digital Spaceport 建议一开始就买 1500W 或 1600W 的电源。加 GPU 和延长卡后,其他部分保持不变。你可以看这个视频学习组装。(指上文提到的四路 3090 显卡服务器配置视频) 忽略视频里关于 GPU 的部分,其他步骤都一样。
另外,最好搞个小风扇墙,用扎带绑好,对着内存条吹风,帮助散热。内存条不会热熔,但温度太高会触发过热保护,降低性能,影响数据处理速度。Digital Spaceport 用了 4 个 80mm 的小风扇。(风扇墙指多个风扇并排安装,形成一面风墙,提供更强的散热能力)
主板升级提示
如果要用 AMD EPYC 7V13 CPU,最好直接买 V3 版本的 MZ32-AR0 主板,别买 V1 再升级。V1 版本可能出厂不支持 Milan 架构的 CPU,得 V3 版本才行,所以你可能需要先用 V2 版本的 CPU 升级主板 BIOS。(BIOS 相当于电脑主板的 “灵魂”,控制硬件启动和运行,升级 BIOS 可以让主板支持更新的硬件) Digital Spaceport 没法确定 V1 版本是不是一定不支持 Milan CPU,但 Digital Spaceport 觉得可能性很大。根据 Digital Spaceport 的经验,可以通过刷 BIOS 更新,把 V1 主板直接升到最新 V3 版本。先刷一个 V3 早期版本的 BIOS,再刷最新的 V3 版本 BIOS 就行了。最新的 BIOS 版本是 M23_R40 (截至本文写作时的数据)。
本地 AI 自托管软件设置
软件设置这部分,比 Digital Spaceport 之前的教程要稍微复杂一点。没错,你可以直接在裸机 Proxmox 系统上装 Ollama。(Proxmox 是一种服务器虚拟化管理软件,可以让你在一台物理服务器上运行多个虚拟机) 但是,Digital Spaceport 建议最好别这么干。现在你有两个选择,Digital Spaceport 先讲其中一个。Digital Spaceport 需要先测试一下性能影响,再决定要不要推荐另一个方案。另一个方案是在独立的 LXC 容器或虚拟机 (VM) 里跑 Ollama。(LXC 容器和 VM 虚拟机都是虚拟化技术,可以隔离软件运行环境) 如果你之前看过 Digital Spaceport 的 LXC 和 Docker 教程,可以继续用 LXC,但 Digital Spaceport 建议现在最好在虚拟机 (VM) 里安装。 Digital Spaceport 会努力研究出一个更统一的方案,让所有东西都能在咱们这个小 AI 服务器里愉快地自给自足,但这需要时间。
裸机 Ubuntu 24.04 还是 Proxmox 虚拟机?
如果你想尽量减少不必要的麻烦,从头开始全新安装,那就直接在裸机 Ubuntu 24.04 服务器上装。或者,你也可以参考之前的 Proxmox 教程。(指 Digital Spaceport 之前发布的 Proxmox 安装教程) 怎么选,你自己决定,后果自负哈。如果你喜欢,也可以装桌面环境,但没必要,Digital Spaceport 也不演示这个。咱们这是在服务器上跑服务,不用怕命令行界面 (CLI)。
设置 MZ32-AR0 主板的 BMC
把 MZ32-AR0 主板的以太网口和 BMC 端口都连上网线。(BMC (Baseboard Management Controller) 基板管理控制器,可以远程管理服务器硬件) 如果你用了防火墙路由器,比如 opnsense 或 pfsense,可以查一下路由器的 ARP 列表,看看 BMC 的端口有没有显示出来。找到 BMC 的 IP 地址。Digital Spaceport 这边,BMC 地址是 https://192.168.1.XX。在浏览器里打开这个地址,就会直接弹出用户名密码登录框。默认用户名是 admin。密码在主板上的贴纸上,MZ32-AR0 标志下面。Digital Spaceport 这块主板的贴纸如图所示。就是那个带条形码的标签。密码大概是去掉 “3/C/” 开头的 3 个字符,然后后面 6 个或 11 个字符就是初始密码。 成功登录 BMC 管理界面后,进入
Home > Settings > Network > Network IP Settings
设置主板的静态 IP 地址。如果用了本地 DNS 和 NTP 服务器,也设置一下。(DNS 服务器负责域名解析,NTP 服务器负责时间同步) BMC 管理界面以后会经常用到,最好加个书签。
接下来,点击侧边栏的 “远程控制 (remote control)”。 页面会显示 “HTML5 viewer” 选项。Digital Spaceport 建议用有线网络连接操作,因为等下要通过网络上传一个 2.5GB 的 Ubuntu 24.04 系统 ISO 镜像来安装系统。(ISO 镜像文件是光盘或硬盘的完整备份) 去 Ubuntu 官网下载 Ubuntu 24.04 Server 版本的 ISO 镜像。大概 2.5GB 大小。在 BMC 管理界面的 HTML5 viewer 里,点击右上角,加载这个 ISO 镜像。
加载完成后,点 “启动 (start)”。如果你还没开服务器,现在就开机。开机后,HTML5 viewer 界面会开始显示上传进度,数字会慢慢增加。鼠标点击进入 “screen” 窗口,等待出现 Gigabyte 启动 лого。看到 лого 后,按键盘上的 DEL 键,进入 BIOS 设置。在 BIOS 里,先加载默认设置 (load defaults),然后保存并重启。 电脑重启后,再次进入 BIOS。这次要修改一些设置。首先,设置启动盘。启动模式可以保持 UEFI,也可以改成 Legacy。Legacy 模式可能更省事,不容易出幺蛾子。(UEFI 和 Legacy 是两种不同的 BIOS 启动模式,UEFI 是更现代更先进的模式)
下面是需要找到并修改的 BIOS 设置项:
- NPS 设置为 1 (NPS (Nodes Per Socket) 每插槽节点数,影响 CPU 内存访问模式)
- CCD 设置为 Auto (CCD (Core Complex Die) CPU 核心复合体,AMD CPU 的模块化设计)
- SMT 关闭 (SMT (Simultaneous Multithreading) 同步多线程技术,AMD 版本的超线程,关闭后单核性能更稳定)
- SVM 关闭 (如果用 Proxmox 虚拟机,可以开启,性能会略微下降) (SVM (Secure Virtual Machine) 安全虚拟机模式,虚拟化技术硬件加速)
- IOMMU 关闭 (如果用 Proxmox 虚拟机,可以开启,性能会略微下降) (IOMMU (Input-Output Memory Management Unit) 输入输出内存管理单元,虚拟化技术硬件加速)
- cTDP 调整为 200W (针对 EPYC 7702 CPU) (cTDP (Configurable TDP) 可配置 TDP,调整 CPU 功耗和性能)
- deterministic control 设置为 manual (手动),然后把滑块拉到 performance (性能)
- quick power policy 设置为 performance (性能)
- BoostFMax 设置为 manual (手动) (BoostFMax CPU 加速频率上限设置)
- boostFmax 设置为 3400 (针对 EPYC 7702 CPU) (设置 CPU 加速频率上限为 3.4GHz)
修改完以上 BIOS 设置后,保存并再次重启。这次重启时,按 F12/11/10 (Digital Spaceport 记不清具体哪个键了,启动 лого 页面底部会显示) 进入启动菜单。选择 “AMI Virtual CD” 选项,从虚拟光驱启动。如果是有线网络连接,应该很快就能进入 Ubuntu 系统安装界面。接下来就是 Ubuntu 系统的安装步骤了。设置用户名和密码,务必记住。 勾选 “安装 SSH 服务 (setup ssh server)” 选项,方便安装完成后远程登录。(SSH (Secure Shell) 安全外壳协议,用于远程登录和管理服务器) 等待系统安装完成。安装完成后会重启,最后会提示按 Enter 键继续。按 Enter 键后,系统会再次重启,然后进入命令行终端,提示输入用户名。输入你设置的用户名和密码登录。 登录成功后,输入命令
ip a
记住显示的 IP 地址。 现在可以回到你的 Windows/macOS/Linux 电脑上,关闭 BMC 管理界面的 HTML5 viewer 窗口。 在电脑的终端软件里,输入 (把 username
替换成你的用户名, ipaddress
替换成你刚才记住的 IP 地址) :
ssh username@ipaddress
安装常用软件
下面是一大段命令,复制粘贴到终端里运行就行。这里省略了 GPU 相关的步骤,如果你有 NVIDIA 显卡,可以在完成以下步骤后再安装显卡驱动。
sudo apt update && sudo apt upgrade -y && sudo apt install -y htop git glances nano lsof unzip
sudo apt update
:更新软件源列表,确保能下载到最新的软件包。sudo apt upgrade -y
:升级所有已安装的软件包到最新版本。-y
参数表示自动确认所有操作。sudo apt install -y htop git glances nano lsof unzip
:安装一些常用的 Linux 软件。htop
:更友好的进程管理器,可以实时查看系统资源使用情况。git
:代码版本管理工具,用于下载和管理代码。glances
:更强大的系统监控工具,比htop
功能更丰富。nano
:简单易用的文本编辑器,用于编辑配置文件。lsof
:查看打开文件的工具,可以用来排查端口占用等问题。unzip
:解压缩 ZIP 文件的工具。
设置静态 IP 地址
在命令行终端输入:
sudo netplan generate
这个命令会生成一个默认的网络配置文件。然后用 nano
编辑器打开配置文件:
sudo nano /etc/netplan/50-cloud-init.yaml
默认的配置文件内容大概是这样的。我们要修改 eno1
网卡的配置,eno1
对应主板上的物理网口。忽略 enp65s0np0
,那是个外接网卡。
用键盘方向键移动光标,把配置文件改成类似下面的样子。IP 地址用你当前的 IP 地址就行,方便操作,避免搞复杂了。Digital Spaceport 这里把静态 IP 设置为 192.168.1.200
,路由器网关是 192.168.1.1
,这是很常见的家庭网络配置。
修改完成后,按 Ctrl+X
退出 nano
编辑器,提示是否保存时按 Y
键确认。
回到终端后,输入命令应用新的网络配置:
sudo netplan apply
现在你的服务器就设置好静态 IP 地址了。可以重启服务器,再用 SSH 远程登录,确认静态 IP 设置是否生效。
安装 Ollama
接下来安装 Ollama 大模型运行框架。
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
:下载 Ollama 安装包。curl
是命令行下载工具,-L
参数表示跟随重定向链接,-o
参数指定保存文件名。sudo tar -C /usr -xzf ollama-linux-amd64.tgz
:解压 Ollama 安装包到/usr
目录。tar
是 Linux 系统常用的压缩/解压缩工具,-C /usr
指定解压目录为/usr
,-xzf
参数表示解压 gzip 压缩的 tar 文件。sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
:创建一个名为ollama
的系统用户,用于运行 Ollama 服务。sudo useradd
:创建用户的命令。-r
:创建系统用户,UID 和 GID 会自动分配。-s /bin/false
:禁止用户登录系统。-U
:创建同名的用户组。-m
:自动创建用户 home 目录。-d /usr/share/ollama
:指定用户 home 目录为/usr/share/ollama
。ollama
:用户名。
sudo usermod -a -G ollama $(whoami)
:将当前用户添加到ollama
用户组。sudo usermod
:修改用户信息的命令。-a
:添加到用户组,而不是覆盖。-G ollama
:添加到ollama
用户组。$(whoami)
:获取当前用户名。
这个命令还会创建一个名为 ollama
的用户,并将 Ollama 安装到 /usr/share/ollama
目录。 默认情况下,模型文件会放在 /usr/share/ollama/.ollama/models/
目录。
配置环境变量和服务
现在需要设置一些环境变量,Ollama 启动时会用到这些变量。 这对于解决并行处理问题至关重要。
sudo nano /etc/systemd/system/ollama.service
用 nano
编辑器打开 Ollama 的 systemd 服务配置文件。我们需要在配置文件里添加环境变量。 下面是所有可以配置的环境变量列表,我们不需要全部都用,只是列出来供参考。
环境变量:
-OLLAMA_DEBUG
:显示更多调试信息 (例如OLLAMA_DEBUG=1
)-OLLAMA_HOST
:Ollama 服务器监听的 IP 地址 (默认127.0.0.1:11434
)-OLLAMA_KEEP_ALIVE
:模型在内存中保持加载的时间 (默认"5m"
,5 分钟)-OLLAMA_MAX_LOADED_MODELS
:每个 GPU 允许加载的最大模型数量-OLLAMA_MAX_QUEUE
:请求队列的最大长度-OLLAMA_MODELS
:模型文件存放目录-OLLAMA_NUM_PARALLEL
:最大并行请求数-OLLAMA_NOPRUNE
:启动时不清理模型缓存-OLLAMA_ORIGINS
:允许跨域请求的来源列表,用逗号分隔-OLLAMA_SCHED_SPREAD
:是否将模型均匀分配到所有 GPU 上-OLLAMA_FLASH_ATTENTION
:是否启用 Flash Attention 加速 (Flash Attention 是一种优化 Transformer 模型计算效率的技术)-OLLAMA_KV_CACHE_TYPE
:K/V 缓存的量化类型 (默认f16
) (K/V 缓存是 Transformer 模型用于加速推理的关键组件,量化可以降低显存占用,但可能损失精度)-OLLAMA_LLM_LIBRARY
:指定 LLM 库,绕过自动检测 (LLM 库是指用于运行大模型的底层计算库,例如llama.cpp
,exllama
等)-OLLAMA_GPU_OVERHEAD
:为每个 GPU 预留的显存空间 (字节)-OLLAMA_LOAD_TIMEOUT
:模型加载超时时间 (默认"5m"
,5 分钟)
Digital Spaceport 的配置文件内容如下。 注意:除非你有 GPU 显卡,否则不需要 (也不应该) 填写 GPU 相关的环境变量。
按 Ctrl+X
,然后按 Y
保存配置文件。 然后运行以下命令:
sudo systemctl daemon-reload
sudo systemctl start ollama
nproc
sudo systemctl daemon-reload
:重新加载 systemd 服务配置文件,使修改生效。sudo systemctl start ollama
:启动ollama.service
服务,即 Ollama 大模型框架。nproc
:查看 CPU 核心数。
现在环境变量就配置好了。 nproc
命令应该输出数字 64
,表示 64 个 CPU 核心。 如果输出 128
,说明 SMT 超线程没关,需要去 BIOS 里关掉。 如果输出 32
或 96
,检查一下 BIOS 里的 NPS 和 CCD 设置。 如果输出 64
,就说明 CPU 核心数识别正常,可以继续下一步了 (LFG = Let's Fucking Go)。
下载 Deepseek 671b 模型
现在下载 Deepseek 671b 大模型。这个模型要占用大概 400GB 磁盘空间,希望你的 NVMe 固态硬盘够大。
ollama pull deepseek-r1:671b
ollama pull deepseek-r1:671b
:使用 Ollama 客户端下载deepseek-r1:671b
模型。pull
命令用于下载模型,deepseek-r1:671b
是模型名称和版本。
下载过程会比较慢,耐心等待。 顺便感叹一下这惊人的数据流量费用吧… (下载大模型会消耗大量网络流量,特别是从国外服务器下载,可能会产生高额流量费用)
安装 OpenWEBUI
我们需要用 Docker 或 Python 来运行 OpenWEBUI。 这里 Digital Spaceport 用 Docker 来部署。 先确保系统里没有安装其他 Docker 相关软件,避免冲突。
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
:循环卸载可能已安装的 Docker 相关软件包,避免冲突。for pkg in ... ; do ... ; done
:for 循环语句,遍历软件包列表。docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc
:可能已安装的 Docker 相关软件包列表。sudo apt-get remove $pkg
:卸载软件包。apt-get remove
是 Debian/Ubuntu 系统卸载软件包的命令,$pkg
是循环变量,代表当前遍历到的软件包名。
安装 Docker 官方源:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- 这段命令用于添加 Docker 官方软件源,方便安装最新版本的 Docker。
- 第一部分添加 Docker 官方 GPG 密钥,用于验证软件包的完整性和来源。
- 第二部分添加 Docker 软件源到 APT (Advanced Package Tool) 软件源列表。
- 最后
sudo apt-get update
更新软件源列表,使新添加的 Docker 源生效。
安装 Docker 引擎:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
:安装 Docker 引擎及相关组件。docker-ce
:Docker 社区版引擎。docker-ce-cli
:Docker 命令行客户端。containerd.io
:容器运行时,Docker 底层依赖组件。docker-buildx-plugin
:Docker Buildx 插件,用于构建多架构 Docker 镜像。docker-compose-plugin
:Docker Compose 插件,用于管理多容器 Docker 应用。-y
:自动确认所有操作。
安装 Dockge Docker 容器管理器。
Dockge 的数据目录默认在 /opt/dockge
目录下,Docker 相关数据也在 /opt
目录下,方便管理。
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml
docker compose up -d
sudo mkdir -p /opt/stacks /opt/dockge
:创建目录/opt/stacks
和/opt/dockge
,用于存放 Dockge 相关文件。-p
参数表示如果父目录不存在也一并创建。cd /opt/dockge
:切换当前工作目录到/opt/dockge
。sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml
:下载 Dockge 的compose.yaml
文件。compose.yaml
是 Docker Compose 的配置文件,用于定义 Docker 容器的配置。docker compose up -d
:使用 Docker Compose 启动 Dockge 容器。up
命令表示启动容器,-d
参数表示后台运行。
现在你可以通过浏览器访问 Dockge 管理界面,完成剩下的 Docker 容器管理步骤。 如果不知道服务器的 IP 地址,可以查看服务器的网络设置。 浏览器访问地址是 http://服务器IP:5001
。 例如,Digital Spaceport 的服务器 IP 是 192.168.1.200
,那么访问地址就是 http://192.168.1.200:5001
。 第一次访问需要设置用户名和密码,务必记住。 接下来就可以创建 OpenwebUI 的 Docker 容器了。
把下面的内容粘贴到 Dockge 的 Compose 编辑器里,作为 OpenwebUI 的 Compose 配置:
version: “3.3”
services:
open-webui:
ports:
– 7000:8080
volumes:
– open-webui:/app/backend/data
container_name: open-webui
restart: always
image: ghcr.io/open-webui/open-webui:latest
volumes:
open-webui: {}
networks:
dockge_default:
external: true
- 这段 Compose 配置定义了一个名为
open-webui
的 Docker 容器,用于运行 OpenWEBUI。version: "3.3"
:Docker Compose 文件版本。services
:定义服务列表。open-webui
:服务名称。ports
:端口映射,将容器的 8080 端口映射到宿主机的 7000 端口。volumes
:数据卷挂载,将宿主机的open-webui
卷挂载到容器的/app/backend/data
目录,用于持久化存储 OpenWEBUI 的数据。container_name
:容器名称,设置为open-webui
。restart: always
:容器总是自动重启。image: ghcr.io/open-webui/open-webui:latest
:使用的 Docker 镜像,ghcr.io/open-webui/open-webui:latest
是 OpenWEBUI 的最新 Docker 镜像。
volumes
:定义数据卷。open-webui: {}
:创建一个名为open-webui
的数据卷。
networks
:定义网络。dockge_default
:网络名称。external: true
:使用外部网络dockge_default
,Dockge 默认会创建一个名为dockge_default
的网络。
点击 “保存 (save)” 和 “运行 (run)”。 第一次运行会比较慢,因为需要下载 Docker 镜像。 以后更新 OpenWEBUI 镜像,只需要在 Dockge 界面点击 “更新 (update)” 按钮就行了。 容器启动后,在浏览器里访问 http://服务器IP:7000
就能打开 OpenWEBUI 界面了。 例如,Digital Spaceport 的服务器 IP 是 192.168.1.200
,那么访问地址就是 http://192.168.1.200:7000
。 第一次访问需要设置用户名和密码,再次提醒,务必记住。 咱们 马上 就要完成了! 呼~ (Whew! 表示松了一口气)
将 OpenWEBUI 连接到 Ollama
在 OpenWEBUI 管理界面的 “/admin/settings” -> "连接 (connections)" 页面,点击 “+” 号添加新的服务器连接。 服务器地址填写 服务器IP:11434
。 例如,192.168.1.200:11434
。 (注意替换成你自己的服务器 IP 地址)。 如果连接成功,OpenWEBUI 界面会弹出绿色提示 “connection success”。
连接成功后,点击连接管理图标,就能看到已连接的 Ollama 服务器。 如果 Deepseek 模型已经下载完成,在 “删除模型 (delete)” 下拉菜单里就能看到 deepseek-r1:671b
模型。
恭喜你,快要大功告成了! 但 别急着离开设置页面!
设置高级参数
点击 “编辑 (笔)” 图标。
现在可以编辑高级参数了。 改完别忘了点 “保存 (SAVE)!”
- GPU 数量 (GPU):如果你没装 GPU 显卡,这里要改成
0
。 - 推理努力程度 (Reasoning Effort):可以选
low
(低),medium
(中) 或high
(高),默认是medium
(中)。 - 上下文长度 (Context Length):设置为
16364
,16K 上下文长度没问题。 更大的上下文长度需要更多内存或 GPU 显存。 - 线程数 (num_thread):设置为
62
,留出 2 个 CPU 核心给系统用。 - 启用内存锁定 (use_mlock):可以启用,防止内存数据被换出到磁盘,影响性能。 (内存锁定 (mlock) 可以防止内存页被操作系统换出到磁盘,提高程序运行效率,但会增加内存占用)
其他参数可以根据模型卡片 (model card) 的说明调整。 注意:除非你有 2TB 内存,否则别想用满 160K 上下文长度! 即使能用,速度也会 非常 慢。
重要的事情说三遍:别忘了点 “保存 (SAVE)!”
设置用户设置
点击 “用户设置 (User Settings)” 可以修改用户偏好设置。 建议把 “保持连接时间 (keep alive)” 设置长一点,比如 3 小时。 改完点 “保存 (save)”。
用户设置和之前的管理员设置有点容易混淆,注意区分。
跑个测试
我的天,你居然坚持到这里了! 真是太棒了,Digital Spaceport 佩服你! 点击 OpenWEBUI 界面左上角的 “新建聊天 (new chat)”。 模型列表里应该已经有 deepseek-r1:671b
了。 随便发个 “hello” 试试。 成功啦!
Deepseek R1 671b 性能测试
恭喜你,成功安装并运行了 Ollama + OpenWEBUI 本地大模型服务! Digital Spaceport 相信还有很多其他优秀的本地大模型运行方案,比如 llama.cpp
, exo
和 vLLM
。 等 Digital Spaceport 深入研究后再出教程。 llama.cpp
可能会是下一个,Digital Spaceport 最近编译、测试和运行了 llama.cpp
,效果很不错! 就是参数太多了,需要好好研究。 vLLM
有点复杂,exo
倒是很简单,但启动后老是崩溃,还没时间去调试。 总之,正如他们所说… 敬请期待! (SOON!)