
背景DeepSeek 在 deepseek.com 发布的文档中确定 DeepSeek API 相对高峰时间为9:00–12:00 和 14:00–18:00 是相对高峰其他时段是平峰。了解了 DeepSeek 时段分布后我们建议使用者调整调度方式高峰时段的批量任务排到下一个平峰调用平峰时段正常跑。使用前提示本文示例适用于按量计费Token Plan用户。Coding Plan 套餐按协议条款不适用于本文场景。下面是一个简单的 Python 实现思路覆盖时段判断、排队、API 调用三部分。代码“”DeepSeek API 峰谷时段调度器原理: 高峰排队慢, 自动把任务排到下一个平峰时段环境: Python 3.8, 需要 pip install requests使用前确认 3 件事:时区: datetime.now() 用本地时间, UTC 服务器需要调整API URL: 以 deepseek.com 当前文档为准API Key: 替换 your-d…-key, 第一次跑建议小请求测试“”import timefrom datetime import datetimeimport requestsimport json 1. 配置区 DEEPSEEK_API_KEY “***”API_URL “https://api.deepseek.com/v1/chat/completions”MODEL “deepseek-chat”高峰时段定义 (24小时制)PEAK_HOURS [(9, 12), (14, 18)]最多等待小时数MAX_WAIT_HOURS 6请求参数REQUEST_TIMEOUT 30 2. 时段判断 def is_peak_hour():hour datetime.now().hourfor start, end in PEAK_HOURS:if start hour end:return Truereturn Falsedef next_offpeak_time():now datetime.now()hour now.hourif hour 9 or hour 18:return nowif 9 hour 12:return now.replace(hour12, minute0, second0)if 14 hour 18:return now.replace(hour18, minute0, second0)return now 3. 任务调度 def schedule_task(prompt, max_wait_hoursMAX_WAIT_HOURS):if not is_peak_hour():print(f[{datetime.now()}] 平峰时段, 立即调用)return call_api(prompt)next_time next_offpeak_time() wait_seconds (next_time - datetime.now()).total_seconds() wait_hours wait_seconds / 3600 if wait_hours max_wait_hours: return { status: skipped, reason: f等待时间 {wait_hours:.1f} 小时超过上限 {max_wait_hours} } print(f[{datetime.now()}] 高峰时段, 排队 {wait_hours:.1f} 小时到 {next_time}) time.sleep(wait_seconds) return call_api(prompt) 4. API 调用 def call_api(prompt):headers {“Authorization”: fBearer {DEEPSEEK_API_KEY},“Content-Type”: “application/json”}payload {“model”: MODEL,“messages”: [{“role”: “user”, “content”: prompt}],“max_tokens”: 1000}try: response requests.post( API_URL, headersheaders, jsonpayload, timeoutREQUEST_TIMEOUT ) response.raise_for_status() result response.json() return { status: success, content: result[choices][0][message][content], timestamp: datetime.now().isoformat() } except Exception as e: return { status: error, error: str(e), timestamp: datetime.now().isoformat() } 5. 使用示例 ifname “main”:task “把这句话翻译成英文: DeepSeek API 峰谷调度测试”result schedule_task(task) print(json.dumps(result, ensure_asciiFalse, indent2))一个参考场景如果跑批量翻译任务时段差异可以观察一下时段 响应时间 排队情况平峰 几百毫秒 基本不排队高峰 几秒 偶发排队不同任务、并发量、网络环境都会影响具体以你本地测试为准。怎么用这种定价按这种定价方式使用只做实时中转不对 Token 收取额外费用使用者调用按量计费模式下价格为各模型官方定价 0 加价。结合上面说到的时段调整能让花在 API 上的钱花在更值得的地方。几个调整方向接 Celery 做生产级队列把 schedule_task 接入 Celery每天定时跑批加重试机制用 tenacity 重试 3 次处理网络抖动加费用估算每次调用前先算 token 数 价格你跑 DeepSeek 高峰遇到过排队吗排了多久评论区聊聊。