DeepSeek 这样用才顺手:常见坑点、API 调用与本地部署命令整理
DeepSeek 使用避坑指南|附完整命令
DeepSeek 这类大模型工具,已经成为不少人写代码、做文案、查资料、整理知识和提升办公效率的常用助手。它的优势很明显:中文理解能力不错,推理能力较强,成本相对友好,既可以在线使用,也可以通过 API、命令行工具,甚至本地模型部署来接入自己的工作流。
但在实际使用中,很多人会遇到一些“看似是模型不好用,实际是使用方式有问题”的情况:回答跑偏、代码不能运行、上下文丢失、输出太空泛、API 报错、本地部署卡顿、显存不够、提示词越写越乱等。
这篇文章整理一份 DeepSeek 使用避坑指南,覆盖在线使用、提示词写法、编程辅助、API 调用、本地部署、命令行接入等常见场景,并附上可直接复制的完整命令。
一、先明确:你到底要用 DeepSeek 做什么?
很多人一上来就问:
“帮我写一个系统。”
“帮我优化一下代码。”
“帮我做一个方案。”
“帮我分析这个问题。”
这类问题并不是不能问,而是信息太少。模型不知道你的目标、约束、环境、风格、输入输出要求,自然容易给出泛泛而谈的结果。
在使用 DeepSeek 前,建议先把需求分成几类:
- 知识问答:解释概念、总结文章、对比方案。
- 写作辅助:写公众号文章、短视频脚本、商业计划、邮件。
- 代码辅助:生成代码、修复 Bug、解释报错、重构项目。
- 数据分析:整理表格、生成 SQL、解释指标。
- 自动化工具:通过 API 接入网站、机器人、工作流。
- 本地部署:使用 Ollama、LM Studio、vLLM 等运行开源模型。
不同场景的提问方式不同,不能用同一种提示词解决所有问题。
二、避坑一:不要只问“帮我写”,要给清楚约束
错误示例
帮我写一篇关于 DeepSeek 的文章。
这个提示词太宽泛,模型会输出一篇普通介绍文,可能没有重点,也不适合你的场景。
推荐写法
请你写一篇面向新手用户的中文文章,主题是“DeepSeek 使用避坑指南”。
要求:
1. 文章不少于 2000 字;
2. 使用 Markdown 格式;
3. 包含在线使用、API 调用、本地部署、提示词写法和编程辅助;
4. 每个部分都要列出常见错误和正确做法;
5. 语言通俗,适合公众号发布;
6. 最后给出一份可直接复制的命令清单。
你会发现,给出的约束越清楚,DeepSeek 的输出越接近你想要的结果。
通用提示词模板
你现在是一名【角色】。
请帮我完成【任务】。
背景信息:
【补充背景】
目标:
【最终目标】
要求:
1. 【要求一】
2. 【要求二】
3. 【要求三】
输出格式:
【Markdown / 表格 / JSON / 代码 / 分步骤说明】
注意事项:
【不要做什么 / 必须包含什么】
例如:
你现在是一名资深后端工程师。
请帮我排查一个 Node.js 接口请求超时的问题。
背景信息:
我使用 Express 框架,请求第三方接口时偶尔超时。
服务器系统是 Ubuntu 22.04,Node.js 版本是 20。
目标:
找出可能原因,并给出排查步骤。
要求:
1. 不要直接重写全部代码;
2. 先列出可能原因;
3. 再给出逐步排查命令;
4. 最后给出优化建议。
输出格式:
Markdown。
三、避坑二:不要让模型一次完成过大的任务
很多用户会让 DeepSeek 一次性生成一个完整项目,比如:
帮我写一个电商网站,包含前端、后端、数据库、支付、登录、订单和后台管理。
这种请求太大,模型可能会给你一个看似完整、实际无法运行的“半成品”。正确方式是拆分任务。
推荐拆分方式
- 先让模型设计需求和模块。
- 再让模型设计数据库表。
- 再生成后端接口。
- 再生成前端页面。
- 再逐个测试接口。
- 最后让模型帮你修复报错和优化结构。
示例提示词
我想开发一个简单的电商系统。
请先不要写代码,只帮我设计系统模块。
要求:
1. 包含用户、商品、购物车、订单、后台管理;
2. 使用 Node.js + Express + MySQL;
3. 输出模块说明、接口列表和数据库表结构;
4. 等我确认后,再进入代码实现。
这样做的好处是可以让模型保持结构清晰,减少“一次性生成大量错误代码”的概率。
四、避坑三:使用 DeepSeek 写代码时,必须说明运行环境
如果你让模型写代码,但没有说明运行环境,它可能会使用与你环境不一致的写法,比如:
- Python 版本不同;
- Node.js 使用 CommonJS 还是 ESM;
- Vue 2 和 Vue 3 混用;
- React 版本不一致;
- 数据库字段类型不符合你的实际表;
- Linux 和 Windows 命令混杂。
错误示例
帮我写一个上传图片的接口。
正确示例
请使用 Node.js 编写一个图片上传接口。
环境:
1. Node.js 20;
2. Express 4;
3. 使用 multer 处理文件上传;
4. 项目使用 CommonJS,也就是 require 写法;
5. 上传目录为 ./uploads;
6. 限制文件大小 5MB;
7. 只允许 jpg、png、webp;
8. 返回 JSON 格式。
请给出:
1. 安装命令;
2. 完整代码;
3. 测试命令;
4. 常见报错处理。
对应安装命令:
npm init -y
npm install express multer
示例运行命令:
node app.js
使用 curl 测试:
curl -X POST http://localhost:3000/upload \
-F "file=@./test.png"
五、避坑四:不要完全相信模型生成的命令
DeepSeek 可以生成很多命令,但命令执行前一定要检查,尤其是涉及删除、覆盖、权限、系统配置的命令。
高风险命令示例
rm -rf /
sudo chmod -R 777 /
sudo chown -R root:root /
docker system prune -a --volumes
这些命令可能造成严重后果。即使不是模型故意给错,也可能因为上下文不完整导致危险操作。
建议做法
执行命令前,可以追加一句:
请检查你上面给出的命令中,是否有删除文件、覆盖配置、修改系统权限、清空数据的风险。
如果有,请说明风险,并给出更安全的替代命令。
安全检查命令示例
查看当前目录:
pwd
查看文件列表:
ls -la
先模拟删除,确认目标:
find ./logs -name "*.log"
确认无误后再删除:
find ./logs -name "*.log" -delete
比起直接执行:
rm -rf ./logs/*.log
前者更容易检查删除范围。
六、避坑五:API 调用不要只看示例,要注意密钥和模型名
很多人在调用 DeepSeek API 时,最容易遇到的问题是:
- API Key 没配置;
- Base URL 写错;
- 模型名写错;
- 请求头缺失;
- JSON 格式错误;
- 额度不足;
- 代理或网络问题;
- 把密钥直接写进前端代码,导致泄露。
使用 curl 调用 DeepSeek API
以下命令适合在 Linux、macOS 或 Windows PowerShell 中参考使用。请先把 YOUR_API_KEY 替换为你的真实密钥。
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "system",
"content": "你是一个专业、严谨、简洁的中文助手。"
},
{
"role": "user",
"content": "请用三句话介绍 DeepSeek 的主要用途。"
}
],
"stream": false
}'
如果使用推理模型,可以将模型名改为:
"model": "deepseek-reasoner"
注意:实际可用模型名以官方文档和你账户权限为准。
七、用环境变量保存 API Key,避免泄露
不要把 API Key 直接写在代码里,尤其不要写进前端项目、GitHub 仓库或截图中。
Linux / macOS 设置环境变量
export DEEPSEEK_API_KEY="你的_API_KEY"
查看是否设置成功:
echo $DEEPSEEK_API_KEY
如果想永久生效,可以写入 shell 配置文件。
使用 bash:
echo 'export DEEPSEEK_API_KEY="你的_API_KEY"' >> ~/.bashrc
source ~/.bashrc
使用 zsh:
echo 'export DEEPSEEK_API_KEY="你的_API_KEY"' >> ~/.zshrc
source ~/.zshrc
Windows PowerShell 设置环境变量
临时设置:
$env:DEEPSEEK_API_KEY="你的_API_KEY"
查看:
echo $env:DEEPSEEK_API_KEY
永久设置:
setx DEEPSEEK_API_KEY "你的_API_KEY"
设置后需要重新打开 PowerShell。
八、Python 调用 DeepSeek API 完整示例
DeepSeek 的接口风格与 OpenAI Chat Completions 类似,因此可以用 OpenAI SDK 调用。
安装依赖
pip install openai
Python 示例代码
创建文件:
touch deepseek_demo.py
写入代码:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{
"role": "system",
"content": "你是一个专业、严谨、简洁的中文助手。"
},
{
"role": "user",
"content": "请给我 5 条使用 DeepSeek 提升工作效率的建议。"
}
],
stream=False
)
print(response.choices[0].message.content)
运行:
python deepseek_demo.py
如果提示没有 API Key,请先执行:
export DEEPSEEK_API_KEY="你的_API_KEY"
九、Node.js 调用 DeepSeek API 完整示例
初始化项目
mkdir deepseek-node-demo
cd deepseek-node-demo
npm init -y
npm install openai dotenv
创建 .env
touch .env
写入:
DEEPSEEK_API_KEY=你的_API_KEY
创建 index.js
touch index.js
写入代码:
require("dotenv").config();
const OpenAI = require("openai");
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com"
});
async function main() {
const completion = await client.chat.completions.create({
model: "deepseek-chat",
messages: [
{
role: "system",
content: "你是一个专业、严谨、简洁的中文助手。"
},
{
role: "user",
content: "请用 Markdown 格式写一个学习 Python 的 7 天计划。"
}
],
stream: false
});
console.log(completion.choices[0].message.content);
}
main().catch(console.error);
运行
node index.js
避坑提醒
.env 文件不要提交到 Git 仓库。建议创建 .gitignore:
touch .gitignore
写入:
.env
node_modules
十、避坑六:流式输出不是必须,但体验更好
如果你做的是聊天机器人、网页助手、客服系统,建议使用流式输出。否则用户要等完整回答生成后才能看到内容,体验会比较差。
Python 流式输出示例
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com"
)
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "请写一段关于人工智能学习路线的介绍。"}
],
stream=True
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
运行:
python stream_demo.py
十一、本地部署 DeepSeek:先搞清楚你要部署的是哪类模型
很多人说“我要本地部署 DeepSeek”,但没有搞清楚几个问题:
- 你是要部署满血大模型,还是蒸馏小模型?
- 你的电脑有没有独立显卡?
- 显存多大?
- 是只想聊天,还是要接入 API?
- 是要极致性能,还是简单能跑?
本地部署的门槛主要在硬件。大参数模型需要非常高的显存,普通电脑更适合跑蒸馏版或量化版模型。
对普通用户来说,最简单的方式是使用 Ollama。
十二、使用 Ollama 本地运行 DeepSeek
macOS 安装 Ollama
可以通过官网安装,也可以使用 Homebrew:
brew install ollama
启动服务:
ollama serve
Linux 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
启动服务:
ollama serve
拉取 DeepSeek 相关模型
以 Ollama 模型库中可用名称为准,例如:
ollama pull deepseek-r1:1.5b
或:
ollama pull deepseek-r1:7b
如果机器性能较好,可以尝试更大的版本:
ollama pull deepseek-r1:14b
运行模型
ollama run deepseek-r1:7b
进入交互后可以直接提问:
请解释一下什么是动态规划,并用 Python 写一个简单示例。
查看本地模型
ollama list
删除模型
ollama rm deepseek-r1:7b
查看 Ollama 服务是否正常
curl http://localhost:11434/api/tags
十三、通过 Ollama API 调用本地 DeepSeek
如果你想把本地模型接入自己的程序,可以调用 Ollama API。
curl 调用示例
curl http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-r1:7b",
"prompt": "请用中文解释什么是向量数据库。",
"stream": false
}'
聊天接口示例
curl http://localhost:11434/api/chat \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-r1:7b",
"messages": [
{
"role": "system",
"content": "你是一个专业的中文技术助手。"
},
{
"role": "user",
"content": "请解释 RAG 的工作原理。"
}
],
"stream": false
}'
十四、避坑七:本地模型慢,不一定是软件问题
如果你本地跑 DeepSeek 很慢,常见原因有:
- 模型太大;
- 显存不足,回退到 CPU;
- 内存不足;
- 笔记本散热差,频率下降;
- 同时运行太多程序;
- 量化版本不合适;
- 上下文太长。
优化建议
- 普通电脑先用
1.5b、7b这类小模型; - 不要一开始就跑大参数模型;
- 关闭不必要的软件;
- 缩短提示词和上下文;
- 使用量化模型;
- 如果只是日常问答,云端 API 往往更省事。
查看系统资源:
top
或:
htop
如果没有 htop,可以安装:
Ubuntu / Debian:
sudo apt update
sudo apt install htop -y
macOS:
brew install htop
查看显卡情况,NVIDIA 用户可以使用:
nvidia-smi
十五、避坑八:让 DeepSeek 修改代码时,不要只贴一句报错
很多人遇到 Bug 后会这样问:
这个报错怎么解决?
然后只贴一行错误信息。这样模型无法知道上下文,容易给出不准确建议。
推荐提供的信息
- 你的系统环境;
- 编程语言版本;
- 框架版本;
- 完整报错;
- 相关代码;
- 你执行了什么命令;
- 你期望什么结果;
- 实际发生了什么。
高质量 Debug 提示词
请帮我排查下面的报错。
环境:
- 操作系统:Ubuntu 22.04
- Node.js:20.11
- 框架:Express 4
- 数据库:MySQL 8
我执行的命令:
npm run dev
期望结果:
服务正常启动,并监听 3000 端口。
实际结果:
启动时报错。
完整报错:
【粘贴完整报错】
相关代码:
【粘贴相关代码】
要求:
1. 先判断最可能的 3 个原因;
2. 给出排查步骤;
3. 给出修改后的代码;
4. 不要省略关键命令。
十六、避坑九:让模型输出结构化结果,减少返工
如果你需要把 DeepSeek 的结果接入程序,不要让它自由发挥,最好指定 JSON 格式。
示例
请从下面文本中提取信息,并严格输出 JSON,不要输出解释文字。
字段:
- name:姓名
- phone:手机号
- city:城市
- intent:用户意图
文本:
张三,手机号 13800138000,人在杭州,想咨询企业 AI 客服系统。
期望输出:
{
"name": "张三",
"phone": "13800138000",
"city": "杭州",
"intent": "咨询企业 AI 客服系统"
}
避坑提醒
如果用于生产环境,不要完全相信模型输出一定是合法 JSON。建议在程序中增加校验和异常处理。
Python 校验示例:
import json
text = '{"name":"张三","phone":"13800138000"}'
try:
data = json.loads(text)
print(data)
except json.JSONDecodeError:
print("模型输出不是合法 JSON")
十七、避坑十:不要把 DeepSeek 当搜索引擎使用
DeepSeek 可以回答很多知识问题,但它不等于实时搜索引擎。对于新闻、价格、政策、版本更新、API 文档、法律条款等信息,最好结合官方文档或搜索引擎验证。
适合直接问 DeepSeek 的内容:
- 概念解释;
- 学习路线;
- 代码思路;
- 文案初稿;
- 表格整理;
- 总结归纳;
- 方案对比。
需要二次核验的内容:
- 最新版本;
- 官方价格;
- 法律政策;
- 医疗建议;
- 金融投资;
- 安全漏洞;
- 生产环境配置。
推荐提示词:
请基于通用知识回答,并明确指出哪些地方需要我查阅官方文档确认。
十八、常用完整命令清单
1. 设置 DeepSeek API Key
Linux / macOS:
export DEEPSEEK_API_KEY="你的_API_KEY"
Windows PowerShell:
$env:DEEPSEEK_API_KEY="你的_API_KEY"
2. curl 调用 DeepSeek
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "请用中文介绍 DeepSeek 的使用场景。"
}
],
"stream": false
}'
3. Python 调用
pip install openai
python deepseek_demo.py
4. Node.js 调用
mkdir deepseek-node-demo
cd deepseek-node-demo
npm init -y
npm install openai dotenv
node index.js
5. 安装 Ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
macOS:
brew install ollama
6. 运行本地 DeepSeek 模型
ollama serve
ollama pull deepseek-r1:7b
ollama run deepseek-r1:7b
7. 查看和删除 Ollama 模型
ollama list
ollama rm deepseek-r1:7b
8. 调用本地 Ollama API
curl http://localhost:11434/api/chat \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-r1:7b",
"messages": [
{
"role": "user",
"content": "请解释什么是 RAG。"
}
],
"stream": false
}'
十九、总结:DeepSeek 好不好用,关键在使用方式
DeepSeek 不是一个“万能按钮”,而是一个需要正确使用的智能工具。想让它真正提升效率,关键不是问得越多越好,而是问得越清楚越好。
你需要记住几条核心原则:
- 任务要具体:不要只说“帮我写”,要说明背景、目标和格式。
- 复杂任务要拆分:先设计,再实现,再测试,再优化。
- 代码问题给环境:版本、框架、报错、命令都要完整。
- 命令执行要谨慎:涉及删除、权限、数据库操作时必须检查。
- API Key 要保护:不要写进前端,不要提交到 GitHub。
- 本地部署看硬件:普通电脑优先选择小模型和量化模型。
- 重要信息要核验:不要把模型当实时搜索和权威来源。
- 结构化输出更稳定:用于程序时尽量要求 JSON 或固定格式。
只要掌握这些方法,DeepSeek 就不只是一个聊天工具,而可以成为你的写作助手、编程搭档、学习教练和自动化工作流核心组件。