用 Python 实现 DeepSeek R1 本地化部署

news/2025/2/15 17:33:16/

        DeepSeek R1 以其出色的表现脱颖而出,不少朋友想将其本地化部署,网上基于 ollama 的部署方式有很多,但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署,让你轻松掌握,打造属于自己的 AI 小助手。

硬件环境

        要想让 DeepSeek R1 顺畅运行,硬件得跟上。你的电脑至少得配备 8GB 内存 ,要是想运行更大的模型,比如 7B 及以上的,那最好有更强劲的 CPU 和 GPU,内存也得相应增加。

Python 环境

        安装 Python 3.8 及以上版本,这是后续部署的关键工具,Python 丰富的库和灵活的编程特性,能帮我们更好地实现部署。

安装依赖包

        打开命令行工具,使用 pip 安装 DeepSeek R1 运行所需要的依赖包。比如,如果模型依赖一些自然语言处理相关的库,像 NLTK、transformers 等,都可以通过 pip 一键安装 :

pip install nltk transformers

Python 代码配置与运行

        编写 Python 脚本,导入必要的库,比如 transformers 库,用于加载和处理 DeepSeek R1 模型 :(这里以1.5B模型为例)

python">from transformers import AutoTokenizer, AutoModelForCausalLM
import osmodel_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
model_path = "./model/deepseek_1.5b"if not os.path.exists(model_path):tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained(model_name)print("Model loaded successfully.")model.save_pretrained(model_path)tokenizer.save_pretrained(model_path)
else:tokenizer = AutoTokenizer.from_pretrained(model_path)model = AutoModelForCausalLM.from_pretrained(model_path)

        实现与模型的交互逻辑,将输入传递给模型进行处理,并输出模型的回复 :

python"># 使用模型生成文本
input_text = "你好,世界!"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output = model.generate(input_ids, max_length=100)
print(tokenizer.decode(output[0], skip_special_tokens=True))

        等待模型加载完成,并完成推理结果如下:

        完整代码:

python">from transformers import AutoTokenizer, AutoModelForCausalLM
import osmodel_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
model_path = "./model/deepseek_1.5b"if not os.path.exists(model_path):tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained(model_name)print("Model loaded successfully.")model.save_pretrained(model_path)tokenizer.save_pretrained(model_path)
else:tokenizer = AutoTokenizer.from_pretrained(model_path)model = AutoModelForCausalLM.from_pretrained(model_path)# 使用模型生成文本
input_text = "你好,世界!"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output = model.generate(input_ids, max_length=100)
print(tokenizer.decode(output[0], skip_special_tokens=True))

        通过以上用 Python 实现 DeepSeek R1 本地化部署的步骤,你就可以在自己的设备上轻松运行 DeepSeek R1,享受本地化 AI 带来的便捷与高效,无论是用于日常的文本处理,还是更专业的自然语言处理任务,都能轻松应对。赶紧动手试试吧!

       特别提醒:如果执行代码时,报如下错误,表示您无法访问网站https://huggingface.co来下载相关资源,请通过合理方式保障主机能够访问网站https://huggingface.co


http://www.ppmy.cn/news/1572302.html

相关文章

HBuilderX版本升级带来的404问题

今天有时间,看到弹出升级的提示,顺手就把HbuilderX升级成4.45版了。本来以为升级以后会更好用, 没想到一运行就给我来了个下马威。每次预览运行网页的时候都会显示404错误,Page Not Found。 这是什么原因呢?我猜测是路…

TCP 和 UDP 可以绑定相同的端口吗?

前言 当一个网络接口接收到一个数据报时,IP 模块首先检查目的地址是否为自己的 IP 地址,如果是的话,数据报交付给由 IPv4 头部的协议字段指定的协议模块。 TCP 和 UDP 在内核中是两个完全独立的模块,送给 TCP/UDP 模块的报文根据…

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

前言 Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。 创建一个Shader Graph文件命名为Hexagon,并创建对应的材质球M_Hexagon,在Shader Graph中创建一…

基于HTML5 Canvas 和 JavaScript 实现的烟花动画效果

以下是一个使用 HTML5 Canvas 和 JavaScript 实现的烟花动画效果代码盒子: <!DOCTYPE html> <html> <head><title>烟花效果

LabVIEW太阳能制冷监控系统

在全球能源需求日益增长的背景下&#xff0c;太阳能作为一种无限再生能源&#xff0c;被广泛应用于各种能源系统中。本基于LabVIEW软件和STM32F105控制器的太阳能制冷监控系统的设计与实现&#xff0c;提供一个高效、经济的太阳能利用方案&#xff0c;以应对能源消耗的挑战。 项…

串口服务器介绍

1. 背景 串口服务器提供串口转网络功能&#xff0c;能够将RS-232/485/422串口转换成TCP/IP网络接口&#xff0c;实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能&#xff0c;连接网络进行数据通信&#xff0c;极大的扩…

微软AutoGen高级功能——Magentic-One

介绍 大家好&#xff0c;博主又来给大家分享知识了&#xff0c;这次给大家分享的内容是微软AutoGen框架的高级功能Magentic-One。那么它是用来做什么的或它又是什么功能呢&#xff0c;我们直接进入正题。 Magentic-One Magnetic-One是一个通用型多智能体系统&#xff0c;用于…

Oracle查看执行计划

方式一&#xff08;查看的真实的使用到的索引&#xff09; 1.执行解释计划 2.查看结果 可以看到使用了RANGE SCAN范围扫描的索引 方式二&#xff08;查看的是预测的可能会用到的索引&#xff09; 1.执行解释计划sql explain plan for select * from COURSE where COURSE_…