前言

朋友们,你是否曾被DeepSeek官网或APP的一句‘服务器正忙,请稍后再试’气得拍桌而起?没错,这波操作不仅让人头疼,还让不少人心里打起了小算盘:如果能在自己的电脑上部署个大模型,那该多爽啊!但说到几百G的‘满血版’DeepSeek R1 671B,是不是光想想就心累?别急,今天咱们来点不一样的——用一帮老硬件组合,让你在个人电脑上也能跑起来这数百GB的大模型,而且总成本竟然控制在万元以内!效果如何?这配置还能达到2.18 tokens/s的速度,简直物超所值。赶紧来看看这个神操作吧!

QQ20250211-191422

【视频演示】

挑战4张2080Ti22G纯本地部署Deepseek-R1 671B满血版大模型速度可达2.53tokens/s

1. 硬件配置

服务器:技嘉X99

CPU:单路E5-2673v4

显卡:2080Ti 22G*4

内存:512G

机箱:工作站全塔机箱

电源:1200W

image-20250218112655164

2. 软件配置

操作系统:Ubuntu 22.04.5

本地大模型运行工具:Ollama

curl -fsSL https://ollama.com/install.sh | sh

大模型:DeepSeek R1 671B满血量化版 404GB

ollama run deepseek-r1:671b

3. 调优配置

如果按默认安装Ollama会报内存溢出错误,这里配置了几个调优参数,可以使得显卡不再内存溢出,会使用内存当显存,同时因为是4张显卡启动,所以在开机初始化时,加了延迟10秒启动Ollama,这样会让4张显卡启动正常后,再加载Ollama。

ExecStartPre=sleep 10
Environment="OLLAMA_HOST=0.0.0.0"
Environment="GGML_CUDA_ENABLE_UNIFIED_MEMORY=1"

image-20250218113229495

4. 实际运行效果

首先ssh登录到服务器后,查看Ollama当前环境所有大模型列表:

ollama list

image-20250218112753842

可以看到,当前已经下载好的deepseek-r1:671b满血全量模型,大小 404GB

然后运行Deepseek R1 671B:

ollama run deepseek-r1:671b

进入运行画面后,设置输出明细信息:/set verbose

image-20250218112946416

这里加载可能需要一些时间,加载完成后进行提问,即能看到实际运行的速率了:

QQ20250211-191422

5. 安装Dify服务

如果想要在网页中与Deepseek大模型交互,我们可以使用Docker来本地部署Dify服务来实现,首先需要安装Docker:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun

然后本地部署Dify:

克隆 Dify 源代码至本地环境:

git clone https://github.com/langgenius/dify.git

环境配置:

cd dify/docker  #进入 Dify 源代码的 Docker 目录
cp .env.example .env  #复制环境配置文件

启动容器:

sudo docker compose up -d

Dify 接入Ollama:

进入Dify主界面,点击设置—模型供应商—Ollama,添加模型名称,基础URL,支持Vision保存。

7cfcff463b949cc043836214a500cd1.png

image-20250219163910801

回到主页面当中,点击创建空白应用,选择deepseek-r1:671b模型,在文本框中编辑文字即可进行对话。

image-20250219162424420

6.安装内网穿透远程访问

如果想实现其他用户跨网络环境,远程访问本地部署的Deepseek R1 671B,可以通过安装cpolar内网穿透工具实现。

sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入Ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar账号登录后即可看到配置界面:

点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: dify 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:80
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建

e236629c30c2161232c1655493d22ad.png

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个网址在浏览器中访问即可。

成功实现使用公网地址异地远程访问本地部署的Dify在网页中与Deepseek R1 671B聊天了!

bb5906f2d50520ec228aa78b1b8b859.png

为了方便演示,我们在上边的操作过程中使用了cpolar生成的公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用,然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地 Dify开发应用平台或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问,带宽会更快,使用cpolar在其他用途还可以保留多个子域名,支持多个cpolar在线进程。

配置固定Dify公网地址

我们可以为Dify配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip,然后设置一个二级子域名名称,填写备注信息,点击保留。

fe72be4b9c350c2fb34cdfb88e49320.png

然后登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:dify,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

463706456a7806bb596036ec151044a.png

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

82274f0c737fed53d9b60a375935c82.png

最后,我们使用固定的公网地址访问 Dify 界面可以看到访问成功,这样一个永久不会变化的网址就设置好了。

5315f47a37dae1b8a7663b1d1d64ba6.png

接下来就可以随时随地进行cpolar生成的公网地址来远程使用本地部署的Dify与deepseek满血大模型聊天了,你也可以把分享这个固定的公网地址,方便团队协作,同时也大大提高了工作效率!自己用的话,无需云服务器,还可以实现异地其他设备登录!

总结

在这次挑战中,咱们用的都是几年前的老硬件,不仅性价比超高,还能让大伙儿轻松实现本地部署DeepSeek满血大模型,并通过cpolar内网穿透工具让你的服务成功上公网,朋友们和同事也能远程访问你的大作啦!省去了重复部署的成本,再也不用担心DeepSeek服务器爆满的问题。目前我正在研究新的方案,目标是进一步提升每秒tokens的速度,同时降低硬件成本,敬请期待哦~如果你觉得这篇文章对你有帮助,别忘了点赞、留言、分享,给个支持;如果在配置过程中遇到任何问题,欢迎在评论区留言,咱们一起交流学习,共同进步!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐