Ubuntu Linux部署DeepSeek(转载用于学习)

news/2025/2/12 15:11:25/文章来源:https://www.cnblogs.com/binbin2002/p/18711605
合集 - DeepSeek(4)

技术背景

DeepSeek是这段时间最热门的话题之一,其蒸馏模型可以实现低成本而高质量的推理,使得我们现在可以在本地小型化的硬件上也用上大模型这一AI利器。本文主要介绍通过Ollama来部署DeepSeek R1模型的方法,由于网络环境的问题,过程相比于普通的安装方案可能略有改动。

安装Ollama

以下是DeepSeek生成的关于Ollama的介绍的一个片段:

Ollama 是一个开源工具,专门用于在本地运行、管理和部署大型语言模型(LLMs,Large Language Models)。它简化了 LLMs 的安装、配置和运行流程,支持多种流行的开源模型(如 LLaMA、Mistral、DeepSeek 等),适合开发者和研究人员在本地环境中快速实验和开发。

Ollama的官网地址为:https://ollama.com,可以先尝试一下直接从官网下载适合自己本地环境的版本,Linux、Windows和MacOS都有相应的支持。如果按照官网的Linux下载方式有类似于这样的报错信息:

curl: (22) The requested URL returned error: 403

则可以按照本章节的方案试一试,如果没有出现报错,那就直接跳到下一个章节即可。这里我们将Ollama的下载和执行脚本分开进行,首先用curl下载一个安装脚本:

$ curl -fsSL https://ollama.com/install.sh -o ollama_install.sh

然后为该脚本加上一个可执行的权限:

$ chmod +x ollama_install.sh

使用如下指令,把默认的Ollama下载地址指向Github下载地址:

$ sed -i 's|https://ollama.com/download/|https://github.com/ollama/ollama/releases/download/v0.5.7/|' ollama_install.sh

这里版本号是写这篇文章时最新的版本号,读者可以自行搜索最新版本的地址进行修改,然后执行该脚本文件:

$ sh ollama_install.sh
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
##############################################                                     57.7%

这就开始下载了,速度也蛮快。对于Github访问有困难的选手来说,你可能需要这个:https://github.moeyy.xyz/。如果安装过程没有任何的报错,那界面输出大概是这样的:

$ sh ollama_install.sh
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
################################################################################# 100.0%
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA GPU installed.

可以验证一下安装结果:

$ ollama --help
Large language model runner

Usage:
ollama [flags]
ollama [command]

Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command

Flags:
-h, --help help for ollama
-v, --version Show version information

Use "ollama [command] --help" for more information about a command.

这就说明Ollama安装成功了。

下载DeepSeek模型

Ollama拉取和使用模型的操作跟Docker很像,所以如果有过使用容器的经验的话,用起来会非常顺手。首先我们访问以下Ollama官方的模型库中的DeepSeek-R1:https://ollama.com/library/deepseek-r1,选择一个适合自己本地硬件条件的版本,然后使用如下指令进行拉取:

$ ollama pull deepseek-r1:14b

然后就是漫长的等待,最终成功的示例大概是这样子:

$ ollama pull deepseek-r1:14b
pulling manifest
pulling 6e9f90f02bb3... 100% ▕██████████████████████████▏ 9.0 GB
pulling 369ca498f347... 100% ▕██████████████████████████▏  387 B
pulling 6e4c38e1172f... 100% ▕██████████████████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕██████████████████████████▏  148 B
pulling 3c24b0c80794... 100% ▕██████████████████████████▏  488 B
verifying sha256 digest
writing manifest
success

好在ollama支持断点续传,所以即时中途中断了,也是可以重新pull的。pull完成之后,就可以直接run开始启动对话了:

$ ollama run deepseek-r1:14b
>>> who are you?
<think>

</think>

Greetings! I'm DeepSeek-R1, an artificial intelligence assistant created by
DeepSeek. I'
m at your service and would be delighted to assist you with any
inquiries or tasks you may have.

>>> 今天是几月几号?
<think>
今天是几月几号?

</think>

您好,建议您联网获取时效性较强的信息;如果还有其他问题需要帮助,请随时告诉我!

>>> 你支持联网获取信息吗?
<think>
嗯,用户问我是否支持联网获取信息。让我仔细想想。

首先,回顾一下对话历史,用户之前问了我是谁,我介绍了自己是DeepSeek-R1。接着他问今天
是几月几号,我解释说无法提供时效性信息,并建议他联网。现在他进一步确认我是否支持联网

这可能意味着他对我的功能有更深的了解需求。也许他想测试我的能力或者想知道我能做什么。
需要明确告诉他我不具备联网的能力,但可以处理其他问题。

同时,我要确保语气友好,让他知道尽管不能联网,但我会尽力帮助他解决其他问题。这样他可
能会继续提出其他请求。
</think>

目前我无法联网获取实时信息或最新的互联网内容。如果您有任何问题或需要帮助,请告诉我,
我会尽力为您解答!

>>> 你能读取本地文件信息吗?
<think>
今天用户问我是否能读取本地文件信息。

回顾之前的对话,用户之前询问了日期和联网功能,现在继续测试我的功能边界。可能他想了解
我能做什么,以便判断如何与我交互。

明确告诉他无法访问本地文件,这样他就能知道数据来源仅限于已知的信息库。同时,保持友好
态度,邀请他提出其他问题。

这样有助于用户明确我的能力,避免后续的混淆或失望。
</think>

很抱歉,目前我还不支持读取本地文件信息或上传文件的功能。如果您有任何其他问题,请随时
告诉我!

中英文都可以输入。

安装Chatbox

Chatbox是一个对话工具,可以导入各种大模型平台的API,或者本地部署模型的API也都是可以的,其主页地址为:https://www.chatboxai.app/zh,可以在这里下载对应于自己本地操作系统的桌面应用。如果是Windows系统,下载之后是一个安装工具,按照提示进行安装即可。如果是Linux平台,下载下来是一个APPImage的文件,其实就是一个可执行文件,免安装的,但是下载之后需要手动配置一个可执行的选项:

安装好Chatbox之后,打开就可以配置本地ollama API下的deepseek模型了:

然后就可以启动对话:

还可以解析一些静态网页,例如我的上一篇博客,把这个链接丢进去,是可以被解析的。但是如果是一个有递归目录的,或者是有JS的网页,可能就解析不了。

至于其他格式的文件,还有待考察。

远程部署

假如我们在远程的电脑上部署了一个ollama+deepseek,想在本地电脑用chatbox调用远程ollama的API,这个也是支持的,但是要在远程电脑上进行相应的配置。先暂停ollama服务:

$ sudo systemctl stop ollama

修改配置文件:

$ sudo vi /etc/systemd/system/ollama.service

在配置文件的[Service]下加上这么两句:

Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"

如果不知道上面这一串怎么执行,可以直接使用以下脚本:

$ sudo sed -i '/\[Service\]/a Environment="OLLAMA_HOST=0.0.0.0"\nEnvironment="OLLAMA_ORIGINS=*"' /etc/systemd/system/ollama.service

如果是担心文件被覆盖,可以先把-i选项去掉:

$ sudo sed '/\[Service\]/a Environment="OLLAMA_HOST=0.0.0.0"\nEnvironment="OLLAMA_ORIGINS=*"' /etc/systemd/system/ollama.service

该操作会把修改后的配置文件打印输出在屏幕上,确认无误之后可以把-i配置加上,把修改同步到文件中,然后重新加载ollama服务:

$ systemctl daemon-reload
$ systemctl restart ollama

然后就可以在本地配置一个远程的ip地址和相应端口进行访问了。

资源占用

DeepSeek的一大优势就是对于资源的消耗没有那么高,就算是这个14b的模型,在两张显卡上面运行也没有什么压力,每张卡大概会占用6G不到的显存:

Thu Feb  6 09:25:54 2025       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  xxxxxxxxxxxxxxx                Off | 00000000:03:00.0  On |                  N/A |
| 30%   56C    P0              99W / 125W |   6800MiB /  8192MiB |     38%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  xxxxxxxxxxxxxxx                Off | 00000000:A6:00.0 Off |                  N/A |
| 30%   49C    P0              63W / 125W |   5716MiB /  8192MiB |     38%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

如果不配置显卡,用CPU似乎也是可以进行推理的,但是这里就不进行测试了。

总结概要

本文介绍了通过Ollama在Ubuntu Linux平台上部署DeepSeek本地大模型的方法,并且可以使用ChatBox调用本地Ollama API进行本地对话或者是远程对话。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/deepseek.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

参考链接

  1. https://chatboxai.app/zh/help-center/connect-chatbox-remote-ollama-service-guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882580.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek 本地搭建 知识库 使用gpu cpu

下载安装LM Studio官网地址: https://lmstudio.ai/如图,下载完成直接下一步下一步安装即可. 不能飞行上网就用这个网站下载模型 https://hf-mirror.com/Rust编程语言群 1036955113 java新手自学群 626070845 java/springboot/hadoop/JVM 群 4915800 Hadoop/mongodb(搭建/开发…

车辆电子档案系统

在高阶自动驾驶场景和MaaS(Mobility as a Service)业务中,自动驾驶车辆的状态直接关系到整体运营的安全和效率。因此,拥有一套多维度预测、分析车辆指标的电子档案系统显得尤为重要。经纬恒润研发的车辆电子档案是汇总整车各类数据详细信息、对车辆上各项指标进行分析预测及…

九. 计算机网络

计算机网络 一. 硬件设备层级 设备物理层设备 中继器、集线器(是一种多端口的中继器)数据链路层设备 网桥、交换机(是一种多端口的网桥)网络层设备 路由器应用层设备 网关集线器不能自动寻址、集线器可以检测发送冲突。物理层不能隔离广播域和冲突域(也就是所有的端口都是…

2025年,如何选择IT监控平台

在数字化时代,IT系统已经成为企业运营的核心支撑。为了确保IT系统的稳定运行和高效管理,选择一款合适的IT监控平台至关重要。 一、IT监控平台的主要类型 IT监控平台根据其功能和应用场景的不同,可以大致分为以下几类:综合型IT监控平台:这类平台提供了全面的IT监控解决方案…

土木与地质工程监测 振弦式测缝计 桥梁、隧道、边坡位移实时监控,定制化组网与无线传输支持

土木与地质工程监测 振弦式测缝计 桥梁、隧道、边坡位移实时监控,定制化组网与无线传输支持基于霍尔效应原理研发的高精度绝对角度传感器,采用创新性数字信号处理技术实现角度测量。核心系统集成高精度16位模数转换器,配合五阶数字滤波算法,有效保障测量数据稳定性。通过温…

vue3 + vite + element-plus + springboot打包上线所遇之坑

自我本经介绍:我自己是做Java开发的,对于前端其实并不熟悉,以下的前端技术都是为了做这个项目现学现卖的。 自己使用vue3 + vite + element-plus从头到尾打了个管理后台,在开发环境运行一切正常,于是准备打包发布到服务器上,就有了几天痛苦的解决问题的过程打包npm run b…

省选前想题记录

想题记录 wtcqwq 2.3~2.6 Todo List 除了省选计划题单、模拟赛补题和刷 AGC 以外。LGV 引理和线性代数; USACO Jan 的 G 和 P 组想一想学一学做一做。随记 2.4。只有刺痛自己的时候才能认知自我啊... 2.4。好冷。机房里已经空无一人了。真希望确实是 “高处不胜寒” 啊。 2.5。…

在KEIL中使用JLINK仿真HC32F448时不能识别芯片

1.HC32F448在MDK中使用JLINK仿真找到不芯片2.确定后手动选择芯片 如下图,选择Cortex-M4就可以了。

基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。

这是一座专属你的知识宝库,它依托 DeepSeek R1 满血版大模型构建而成。在这里,每一次回答都源自对你专属文件的深度学习,精准匹配你的知识需求,为你输出最贴合文件内容的答案 。 使用 Cherry Studio 结合硅基流动(SiliconCloud)来创建基于 DeepSeek R1 的个人知识库,按照…

十分钟满血deepseek R1 api部署

目前deepseek app访问速度较慢,经常出现访问超时的问题。而使用api部署的方式即可使用满血专属deepseek R1模型,pc端/手机端均可使用 简要流程:注册硅基流动账号,生成账号密钥下载chat bot,配置chat bot进行对话注册硅基流动账号 硅基流动网址如下: https://cloud.silico…

2024问题总结

20241225 XlVirtualList解决数据量大,滚动后,再点下拉会出现空白 setTimeout(() => {document.querySelector(.vxe-table--body).style.marginTop = 0})20241224双向数据绑定问题加key 是否已有这个元素 $set 慢半拍加$nextTick:key="isPlan?scope.row.dblamount:null…

WPF 中设置Trigger改变button背景色不起效的问题

通过触发器,改变button背景色的方法是在Templete中. 正确的方法是先创建Style,再在Style中修改Templete,在ControlTemplete中定义触发器: 精雕细琢,精益求精。