当前位置: 首页 > news >正文

本地部署DeepSeek-R1保姆级教程

近期,我国一款开源模型 DeepSeek-R1以低成本和高性能震撼了全球科技界。该模型的开源性使开发者能够在本地环境中部署和运行,提供了更高的灵活性和控制力。如果你也想在本地部署 DeepSeek-R1,可以参考以下完整的教程,涵盖Mac 版本的安装、优化以及 API 调用。

1. 引言

1.1 什么是 DeepSeek-R1?

DeepSeek-R1 是由中国初创公司 DeepSeek 开发的开源人工智能模型,专注于增强推理能力。 其独特之处在于主要通过强化学习进行训练,无需大量的监督微调数据。 在数学、代码生成和自然语言推理等任务中,DeepSeek-R1 展现了卓越的性能。

与其他同类模型相比,DeepSeek-R1 具有以下优势:

  • 高效的训练方法:采用纯强化学习策略,显著提升了模型的推理能力。

  • 开源与可定制性:遵循 MIT 许可证开源,允许用户自由使用、修改和商用,并支持通过蒸馏技术训练其他模型,提供了高度的灵活性。

  • 中文能力:与其他模型相比,DeepSeek-R1 在中文处理能力方面表现出色,尤其在古文和历史研究领域,其处理和推理能力尤为突出。 在中文任务的基准测试(如 C-Eval)中,DeepSeek-R1 的表现也显著优于其他开源模型。

1.2 为什么选择 Ollama 进行本地部署?

  • 一键安装,无需复杂环境配置(相比 transformers + llama.cpp)。

  • 高效量化,支持 FP16、GGUF 格式,减少显存占用。

1.3 适用人群

  • 需要本地运行大模型的开发者。

  • AI 研究人员或爱好者,想要低成本测试 LLM。

  • 需要离线 AI 处理任务的用户。

2. 环境要求

2.1 硬件要求

根据运行模型的参数量大小,对于硬件配置有不同的要求,请根据个人主机配置选取对应的模型。以下表格指的是推荐配置,实际的运行稳定性会根据主机后台运行的其他进程和资源占用情况波动;比如博主使用11C36GB的Mac部署了32B参数的DeepSeek仍然能够正常使用。

注:Apple Silicon芯片因GPUCPU共享内存,因此不需要额外的显存

模型版本

参数量

CPU

内存

DeepSeek-R1-1.5B

15亿

2C

8GB

DeepSeek-R1-7B

70亿

4C

16GB

DeepSeek-R1-8B

80亿

4C

16GB

DeepSeek-R1-14B

140亿

4C

32GB

DeepSeek-R1-32B

320亿

6C

64GB

DeepSeek-R1-70B

700亿

8C

128GB

2.2 软件要求

  • macOS 13+(Apple Silicon 原生支持)

3. 安装并启动 Ollama

3.1 安装

  1. 打开终端工具,使用 Homebrew 安装,输入命令如下:

brew install ollama

3.3 启动Ollama

  • 点击应用图标启动,启动完成后可以在主机菜单栏中看到一只羊驼的logo:

  • 使用命令启动,命令如下:

ollama serve
启动后能够看到ollama的启动日志:

:上述两种启动方式建议只使用一种,因为ollama进程会占用主机的11434端口,如果通过点击应用图标启动后再使用命令启动的话,命令启动的进程就会因为端口号已经被占用而导致启动失败,报错信息如下图所示:

4. 运行 DeepSeek-R1

4.1 运行 DeepSeek-R1

DeepSeek-R1的模型在ollama中的名称就是deepseek-r1,可以使用deepseek-r1:{参数量}的格式选取指定参数量的模型,比如博主运行的是32B参数量的模型,命令就是:

ollama run deepseek-r1:32b

其他参数量的模型运行示例如下:

ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b

如果是第一次运行该模型,则ollama会先下载所需的文件,下载完成后会自动运行,一切正常的话终端将进入交互模式,启动过程如下图所示:

4.2 本地体验 DeepSeek-R1模型

运行成功后即可体验模型,可以通过终端工具与模型进行对话,运行结果如下图所示:

在模型给出的回答中,<think>和</think>符号中的文本是模型的思考过程,可以让用户看到模型在回答问题时考虑到的各个方面,以便让用户对后面的提问进行查漏补缺。

5. 通过 API 调用

5.1 使用 cURL 调用

curl -X POST http://localhost:11434/api/generate -d '{"model": "deepseek-r1:32b","prompt": "你是谁","stream": false
}'

上述命令中,model参数指的是使用ollama所运行的模型,博主使用的是32b模型,所以参数是deepseek-r1:32b,prompt参数的值就是你所想问的问题,大家注意根据自己的需要进行提问,调用返回的结果中会有一些其他参数,如时间、上下文、token信息等,在使用ollama客户端体验模型时,ollama客户端自动处理了这些参数,在使用curl调用的时候这些参数就会都展示出来,调用结果如下图所示:

5.2 使用 Python 调用 DeepSeek-R1

import requests
import jsonOLLAMA_API_URL = "http://localhost:11434/api/generate"payload = {"model": "deepseek-r1:32b","prompt": "你是谁","stream": False
}response = requests.post(OLLAMA_API_URL, data=json.dumps(payload))if response.status_code == 200:result = response.json()print("模型输出:", result.get("response", "未获取到结果"))
else:print("请求失败,状态码:", response.status_code, "错误信息:", response.text)

运行结果如下图所示:

5.3 Web交互

如果你想用更友好的界面,可以安装 text-generation-webui,具体命令如下:

git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
pip install -r requirements.txt
python server.py --model deepseek-r1:32b

然后打开浏览器访问 http://localhost:7860 进行交互。

6. 结语

通过 Ollama 部署 DeepSeek-R1,可以快速在本地运行强大的大模型,适用于 AI 研究、代码生成、知识问答等任务。本教程提供的从 安装、运行、优化到 API 调用 的完整流程,希望对你有所帮助!🚀

http://www.lryc.cn/news/530836.html

相关文章:

  • blender 相机参数
  • 在GPIO控制器中,配置通用输入,读取IO口电平时,上拉和下拉起到什么作用
  • Maven工程核心概念GAVP详解:从命名规范到项目协作的基石
  • 如何利用DeepSeek打造医疗领域专属AI助手?从微调到部署全流程解析
  • Redis|前言
  • 眼见着折叠手机面临崩溃,三星计划增强抗摔能力挽救它
  • Leetcode面试高频题分类刷题总结
  • Vue.js `v-memo` 性能优化技巧
  • Altium Designer绘制原理图时画斜线的方法
  • 在K8S中,有哪几种控制器类型?
  • 什么是Rust?它有什么特点?为什么要学习Rust?
  • Golang 并发机制-3:通道(channels)机制详解
  • kamailio的kamctl的使用
  • HarmonyOS:ArkWeb进程
  • UI线程用到COM只能选单线程模型
  • LLMs之DeepSeek:Math-To-Manim的简介(包括DeepSeek R1-Zero的详解)、安装和使用方法、案例应用之详细攻略
  • 在C语言中使用条件变量实现线程同步
  • 图书管理系统 Axios 源码__新增图书
  • Maven全解析:从基础到精通的实战指南
  • 数据密码解锁之DeepSeek 和其他 AI 大模型对比的神秘面纱
  • python算法和数据结构刷题[5]:动态规划
  • Ollama+OpenWebUI部署本地大模型
  • Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍
  • 【网络】传输层协议TCP(重点)
  • 海思ISP开发说明
  • 实验十 Servlet(一)
  • doris:聚合模型的导入更新
  • Java NIO_非阻塞I/O的实现与优化
  • 代码随想录算法训练营Day51 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
  • Games202Lecture 6 Real-time Environment Mapping