本地部署deepseek

DeepSeek 是一个值得关注的新兴 开源级 AI 项目。你是否可以在自己的服务器上部署它?答案是——可以,并且以下是详细分析和操作方式。


Open Source 定义 & DeepSeek 状态

1. 是开源吗?

  • DeepSeek-R1 在 2025 年 1 月发布,并采用了 MIT 协议开源你可以自由使用、修改、再发布,无论是个人还是商业用途。
    DeepSeek API Docs维基百科

  • 不论是模型权重还是技术文档,均对开发者完全开放!
    WIREDBusiness Insider

  • 然而,其训练数据与训练过程的代码未公开,因此仍不符合一些 “严格” 开源社区的完整标准。
    IEEE SpectrumReddit

2. 还有轻量版本可用

  • DeepSeek-R1 同时提供了多个 蒸馏版本(1.5B、7B、8B、14B、32B、70B)供优化部署,可以在 Hugging Face 下载使用。
    GitHubHugging Face


那我可以自建部署吗?

答案是:可以的!

只要你拥有足够的硬件资源(GPU 或 CPU),就可以下载模型与配置,按 Hugging Face 方式加载和推理。


⬇ 建议的部署流程(示例:DeepSeek-R1 Distill)

步骤一:获取模型

 
git clone https://github.com/deepseek-ai/DeepSeek-R1 # 或访问 Hugging Face 下载蒸馏模型 checkpoint

步骤二:安装推理环境(如 Python + Transformers + PEFT/Accelerate)

 
pip install transformers accelerate peft

步骤三:加载模型

 
from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_name = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto") inputs = tokenizer("什么是量子计算?", return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=128) print(tokenizer.decode(outputs[0], skip_special_tokens=True))

步骤四:部署成 API 服务

可使用 FastAPIFlask 包装推理逻辑,并部署为 HTTP 接口,实现 RESTful 调用。


优势 & 考量

项目说明
自主部署 完全无须依赖外部 API,可本地运行
自定义能力 可以 fine-tune、压缩量化、插入工具调用等
成本可控 蒸馏模型对算力要求低于完整模型,适合中小团队
局限性 尚未公开训练数据,科学可复现性有待强化

如你希望,我也可以基于你选定的版本(如 7B、8B、Lite 模型)写一份完整的从模型加载到部署 API 的 Python 脚本 + 启动文档。你看,我现在帮你写一个这样的模板可以吗?

 
您说:
 
ChatGPT 说:

👍 好的~那你是想我帮你整理一份 在自己服务器上搭建 deepseek 的完整流程 吗?包括:

  1. 准备服务器环境(GPU / CUDA / Docker 等)

  2. 下载 deepseek 的开源模型(Hugging Face)

  3. 部署推理框架(如 vLLM / FastAPI / OpenAI-API 兼容服务)

  4. 提供调用接口(curl 或 PHP 示例)

要不要我帮你写一份 从零到可用的搭建教程

 
您说:
好的
 
ChatGPT 说:

👌 那我帮你整理一个 在自己服务器上搭建 DeepSeek 的流程,从零到可以用 curl 请求:


1. 服务器准备

  • GPU:建议至少 1 张 A100 40G 或同级别显卡(消费级 RTX 4090 也能跑小一点的模型)。

  • 系统:Ubuntu 20.04 / 22.04

  • 驱动:NVIDIA 驱动 + CUDA 11.8 以上

  • Python:3.10+

  • 内存:64GB 以上更好


2. 下载模型

DeepSeek 的模型在 Hugging Face 开源了:

 
# 安装 git-lfs sudo apt install git-lfs -y # 下载 deepseek 7B instruct 模型为例 git lfs install git clone https://huggingface.co/deepseek-ai/deepseek-llm-7b-instruct

3. 部署推理框架

推荐用 vLLM,性能好,还支持 OpenAI API 格式。

 
# 安装依赖 pip install vllm # 启动 API 服务 python -m vllm.entrypoints.openai.api_server \ --model ./deepseek-llm-7b-instruct \ --port 8000

启动后会跑一个 OpenAI 兼容 API,地址默认是:

 
http://localhost:8000/v1/chat/completions

4. 用 curl 调用

启动成功后,你就能直接用 curl 调用 DeepSeek 模型了:

 
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-llm-7b-instruct", "messages": [ {"role": "system", "content": "你是一个中文助手"}, {"role": "user", "content": "你好,帮我写一个PHP请求示例"} ] }'

返回结果就是 JSON,和 OpenAI 的 API 一样。


5. (可选)PHP 调用示例

 
<?php $url = "http://localhost:8000/v1/chat/completions"; $data = [ "model" => "deepseek-llm-7b-instruct", "messages" => [ ["role" => "system", "content" => "你是一个中文助手"], ["role" => "user", "content" => "你好,帮我写一个PHP请求示例"] ] ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($ch); curl_close($ch); echo $response;

这样,你就能在自己的服务器上跑 DeepSeek 了,效果和调用 OpenAI API 类似。

要不要我再帮你写一个 Docker 版本的部署方法(一键运行,不用管环境配置)?

 
您说:
好的
 
ChatGPT 说:

好 👍
那我给你整理一个 用 Docker 一键部署 DeepSeek 本地 API 的方法,比手动配置环境要省心很多。


1. 安装依赖

服务器上先装好:

  • Docker

  • NVIDIA 驱动 + CUDA

  • nvidia-docker(GPU 容器支持)

检查是否能正常识别 GPU:

 
nvidia-smi

2. 拉取 vLLM 镜像

官方 vLLM 已经支持 DeepSeek 模型:

 
docker pull vllm/vllm-openai:latest

3. 运行容器加载模型

以 DeepSeek-7B-Instruct 为例(需要几十 GB 显存):

 
docker run --gpus all --rm -it \ -p 8000:8000 \ -v /your/path/models:/models \ vllm/vllm-openai:latest \ --model /models/deepseek-llm-7b-instruct

解释一下:

  • --gpus all → 启用所有 GPU

  • -p 8000:8000 → 暴露端口 8000

  • -v /your/path/models:/models → 把你本地下载的模型目录挂载进去

  • --model /models/deepseek-llm-7b-instruct → 指定加载的模型


4. curl 调用

容器启动后就有个 OpenAI 格式的接口:

 
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-llm-7b-instruct", "messages": [ {"role": "system", "content": "你是一个中文助手"}, {"role": "user", "content": "帮我写一个Docker部署DeepSeek的教程"} ] }'

5. PHP 请求示例(配合 curl)

 
<?php $url = "http://localhost:8000/v1/chat/completions"; $data = [ "model" => "deepseek-llm-7b-instruct", "messages" => [ ["role" => "system", "content" => "你是一个中文助手"], ["role" => "user", "content" => "写一个Docker部署DeepSeek的教程"] ] ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($ch); curl_close($ch); echo $response;

这样,你只要下载好 DeepSeek 模型权重(比如放在 /your/path/models),就能 一条命令跑起来

要不要我帮你写一个 一键脚本(bash 脚本),直接自动下载模型 + 启动 Docker?

 
您说:
好的
 
ChatGPT 说:

👌 那我给你写一个 一键脚本(bash),直接帮你下载 DeepSeek 模型并启动 Docker 容器。

假设你要跑 DeepSeek-7B-Instruct(大约 14GB,需要 16GB+ 显存)。


脚本内容:run_deepseek.sh

 
#!/bin/bash set -e # 1. 模型保存目录 MODEL_DIR="$HOME/deepseek_models" MODEL_NAME="deepseek-ai/deepseek-llm-7b-instruct" # 2. 确认 Docker 镜像是否存在 if [[ "$(docker images -q vllm/vllm-openai:latest 2> /dev/null)" == "" ]]; then echo "👉 正在拉取 vllm 镜像..." docker pull vllm/vllm-openai:latest fi # 3. 下载模型 (需要安装 git lfs + huggingface-cli) if [ ! -d "$MODEL_DIR/$MODEL_NAME" ]; then echo "👉 正在下载 DeepSeek 模型: $MODEL_NAME" mkdir -p $MODEL_DIR huggingface-cli download $MODEL_NAME --local-dir $MODEL_DIR/$MODEL_NAME fi # 4. 启动 Docker 容器 echo "🚀 启动 DeepSeek 服务..." docker run --gpus all --rm -it \ -p 8000:8000 \ -v $MODEL_DIR/$MODEL_NAME:/models/$MODEL_NAME \ vllm/vllm-openai:latest \ --model /models/$MODEL_NAME

使用方法

  1. 保存脚本:

 
nano run_deepseek.sh

粘贴进去,保存退出。

  1. 赋予可执行权限:

 
chmod +x run_deepseek.sh
  1. 运行:

 
./run_deepseek.sh

启动成功后

接口就跑在 **http://localhost:8000/v1/chat/completions**,可以用 curl 调用:

 
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-ai/deepseek-llm-7b-instruct", "messages": [ {"role": "system", "content": "你是一个中文助手"}, {"role": "user", "content": "写一个Docker部署DeepSeek的教程"} ] }'

要不要我帮你写一个 精简版(不用 Hugging Face CLI,直接用 wgetaria2c 下模型权重) 的脚本?这样更适合国内服务器,速度快一点。

 
您说:
好的
 
ChatGPT 说:

👌 那我给你写一个 精简版安装脚本(不依赖 Hugging Face CLI,只用 aria2c/wget 下载模型权重)。适合国内服务器。

这里以 DeepSeek-7B-Instruct 为例。


脚本:run_deepseek_simple.sh

 
#!/bin/bash set -e # 模型名称与目录 MODEL_NAME="deepseek-ai/deepseek-llm-7b-instruct" MODEL_DIR="$HOME/deepseek_models/$MODEL_NAME" # 1. 安装依赖 if ! command -v aria2c &> /dev/null; then echo "👉 安装 aria2c..." sudo apt update && sudo apt install -y aria2 fi if ! command -v docker &> /dev/null; then echo "👉 请先安装 Docker: https://docs.docker.com/engine/install/" exit 1 fi # 2. 下载模型权重(huggingface 链接,可换成国内镜像) mkdir -p $MODEL_DIR cd $MODEL_DIR if [ ! -f "config.json" ]; then echo "👉 正在下载 DeepSeek-7B-Instruct 模型..." aria2c -c -x 16 -s 16 \ "https://huggingface.co/$MODEL_NAME/resolve/main/config.json" \ "https://huggingface.co/$MODEL_NAME/resolve/main/generation_config.json" \ "https://huggingface.co/$MODEL_NAME/resolve/main/tokenizer.json" \ "https://huggingface.co/$MODEL_NAME/resolve/main/tokenizer.model" \ "https://huggingface.co/$MODEL_NAME/resolve/main/tokenizer_config.json" # 下载分片权重(大文件分成了 shard) for i in $(seq -f "%05g" 0 8); do aria2c -c -x 16 -s 16 \ "https://huggingface.co/$MODEL_NAME/resolve/main/model-$i-of-00009.safetensors" done aria2c -c -x 16 -s 16 \ "https://huggingface.co/$MODEL_NAME/resolve/main/model.safetensors.index.json" fi # 3. 拉取 vllm Docker 镜像 if [[ "$(docker images -q vllm/vllm-openai:latest 2> /dev/null)" == "" ]]; then echo "👉 拉取 vllm 镜像..." docker pull vllm/vllm-openai:latest fi # 4. 启动容器 echo "🚀 启动 DeepSeek 服务..." docker run --gpus all --rm -it \ -p 8000:8000 \ -v $MODEL_DIR:/models/$MODEL_NAME \ vllm/vllm-openai:latest \ --model /models/$MODEL_NAME

使用方法

 
chmod +x run_deepseek_simple.sh ./run_deepseek_simple.sh

启动成功后,服务跑在:
👉 http://localhost:8000/v1/chat/completions

调用示例(curl):

 
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-ai/deepseek-llm-7b-instruct", "messages": [ {"role": "system", "content": "你是一个中文助手"}, {"role": "user", "content": "给我讲一个三国的故事"} ] }'

要不要我帮你写一个 多卡版(分布式并行推理,支持多张 GPU) 的脚本?这样如果你有多卡服务器(比如 2×A100/3090),就能把大模型分布在多卡上运行。

 
您说:
我的服务器配置比较不好,可以部署一个最弱的版本吗
 
ChatGPT 说:

完全可以 👍。DeepSeek 的模型有很多不同大小,你不一定要上 7B 或 67B 这种“吃显存怪兽”,可以先从 小模型版本 开始跑。


适合低配置服务器的选择

  • DeepSeek-LLM-1.3B
    参数量 13 亿,单张 4GB 显存就能跑(比如 3060/2060/消费级显卡)。
    👉 Hugging Face: deepseek-ai/deepseek-llm-1.3b

  • DeepSeek-LLM-6.7B(轻量优化版)
    参数量 67 亿,比 7B 要轻一些,至少需要 12GB 显存才能跑。

如果显存更小(<4GB),可以考虑:

  • CPU 推理(很慢,不推荐,但能跑)。

  • 量化版本(GGUF),比如用 llama.cppollama 加载 4bit/8bit 压缩模型,就能在 2~4GB 显存甚至 CPU 上运行。


部署最小模型(DeepSeek-1.3B)

我给你写个“最弱版”的跑法:

 
# 1. 拉取 ollama (适合小显存/CPU) curl -fsSL https://ollama.com/install.sh | sh # 2. 下载并注册模型 ollama pull deepseek-r1:1.3b # 3. 启动聊天 ollama run deepseek-r1:1.3b

这样就能直接在本地交互,哪怕只有 笔记本 + CPU 也能跑,只是速度会慢一些。


建议

如果你的服务器显存 ≤4GB,就选 DeepSeek 1.3B + 量化(GGUF)
如果有 8–12GB 显存,可以跑 6.7B
如果 ≥24GB 显存,才能轻松跑 7B/33B


要不要我帮你整理一个 显存大小 ↔ 推荐模型版本对照表?这样你就能一眼知道自己能跑哪一档。

 
您说:
好的
 
ChatGPT 说:

👌 那我给你整理一份 显存需求 ↔ 可部署 DeepSeek 模型版本对照表,这样你直接对照服务器配置就能选到能跑的版本:


🖥️ 显存需求对照表(DeepSeek 系列)

显存大小推荐模型部署方式速度体验
≤ 4GB DeepSeek-1.3B(量化 GGUF) ollama / llama.cpp 慢(CPU 也能跑),适合体验
6–8GB DeepSeek-1.3B(FP16)或 DeepSeek-6.7B(4bit 量化) PyTorch + Transformers / ollama 勉强能跑,响应几秒~十几秒
12GB DeepSeek-6.7B(FP16 或 8bit) PyTorch / vLLM / ollama 可以跑得比较顺畅
16GB DeepSeek-7B(FP16) PyTorch / vLLM / ollama 响应速度可接受
24GB DeepSeek-7B(全精度)/ DeepSeek-33B(4bit 量化) PyTorch / vLLM 可以流畅跑 7B,量化 33B 勉强能用
40GB+(A100/4090 等) DeepSeek-33B PyTorch / vLLM / Deepspeed 大模型体验顺滑
80GB+(A100 80G/H100) DeepSeek-67B PyTorch + Deepspeed + vLLM 真正高性能部署

🚀 小白推荐路线

  • 低配 VPS / 家用电脑(CPU 或小显卡) → 用 Ollama + DeepSeek-1.3B GGUF

  • 有一张 3060/4060(12GB)显卡 → 跑 DeepSeek-6.7B 就够用了

  • 如果是大厂显卡(24G+) → 跑 DeepSeek-7B,体验接近在线 API

posted @ 2025-08-29 11:17  哼哼哈兮啊  阅读(53)  评论(0)    收藏  举报