本教程教你如何使用DeepSeek API进行开发,包括峰谷定价下的成本优化策略、模型选择和常见报错处理。完成本教程后,你能够编写一个利用空闲时段降低API调用成本的脚本。

准备条件

  • 一个DeepSeek账号(在 platform.deepseek.com 注册)
  • API密钥(在控制台获取)
  • Python 3.8+ 或 Node.js 18+ 环境
  • requests库(Python)或fetch/axios(Node.js)

步骤1:获取API密钥

  1. 访问 platform.deepseek.com 注册账号
  2. 进入控制台,在”API Keys”页面创建新密钥
  3. 复制密钥并安全保存(密钥只显示一次)

步骤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核验)