很多新手把”用 DeepSeek”等同于”在网页里打字聊天”。其实,真正能把它变成自己工具的方式,是调用它的 API。本篇从零带你走完申请 key、看懂文档、发出第一通请求、再到排查报错的完整流程。你不需要是程序员,只要跟着做,复制代码就能跑通。
一、先搞清楚:API 是什么,为什么要用它
普通聊天是”你打字、网页显示答案”。API 是”你的程序发一段请求,DeepSeek 服务器返回一段文本”。区别有三点:
- 可以批量:写个循环,一次让模型处理 100 条评论。
- 可以嵌进自己的软件:客服机器人、自动写周报的小工具,背后都是 API。
- 可以程序化控制:设定温度、最大长度、是否返回 JSON 等参数。
一句话:网页聊天是”用别人的界面”,API 是”把大脑接到你自己的东西里”。
二、申请 key 的完整步骤
- 打开 DeepSeek 官方平台(控制台),注册并登录账号。
- 在左侧找到”API 开放平台”或”API keys”入口。
- 点击”创建 API Key”,系统会生成一串以
sk-开头的字符串。 - 立即复制保存——网页只在创建时显示一次,关掉就再也看不到完整内容了。
- 首次使用通常需要先充值或领取额度,具体金额与方式以官方控制台当前显示为准。
注意:API 的计费与网页版会员通常是两套体系,别以为开了会员就能免费用 API。价格与额度一律以官方控制台当前显示为准。
三、key 该放在哪里才安全
API key 等于你账户的”提款密码”,谁拿到谁就能用你的额度花钱。新手最容易犯的错误,就是把 key 直接写进代码、传上 GitHub,结果第二天收到扣费通知。
安全存放的几个原则:
- 绝不写进源码:不要出现
api_key = "sk-xxxx"这种硬编码。 - 用环境变量:把 key 放在系统环境变量里,代码只读取变量名。
- 用
.env文件:在项目根目录建一个.env,写入DEEPSEEK_API_KEY=sk-xxxx,并把它加进.gitignore,绝不提交到仓库。 - 泄露后立刻吊销:控制台里可以删除旧 key 并新建,旧 key 立即失效。
一个 .env 文件示例(注意前面没有引号、没有空格):
DEEPSEEK_API_KEY=sk-你的真实key
对应的 Python 读取方式会在下一节给出。
四、第一通请求:Python 版
DeepSeek 的接口与 OpenAI 兼容,所以可以直接用 openai 这个库,只是把地址改成 DeepSeek 的。先安装依赖:
pip install openai python-dotenv
下面是可直接运行的完整示例:
import os
from openai import OpenAI
from dotenv import load_dotenv
# 从 .env 读取 key,不写死在代码里
load_dotenv()
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": "用一句话解释什么是 API。"},
],
temperature=0.7,
max_tokens=300,
)
print(response.choices[0].message.content)
把 sk-你的真实key 填进 .env 后运行,屏幕应该打印出一段中文解释,说明你已经跑通了。
五、第一通请求:curl 版
不想装 Python 环境?用一行 curl 也能测。Linux/Mac 和 Windows 的 Git Bash 都自带 curl:
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": "用一句话解释什么是 API。"}
],
"temperature": 0.7
}'
把 ${DEEPSEEK_API_KEY} 换成你的真实 key(或直接写 sk-xxxx),即可看到返回的 JSON。返回里 choices[0].message.content 就是模型答案。
六、常见报错排查清单
刚开始调 API,十有八九会撞墙。把下面这张表存好,对照自查:
| 报错现象 | 可能原因 | 排查动作 |
|---|---|---|
401 Unauthorized | key 错误或失效 | 检查 key 是否复制完整;去控制台确认 key 未被删除;确认 Bearer 后面有空格 |
429 Too Many Requests | 触发限流或额度不足 | 降低请求频率;确认账户余额/额度,以官方控制台当前显示为准 |
| 长时间无响应 / 超时 | 网络问题或请求体过大 | 检查能否访问 api.deepseek.com;减小 max_tokens;加超时参数 |
400 Bad Request | 参数格式错 | 检查 JSON 是否合法、model 名称是否拼写正确 |
| 返回乱码或空内容 | 编码/解析问题 | 确保用 UTF-8 读取;用 response.json() 解析而非直接打印 |
额外建议:开发阶段把 temperature 调低(如 0.2),让结果更稳定可复现;上线前一定要给请求加超时和重试逻辑,避免一次网络抖动拖垮整个程序。
小结
走完这篇,你应该已经能发出第一通请求了。回顾关键点:key 只创建时可见、务必用环境变量或 .env 存放、接口兼容 OpenAI 所以代码很好写、401/429/超时各有固定排查套路。下一篇我们聊怎么把”你自己的文档”喂给 DeepSeek,让它不仅会聊天,还懂你的业务。
