本教程教你如何使用DeepSeek API进行开发,包括峰谷定价下的成本优化策略、模型选择和常见报错处理。完成本教程后,你能够编写一个利用空闲时段降低API调用成本的脚本。
准备条件
- 一个DeepSeek账号(在 platform.deepseek.com 注册)
- API密钥(在控制台获取)
- Python 3.8+ 或 Node.js 18+ 环境
- requests库(Python)或fetch/axios(Node.js)
步骤1:获取API密钥
- 访问 platform.deepseek.com 注册账号
- 进入控制台,在”API Keys”页面创建新密钥
- 复制密钥并安全保存(密钥只显示一次)
步骤2:了解峰谷定价
DeepSeek V4系列采用峰谷定价(2026年8月17日生效):
- 高峰时段:北京时间9:00-12:00、14:00-18:00
- 空闲时段:其余时间(含午休12:00-14:00和夜间18:00后)
- 价格差异:空闲时段价格为高峰时段的一半
以V4 Pro为例(每百万tokens):
- 高峰时段:输入9元(缓存未命中),输出27元
- 空闲时段:输入4.5元,输出13.5元
步骤3:编写成本优化调用脚本
以下Python脚本判断当前是否为空闲时段,并将非紧急任务安排在空闲时段执行:
import requests
from datetime import datetime, timezone, timedelta
# 北京时区
BJ = timezone(timedelta(hours=8))
def is_off_peak():
"""判断当前是否为DeepSeek空闲时段"""
now = datetime.now(BJ)
hour = now.hour
# 高峰时段: 9-12, 14-18
if (9 <= hour < 12) or (14 <= hour < 18):
return False
return True
def call_deepseek(prompt, model="deepseek-v4-flash"):
"""调用DeepSeek API"""
api_key = "your-api-key-here"
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
data = {
"model": model,
"messages": [{"role": "user", "content": prompt}]
}
response = requests.post(url, json=data, headers=headers)
return response.json()
# 批量任务:只在空闲时段执行
tasks = ["总结文档1", "总结文档2", "生成报告3"]
for task in tasks:
if not is_off_peak():
print(f"当前为高峰时段,跳过非紧急任务: {task}")
# 可选: 等待到空闲时段或使用更便宜的Flash模型
continue
result = call_deepseek(task, model="deepseek-v4-pro")
print(f"完成: {task}")
步骤4:选择合适的模型
- deepseek-v4-pro:最强模型,适合复杂推理和Agent任务,价格较高
- deepseek-v4-flash:快速模型,适合日常对话和简单任务,价格低
建议:日常任务用Flash,复杂推理用Pro;批量任务尽量安排在空闲时段。
预期结果
完成本教程后,你将获得:一个能够自动判断时段、优化成本、处理批量任务的API调用脚本。以100万tokens的批量任务为例,安排在空闲时段可节省约50%成本。
常见报错和解决办法
- 401 Unauthorized:API密钥错误或已过期。检查密钥是否正确复制,是否在控制台已激活。
- 429 Rate Limit:超出并发限制。V4 Pro默认500并发,V4 Flash默认2500。减少并发数或升级配额。
- 503 Service Unavailable:服务暂时不可用。高峰时段更容易出现,等待后重试或切换到Flash模型。
- 上下文超限:V4系列支持1M上下文,但实际并发限制可能影响长上下文请求。分批处理长文本。
参考资料
DeepSeek官方API文档与价格(2026-08-20核验)