手把手教你本地部署DeepSeek-R1模型

随着最近一个新的人工智能deepseek的爆火,很多大佬都开始了在本地进行deepseek的部署操作,并且离线也可以使用,这里的话我就一步一步带你们部署本地的deepseek,说实话这个人工智能的实力不亚于open ai 的ChatGPT。

安装ollama

  • 我们需要先安装ollama,安装地址 ollama,我们直接点击下载,我们在下载的时候尽量使用我们的谷歌浏览器,有魔法的最好带上魔法,不然安装的时候可能会出问题。

image.png

  • 选择对应的版本进行下载,这里我的实例是Windows

image.png

  • 这里我们就显示下载好了,软件还怪大的,745MB

image.png

  • 我们找到我们下载那好的exe文件双击进行安装

image.png

  • 直接点击这里的install进行软件的安装,等待几分钟即可

image.png

  • 如何判断我们的ollama如何安装完毕呢?我们直接win+R输入cmd调出命令行进入到命令模式,输入命令 ollama -v 查看是否安装成功,输入完命令出现了版本号的话就说明你安装成功了

image.png

部署DeepSeek R1模型

接下来我们进行部署DeepSeek R1模型的操作

  • 我们依旧打开 Ollama 的官网,然后我们可以看见我们左上角有一个Models的选项,我们点击下

image.png

  • 然后第一个就是deepseek R1的模型,我们再次进行点击操作

image.png

  • 这里的话有很多模型,我们可以根据自己电脑的显卡配置进行选择相应的版本

image.png

  • 下面是我总结的一个模型参数大小对应的显卡配置,为了更加方便的给大家进行演示操作,这里的话我选择这个7B模型
模型 参数 (B) VRAM 要求 (GB) 推荐 GPU
DeepSeek - R1 - Zero 671B ~1,342 GB 多 GPU 配置(例如,NVIDIA A100 80GB x16)
DeepSeek - R1 671B ~1,342 GB 多 GPU 配置(例如,NVIDIA A100 80GB x16)
DeepSeek - R1 - Distill - Qwen 1.5B 1.5B ~0.75 GB NVIDIA RTX 3060 12GB 或更高
DeepSeek - R1 - Distill - Qwen 7B 7B ~3.5 GB NVIDIA RTX 3060 12GB 或更高
DeepSeek - R1 - Distill - Llama 8B 8B ~4 GB NVIDIA RTX 3060 12GB 或更高
DeepSeek - R1 - Distill - Qwen 14B 14B ~7 GB NVIDIA RTX 3060 12GB 或更高
DeepSeek - R1 - Distill - Qwen 32B 32B ~16 GB NVIDIA RTX 4090 24GB
DeepSeek - R1 - Distill - Llama 70B 70B ~35 GB 多 GPU 配置(例如,NVIDIA RTX 4090 x2)

表格中的前两个模块是完整版(671B),后面的几个是蒸馏版模块,两个区别如下:

特性 蒸馏版 完整版
参数量 参数量较少(如 1.5B、7B),性能接近完整版但略有下降。 参数量较大(如 32B、70B),性能最强。
硬件需求 显存和内存需求较低,适合低配硬件。 显存和内存需求较高,需高端硬件支持。
适用场景 适合轻量级任务和资源有限的设备。 适合高精度任务和专业场景。

这里我们详细看下DeepSeek蒸馏版模型的特点

模型版本 参数量 特点
deepseek-r1:1.5b 1.5B 轻量级模型,适合低配硬件,性能有限但运行速度快
deepseek-r1:7b 7B 平衡型模型,适合大多数任务,性能较好且硬件需求适中。
deepseek-r1:8b 8B 略高于 7B 模型,性能稍强,适合需要更高精度的场景。
deepseek-r1:14b 14B 高性能模型,适合复杂任务(如数学推理、代码生成),硬件需求较高。
deepseek-r1:32b 32B 专业级模型,性能强大,适合研究和高精度任务,需高端硬件支持。
deepseek-r1:70b 70B 顶级模型,性能最强,适合大规模计算和高复杂度任务,需专业级硬件支持。

进一步的模型细分还分为量化版

模型版本 参数量 特点
deepseek-r1:1.5b-qwen-distill-q4_K_M 1.5B 轻量级模型,适合低配硬件,性能有限但运行速度快
deepseek-r1:7b-qwen-distill-q4_K_M 7B 平衡型模型,适合大多数任务,性能较好且硬件需求适中。
deepseek-r1:8b-llama-distill-q4_K_M 8B 略高于 7B 模型,性能稍强,适合需要更高精度的场景。
deepseek-r1:14b-qwen-distill-q4_K_M 14B 高性能模型,适合复杂任务(如数学推理、代码生成),硬件需求较高。
deepseek-r1:32b-qwen-distill-q4_K_M 32B 专业级模型,性能强大,适合研究和高精度任务,需高端硬件支持。
deepseek-r1:70b-llama-distill-q4_K_M 70B 顶级模型,性能最强,适合大规模计算和高复杂度任务,需专业级硬件支持。

蒸馏版与量化版:

模型类型 特点
蒸馏版 基于大模型(如 QWEN 或 LLAMA)微调,参数量减少但性能接近原版,适合低配硬件。
量化版 通过降低模型精度(如 4-bit 量化)减少显存占用,适合资源有限的设备。

例如:

  • deepseek-r1:7b-qwen-distill-q4_K_M:7B 模型的蒸馏+量化版本,显存需求从 5GB 降至 3GB。

  • deepseek-r1:32b-qwen-distill-q4_K_M:32B 模型的蒸馏+量化版本,显存需求从 22GB 降至 16GB

  • 我们直接选择7B这个模型,然后右边有一个对应的命令,我们直接复制

image.png

  • 回到我们的命令模式,我们直接win+R输入cmd调出命令行进入到命令模式,然后粘贴我们刚刚复制的命令

  • 等待片刻进行下载就行了,这里的话我等了一上午才下好的,有点小慢说实话,这个下载的话好像默认是在c盘里面下载的,如果你想在D盘下载的话你去D盘创建一个仓库,如果当你看到这里的话已经下好了的话,那么你可以等这个下载完成之后输入命令进行卸载操作,然后再去D盘仓库打开命令模式再进行安装就会直接在你的D盘进行下载了,这个卸载的命令的话后面会说的哈

image.png

  • 如果你的下载速度很慢的话,你可以CTRL+C先退出这个命令,然后再输入命令重新进行下载,还是会从上次的下载进度继续下载的,我这里重新下载了,可以发现速度快了些了

image.png

  • 我这里也是重复下载了很多遍了,因为这个网速时快时慢,很难受

image.png

  • 这里的话我们就下载好了,出现了一个success,那么我们就可以直接进行对话了,如果想退出对话的话,我们可以输入 /bye 来退出对话

image.png

  • 这里我们让他帮我们写一个冒泡排序,可以发现很智能嘞,我们可以输入命令

image.png

  • 但是我们现在想重新进入到对话的话,我们可以输入命令 ollama list 重新查看我们已经下载好了的模型,那么我们可以发现这里的R1 7B是我们刚刚下载好的模型

image.png

  • 我们将这个模型的名字复制下来,然后回到命令行输入 ollama run deepseek-r1:latest 我们就能重新进入到对话了,这里我们简单进行对话下,可以发现效果还是挺ok的

image.png

  • 那么到这里的话我们ollama安装deepseek的模型就搞定啦,但是呢?我们每次都需要调用命令行就很不方便,那么我们能不能搞一个聊天的界面,和QQ微信一样呢?这里我的回答是可以的,这个就是在可视化的界面使用本地的模型

  • 这里我们教你们如何卸载我们本地的模型

  • 我们这里的话输入了 olloma list 可以看到我们下载的模型,然后将我们的R1模型名称进行复制,然后输入命令 ollama rm deepseek-r1:latest 然后就可以将我们本地的删除了

在这里插入图片描述

安装chatbox

  • 我们打开 chat 的官网进行下载操作,我们直接点击免费下载就行了,当然了你如果不想下载的话可以私信我哦,我直接发你这样更快

image.png

  • 我们双击安装包,点击下一步

image.png

  • 选择好我们对应的文件夹进行安装操作,安装目录的话我们可以自行进行设置,尽量放在D盘,不要放在C盘

image.png

  • 这里我们安装好了之后我们运行这个软件,我们选择这个使用自己的 API Key或本地模型

image.png

  • 选择这个chatbox AI

image.png

  • 我们在模型设置这里选择Ollama API,然后这个域名的话我们是可以不用改的

image.png

  • 然后这个模型这里就会显示我们上面下载好了的deepseek的模型,然后保存就行了

image.png

  • 然后我们就可以在这个可视化的界面进行聊天了,可以发现反应的速度很快,回答的话也很智能,那么到这里的话我们本地部署的R1就可以使用了

image.png

好的!以下是使用冒泡排序算法对一个整数数组进行排序的Python实现:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n-1):
        # 如果已经有序,提前退出
        already_sorted = True
        for j in range(n - 1 - i):
            if arr[j] > arr[j+1]:
                # 交换元素位置
                arr[j], arr[j+1] = arr[j+1], arr[j]
                already_sorted = False
        if already_sorted:
            break

# 示例数组
arr = [5, 4, 3, 2, 1]

bubble_sort(arr)

print("排序后:", arr)

代码解释:

  1. 函数定义bubble_sort(arr) 接受一个整数数组 arr 作为输入。
  2. 外层循环for i in range(n-1),其中 n 是数组的长度。这个循环控制整个数组的大致范围。
  3. 提前退出优化already_sorted = True,如果在某一趟排序中没有发生交换,则说明数组已经有序,提前退出。
  4. 内层循环for j in range(n - 1 - i),用于比较相邻的元素,并进行交换。
  5. 交换条件if arr[j] > arr[j+1],如果当前元素大于下一个元素,则交换它们的位置。
  6. 示例数组arr = [5, 4, 3, 2, 1],用于测试排序算法。
  7. 调用函数并打印结果:对数组 arr 调用 bubble_sort() 函数,并打印排序后的结果。

运行这段代码后,输出将是:

排序后: [1, 2, 3, 4, 5]

冒泡排序的时间复杂度为 O(n²),适用于小规模数据的排序。

这里其实是可以自定义模型的,但是这里我就不过多进行叙述了,因为我们上面这个就够用了。 这个自定义的话就是你让这个deepseek带入一个角色,你让他是一个医生,然后他就会以医生的视角回答你所询问的问题

那么在平常的代码问题,我们对可以询问我们本地部署的这个deepseek,十分方便呢

感觉这个deepseek的话对图片的分析还是差点意思

image.png