前言
DeepSeek 提供开放式 API 接口,允许开发者将 DeepSeek 模型集成到自己的应用或产品中。本教程将详细介绍从申请到调用的完整流程。注册 DeepSeek 账号,建议先完成注册。
一、申请 DeepSeek API Key
1.1 注册开发者账号
- 访问 DeepSeek 开放平台
- 使用 DeepSeek 账号登录(如果没有,先注册 DeepSeek 账号)
- 阅读并同意《开发者协议》
1.2 创建 API Key
- 登录后进入 「API 管理」 页面
- 点击 「创建 API Key」 按钮
- 输入 Key 名称(如
my-first-api-key) - 点击 「创建」
- 立即复制 API Key(
sk-xxxxxxxx...格式)⚠️ 重要:API Key 只显示一次,关闭页面后无法再次查看,请妥善保管!
1.3 API Key 安全建议
- 不要泄露:不要在公开代码仓库、论坛或聊天中分享你的 API Key
- 定期轮换:建议每 3-6 个月更换一次 API Key
- 使用环境变量:不要在代码中硬编码 API Key
二、API 计费说明
2.1 定价(2026 年 6 月)
| 模型 | 输入价格(每百万 tokens) | 输出价格(每百万 tokens) |
|---|---|---|
| DeepSeek-V3 | ¥0.14 | ¥0.28 |
| DeepSeek-R1 | ¥0.14 | ¥0.28 |
| DeepSeek-Coder | ¥0.14 | ¥0.28 |
2.2 免费额度
- 新用户注册赠送 ¥10 免费额度
- 邀请新用户可获得额外奖励
2.3 充值方式
- 进入 DeepSeek 开放平台
- 点击 「充值」
- 选择充值金额(支持支付宝/微信支付)
- 完成支付
三、API 调用示例
3.1 使用 curl 调用
curl https://api.deepseek.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "你好"}
]
}'
3.2 使用 Python 调用
import requests
import os
api_key = os.getenv("DEEPSEEK_API_KEY") # 从环境变量读取
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "解释一下 Python 的装饰器"}
],
"temperature": 0.7,
"max_tokens": 2000
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
3.3 使用 Node.js 调用
const axios = require('axios');
const apiKey = process.env.DEEPSEEK_API_KEY;
const url = 'https://api.deepseek.com/v1/chat/completions';
const data = {
model: 'deepseek-chat',
messages: [
{ role: 'system', content: '你是一个有用的助手' },
{ role: 'user', content: '如何用 Node.js 创建 HTTP 服务器?' }
],
temperature: 0.7,
max_tokens: 2000
};
axios.post(url, data, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
}
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
四、API 参数详解
4.1 常用参数
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
model |
string | 模型名称 | deepseek-chat |
messages |
array | 对话历史 | 必填 |
temperature |
float | 随机性(0-2) | 1.0 |
max_tokens |
int | 最大输出 tokens | 4096 |
top_p |
float | 核采样(0-1) | 1.0 |
stream |
boolean | 是否流式输出 | false |
4.2 模型选择
deepseek-chat:通用对话模型(推荐)deepseek-coder:代码生成专用模型deepseek-reasoner:推理模型(R1)
五、流式输出(Stream)
5.1 Python 流式调用
import requests
import json
api_key = "sk-your-api-key"
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "写一首关于春天的诗"}],
"stream": True # 开启流式输出
}
response = requests.post(url, headers=headers, json=data, stream=True)
for line in response.iter_lines():
if line:
line = line.decode('utf-8')
if line.startswith('data: '):
data = line[6:]
if data != '[DONE]':
chunk = json.loads(data)
content = chunk['choices'][0]['delta'].get('content', '')
print(content, end='', flush=True)
六、常见错误代码
| 错误代码 | 说明 | 解决方法 |
|---|---|---|
| 400 | 请求参数错误 | 检查请求格式和参数 |
| 401 | API Key 无效 | 检查 API Key 是否正确 |
| 429 | 请求频率超限 | 降低请求频率或升级套餐 |
| 500 | 服务器错误 | 稍后重试 |
| Insufficient Balance | 余额不足 | 充值后重试 |
七、API 使用最佳实践
7.1 Prompt 工程建议
- 明确指令:清晰描述你的需求
- 提供示例:给 1-3 个示例(Few-shot Learning)
- 设定角色:在 system message 中定义助手角色
- 分步引导:复杂任务拆解为多个步骤
7.2 成本控制
- 使用
max_tokens限制输出长度 - 选择合适的
temperature(低温度 = 更确定性输出) - 缓存常用对话历史,减少重复输入
八、API 应用场景
如果你还没注册开发者账号,请先 注册 DeepSeek 账号。关于 API 的具体使用方法,可以先参考 使用入门教程 了解基础操作。开发者也可以查看 vs ChatGPT 对比评测 了解不同模型的 API 差异。
8.1 常见应用
- 聊天机器人:集成到网站或 App
- 内容生成:自动写文章、摘要、翻译
- 代码助手:代码补全、解释、调试
- 数据分析:处理 Excel/CSV 数据
- 客服系统:自动回复用户问题
8.2 成功案例
- 教育平台:集成 DeepSeek API 提供智能答疑
- 内容平台:自动生成文章摘要和标签
- 开发工具:代码编辑器插件
相关资源
FAQ
API 调用有频率限制吗?
有。免费账号每分钟最多 20 次请求,付费账号可提升至 50-100 次/分钟。
API Key 泄露了怎么办?
立即在 DeepSeek 开放平台 删除该 Key,并创建新的 Key。
如何查看 API 使用量和账单?
登录开放平台,进入 「用量统计」 页面查看详细数据。
API 支持哪些编程语言?
任何能发送 HTTP 请求的语言都支持(Python/Node.js/Go/Java/PHP 等)。
可以将 API 用于商业项目吗?
可以,但需遵守 DeepSeek 的商业使用条款,建议联系商务合作。