上一篇 下一篇 分享链接 返回 返回顶部

DeepSeek 这样用才顺手:常见坑点、API 调用与本地部署命令整理

发布人:慈云数据-客服中心 发布时间:5小时前 阅读量:0

DeepSeek 使用避坑指南|附完整命令

DeepSeek 这类大模型工具,已经成为不少人写代码、做文案、查资料、整理知识和提升办公效率的常用助手。它的优势很明显:中文理解能力不错,推理能力较强,成本相对友好,既可以在线使用,也可以通过 API、命令行工具,甚至本地模型部署来接入自己的工作流。

但在实际使用中,很多人会遇到一些“看似是模型不好用,实际是使用方式有问题”的情况:回答跑偏、代码不能运行、上下文丢失、输出太空泛、API 报错、本地部署卡顿、显存不够、提示词越写越乱等。

这篇文章整理一份 DeepSeek 使用避坑指南,覆盖在线使用、提示词写法、编程辅助、API 调用、本地部署、命令行接入等常见场景,并附上可直接复制的完整命令。


一、先明确:你到底要用 DeepSeek 做什么?

很多人一上来就问:

“帮我写一个系统。”
“帮我优化一下代码。”
“帮我做一个方案。”
“帮我分析这个问题。”

这类问题并不是不能问,而是信息太少。模型不知道你的目标、约束、环境、风格、输入输出要求,自然容易给出泛泛而谈的结果。

在使用 DeepSeek 前,建议先把需求分成几类:

  1. 知识问答:解释概念、总结文章、对比方案。
  2. 写作辅助:写公众号文章、短视频脚本、商业计划、邮件。
  3. 代码辅助:生成代码、修复 Bug、解释报错、重构项目。
  4. 数据分析:整理表格、生成 SQL、解释指标。
  5. 自动化工具:通过 API 接入网站、机器人、工作流。
  6. 本地部署:使用 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. 再让模型设计数据库表。
  3. 再生成后端接口。
  4. 再生成前端页面。
  5. 再逐个测试接口。
  6. 最后让模型帮你修复报错和优化结构。

示例提示词

我想开发一个简单的电商系统。
请先不要写代码,只帮我设计系统模块。

要求:
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”,但没有搞清楚几个问题:

  1. 你是要部署满血大模型,还是蒸馏小模型?
  2. 你的电脑有没有独立显卡?
  3. 显存多大?
  4. 是只想聊天,还是要接入 API?
  5. 是要极致性能,还是简单能跑?

本地部署的门槛主要在硬件。大参数模型需要非常高的显存,普通电脑更适合跑蒸馏版或量化版模型。

对普通用户来说,最简单的方式是使用 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 很慢,常见原因有:

  1. 模型太大;
  2. 显存不足,回退到 CPU;
  3. 内存不足;
  4. 笔记本散热差,频率下降;
  5. 同时运行太多程序;
  6. 量化版本不合适;
  7. 上下文太长。

优化建议

  • 普通电脑先用 1.5b7b 这类小模型;
  • 不要一开始就跑大参数模型;
  • 关闭不必要的软件;
  • 缩短提示词和上下文;
  • 使用量化模型;
  • 如果只是日常问答,云端 API 往往更省事。

查看系统资源:

top

或:

htop

如果没有 htop,可以安装:

Ubuntu / Debian:

sudo apt update
sudo apt install htop -y

macOS:

brew install htop

查看显卡情况,NVIDIA 用户可以使用:

nvidia-smi

十五、避坑八:让 DeepSeek 修改代码时,不要只贴一句报错

很多人遇到 Bug 后会这样问:

这个报错怎么解决?

然后只贴一行错误信息。这样模型无法知道上下文,容易给出不准确建议。

推荐提供的信息

  1. 你的系统环境;
  2. 编程语言版本;
  3. 框架版本;
  4. 完整报错;
  5. 相关代码;
  6. 你执行了什么命令;
  7. 你期望什么结果;
  8. 实际发生了什么。

高质量 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 不是一个“万能按钮”,而是一个需要正确使用的智能工具。想让它真正提升效率,关键不是问得越多越好,而是问得越清楚越好。

你需要记住几条核心原则:

  1. 任务要具体:不要只说“帮我写”,要说明背景、目标和格式。
  2. 复杂任务要拆分:先设计,再实现,再测试,再优化。
  3. 代码问题给环境:版本、框架、报错、命令都要完整。
  4. 命令执行要谨慎:涉及删除、权限、数据库操作时必须检查。
  5. API Key 要保护:不要写进前端,不要提交到 GitHub。
  6. 本地部署看硬件:普通电脑优先选择小模型和量化模型。
  7. 重要信息要核验:不要把模型当实时搜索和权威来源。
  8. 结构化输出更稳定:用于程序时尽量要求 JSON 或固定格式。

只要掌握这些方法,DeepSeek 就不只是一个聊天工具,而可以成为你的写作助手、编程搭档、学习教练和自动化工作流核心组件。

目录结构
全文