本地化部署 DeepSeek 全攻略(linux、windows、mac系统部署)

 更新时间:2025年02月19日 12:04:45   作者:菜狗小测试  
本文详细介绍了在Linux、Windows和Mac系统上本地部署DeepSeek模型的步骤,包括硬件要求、软件环境、模型下载和部署步骤、以及优化与注意事项,感兴趣的朋友一起看看吧

一、Linux 系统部署

准备工作

硬件要求:服务器需具备充足计算资源。推荐使用 NVIDIA GPU,如 A100、V100 等,能加快模型推理速度。内存至少 32GB,存储建议采用高速固态硬盘(SSD),保障数据读写高效。
软件环境:安装 Linux 操作系统,如 Ubuntu 20.04。同时,安装 Python 3.8 及以上版本,以及相关依赖库,如 PyTorch、transformers 等。以 CUDA 11.7 为例,安装 PyTorch 的命令如下:

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

安装 transformers 库:

pip install transformers

2.下载 DeepSeek 模型
访问 DeepSeek 官方模型下载地址,依据需求选择合适的模型版本。目前 DeepSeek 有不同参数规模的模型可选,如 DeepSeek-7B、DeepSeek-13B 等。
使用wget命令下载模型文件,示例如下:

wget https://download.deepseek.com/DeepSeek-7B.tar.gz

下载完成后,解压模型文件:

tar -zxvf DeepSeek-7B.tar.gz

3.部署步骤
创建项目目录:在本地创建新的项目目录,用于存放部署相关文件和脚本。

mkdir deepseek_deployment
cd deepseek_deployment

编写推理脚本:使用 Python 编写推理脚本,如inference.py。在脚本中导入必要库,加载 DeepSeek 模型和分词器,实现推理功能。示例代码如下:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).cuda()
# 定义推理函数
def generate_text(prompt, max_length=100):
    input_ids = tokenizer.encode(prompt, return_tensors='pt').cuda()
    output = model.generate(input_ids, max_length=max_length, num_beams=5, early_stopping=True)
    return tokenizer.decode(output[0], skip_special_tokens=True)
# 示例使用
prompt = "请介绍一下人工智能的发展趋势"
generated_text = generate_text(prompt)
print(generated_text)
请将path/to/DeepSeek-7B替换为实际的模型路径。
启动服务:若需将模型部署为服务,可使用 FastAPI 等框架。首先安装 FastAPI 和 uvicorn:
pip install fastapi uvicorn
然后编写服务脚本,如app.py:
from fastapi import FastAPI
from pydantic import BaseModel
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
app = FastAPI()
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).cuda()
class PromptRequest(BaseModel):
    prompt: str
    max_length: int = 100
@app.post("/generate")
def generate_text(request: PromptRequest):
    input_ids = tokenizer.encode(request.prompt, return_tensors='pt').cuda()
    output = model.generate(input_ids, max_length=request.max_length, num_beams=5, early_stopping=True)
    return {"generated_text": tokenizer.decode(output[0], skip_special_tokens=True)}

同样,将path/to/DeepSeek-7B替换为实际路径。
启动服务:

uvicorn app.py:app --host 0.0.0.0 --port 8000

二、Windows 系统部署

1.准备工作

硬件要求:与 Linux 系统类似,推荐配备 NVIDIA GPU,如 RTX 30 系列及以上,以获得较好的推理性能。内存建议 32GB 及以上,存储使用高速固态硬盘。
软件环境:安装 Python 3.8 及以上版本,可从 Python 官网下载安装包进行安装。安装时勾选 “Add Python to PATH” 选项,方便后续命令行操作。同时,安装 PyTorch 和 transformers 库。由于 Windows 下 CUDA 安装较为复杂,建议使用 conda 进行环境管理。首先安装 Anaconda,然后创建一个新的 conda 环境并安装依赖:

conda create -n deepseek_env python=3.8
conda activate deepseek_env
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip install transformers

2.下载 DeepSeek 模型

访问 DeepSeek 官方模型下载地址,选择合适的模型版本。
可使用浏览器直接下载模型文件,也可以在命令行中使用wget(需提前安装)或curl工具下载。例如,使用curl下载 DeepSeek-7B 模型:

curl -O https://download.deepseek.com/DeepSeek-7B.tar.gz

下载完成后,解压模型文件,可使用 7-Zip 等解压工具。

3. 部署步骤

创建项目目录:在文件资源管理器中创建一个新的文件夹,例如 “deepseek_deployment”,用于存放部署相关文件。
编写推理脚本:使用文本编辑器(如 Notepad++、VS Code 等)编写 Python 推理脚本inference.py,内容与 Linux 版本类似:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('cuda')
# 定义推理函数
def generate_text(prompt, max_length=100):
    input_ids = tokenizer.encode(prompt, return_tensors='pt').to('cuda')
    output = model.generate(input_ids, max_length=max_length, num_beams=5, early_stopping=True)
    return tokenizer.decode(output[0], skip_special_tokens=True)
# 示例使用
prompt = "请介绍一下人工智能的发展趋势"
generated_text = generate_text(prompt)
print(generated_text)
请将path/to/DeepSeek-7B替换为实际的模型路径。
启动服务:若要部署为服务,同样可以使用 FastAPI 和 uvicorn。在命令行中激活 conda 环境后安装相关库:
pip install fastapi uvicorn
编写服务脚本app.py,内容与 Linux 版本类似:
from fastapi import FastAPI
from pydantic import BaseModel
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
app = FastAPI()
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('cuda')
class PromptRequest(BaseModel):
    prompt: str
    max_length: int = 100
@app.post("/generate")
def generate_text(request: PromptRequest):
    input_ids = tokenizer.encode(request.prompt, return_tensors='pt').to('cuda')
    output = model.generate(input_ids, max_length=request.max_length, num_beams=5, early_stopping=True)
    return {"generated_text": tokenizer.decode(output[0], skip_special_tokens=True)}

将path/to/DeepSeek-7B替换为实际路径。
启动服务:

uvicorn app.py:app --host 0.0.0.0 --port 8000

三、Mac 系统部署

1.准备工作

硬件要求:如果是配备 M1 或 M2 芯片的 Mac,可利用其强大的计算能力进行部署。对于 Intel 芯片的 Mac,建议配备较好的显卡(如果有独立显卡)。内存至少 16GB,存储使用高速固态硬盘。
软件环境:安装 Python 3.8 及以上版本,可通过 Homebrew 安装。首先安装 Homebrew,然后安装 Python 和相关依赖库:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python
pip install torch torchvision torchaudio
pip install transformers

如果是 M1 或 M2 芯片的 Mac,安装 PyTorch 时需注意选择适配 ARM 架构的版本:

pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/torch_stable.html

2.下载 DeepSeek 模型

访问 DeepSeek 官方模型下载地址,选择合适的模型版本。
使用curl命令下载模型文件,例如:

curl -O https://download.deepseek.com/DeepSeek-7B.tar.gz

下载完成后,解压模型文件:

tar -zxvf DeepSeek-7B.tar.gz

3.部署步骤

创建项目目录:在终端中使用以下命令创建项目目录:

mkdir deepseek_deployment
cd deepseek_deployment

编写推理脚本:使用文本编辑器(如 TextEdit、VS Code 等)编写 Python 推理脚本inference.py,内容与前面类似:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
if torch.backends.mps.is_available():
    model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('mps')
else:
    model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('cuda' if torch.cuda.is_available() else 'cpu')
# 定义推理函数
def generate_text(prompt, max_length=100):
    input_ids = tokenizer.encode(prompt, return_tensors='pt').to(model.device)
    output = model.generate(input_ids, max_length=max_length, num_beams=5, early_stopping=True)
    return tokenizer.decode(output[0], skip_special_tokens=True)
# 示例使用
prompt = "请介绍一下人工智能的发展趋势"
generated_text = generate_text(prompt)
print(generated_text)
请将path/to/DeepSeek-7B替换为实际的模型路径。
启动服务:若要部署为服务,安装 FastAPI 和 uvicorn:
pip install fastapi uvicorn
编写服务脚本app.py,内容与前面类似:
from fastapi import FastAPI
from pydantic import BaseModel
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
app = FastAPI()
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("path/to/DeepSeek-7B")
if torch.backends.mps.is_available():
    model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('mps')
else:
    model = AutoModelForCausalLM.from_pretrained("path/to/DeepSeek-7B", torch_dtype=torch.float16).to('cuda' if torch.cuda.is_available() else 'cpu')
class PromptRequest(BaseModel):
    prompt: str
    max_length: int = 100
@app.post("/generate")
def generate_text(request: PromptRequest):
    input_ids = tokenizer.encode(request.prompt, return_tensors='pt').to(model.device)
    output = model.generate(input_ids, max_length=request.max_length, num_beams=5, early_stopping=True)
    return {"generated_text": tokenizer.decode(output[0], skip_special_tokens=True)}

将path/to/DeepSeek-7B替换为实际路径。
启动服务:

uvicorn app.py:app --host 0.0.0.0 --port 8000

四、优化与注意事项

模型量化:为减少内存占用和提高推理速度,可对模型进行量化处理,如使用 INT8 量化。
安全设置:部署服务时,注意设置合理的访问权限和安全策略,防止模型被恶意调用。
性能监控:在 Linux 和 Windows 系统中,可使用 NVIDIA System Management Interface(nvidia-smi)监控 GPU 使用情况;在 Mac 系统中,对于 M1/M2 芯片,可使用top命令等监控系统资源使用情况,确保模型运行在最佳状态。

到此这篇关于本地化部署 DeepSeek 全攻略的文章就介绍到这了,更多相关本地化部署 DeepSeek内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 全网最全Git命令手册

    全网最全Git命令手册

    Git是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。 本文主要介绍了全网最全Git命令手册,感兴趣的可以了解一下
    2021-12-12
  • 网站统计中的数据收集原理及实现

    网站统计中的数据收集原理及实现

    目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统
    2013-09-09
  • Windows10使用Anaconda安装Tensorflow-gpu的教程详解

    Windows10使用Anaconda安装Tensorflow-gpu的教程详解

    Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境。这篇文章主要介绍了Windows10使用Anaconda安装Tensorflow-gpu的教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • MobaXterm的安装和使用及问题小结

    MobaXterm的安装和使用及问题小结

    MobaXterm是一款全能的终端连接工具,支持SSH连接,支持FTP、串口等协议。接下来通过本文给大家分享MobaXterm的安装和使用及遇到的问题解决方法,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 编程界主流脚本编程语言的比较和选择

    编程界主流脚本编程语言的比较和选择

    这篇文章主要介绍了编程界主流脚本编程语言的比较和选择,本文分析了Unix/Linux Shell、Python/Jython、Ruby/JRuby、Perl、Groovy等脚本语言的优缺点,帮助您快速了解各大语言,需要的朋友可以参考下
    2015-05-05
  • 微信小程序应用号开发体验

    微信小程序应用号开发体验

    这篇文章主要介绍了微信小程序(应用号)开发体验的相关资料,需要的朋友可以参考下
    2016-09-09
  • Minio设置文件链接永久有效的完整步骤

    Minio设置文件链接永久有效的完整步骤

    大家应该都知道minio分享文件的链接最多支持分享七天,而最近遇到了一个需求要求设置永久可下载,这篇文章主要给大家介绍了关于Minio设置文件链接永久有效的相关资料
    2022-07-07
  • 关于idea+centos7+zookeeper报错connectionloss,timeout问题

    关于idea+centos7+zookeeper报错connectionloss,timeout问题

    这篇文章主要介绍了idea+centos7+zookeeper报错connectionloss,timeout问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PHP和Java的主要区别有哪些?哪个最适合Web开发语言?

    PHP和Java的主要区别有哪些?哪个最适合Web开发语言?

    Java和PHP都是编程语言,大家知道它们最大的区别就是一个是静态语言一个是动态语言吧。没错,Java是一种静态语言,PHP是一种动态语言。那它们还有哪些区别? 哪个最适合Web开发语言?下面,小编再给大家详细介绍下。
    2016-08-08
  • curl和wget检测网页状态的区别

    curl和wget检测网页状态的区别

    curl和Wget在linux日常使用中非常常见,它们都可以向服务器发出请求,curl和Wget的一个最明显的区别是:默认情况下Wget将查询的网页保存到系统,而 curl将其显示在终端输出中但不保存它,curl的使用率比Wget多得多
    2025-04-04

最新评论