快速结论
DeepSeek 支持 Responses 格式,但它是无状态接口:previous_response_id 和服务端会话不受支持;流式应处理 completed、incomplete、failed 结束事件,不能等待 Chat Completions 风格的 [DONE]。
- 官方文档给出的 base_url 为 https://api.deepseek.com,示例使用 deepseek-flash。
- 流式使用语义 SSE 事件,以 response.completed、response.incomplete 或 response.failed 结束,不发送 data: [DONE]。
- previous_response_id、conversation 和 background 不受支持;response 中 store 固定为 false。
- 内置 web_search、file_search 等工具被忽略,具体函数工具仍需应用执行。
本次更新:10 月 9 日新增并核验来源;标清公告日期、可用范围与未实测部分。
本文按 2026 年 10 月 9 日的DeepSeek Responses API 文档整理接入要点,提供请求与验收方法,没有进行付费调用或客户端运行实测。
1. 先发一个最小请求
服务地址为 https://api.deepseek.com,Responses 路径为 /responses,请求使用 DeepSeek API Key。下面是请求体示例:
{
"model": "deepseek-flash",
"instructions": "只根据提供的资料回答;缺少资料时说明缺失项。",
"input": "请列出制作运营周报需要的三类输入。"
}
先核对返回的文字、状态和 usage,再添加流式、图像或工具。记录客户端版本、请求字段和日期,便于后续定位兼容性变化。
2. 流式按事件类型处理
设置 stream: true 后,官方文档描述的是语义 SSE 事件。文字增量对应 response.output_text.delta;请求会以 response.completed、response.incomplete 或 response.failed 之一结束,没有 data: [DONE]。
应用应分别处理成功、截断和失败。收到部分文字不代表请求已成功完成;网络断开又没有最终事件时,应保留已接收内容并标注结果未完成。把原来的 Chat Completions 流式解析器原封不动搬过来,可能导致客户端一直等待错误的结束标记。
3. 多轮对话由应用保存历史
DeepSeek 将此接口描述为无状态:previous_response_id 和 conversation 不受支持,store 固定为 false。不能只发送上次响应 ID 就期望服务恢复整段历史。应用应根据文档支持的输入项,组织下一轮所需历史、工具调用及结果,并控制上下文规模。
这里的 store 字段描述的是 API 能力,不能仅凭它推断所有服务数据处理规则;资料能否发送仍应核对实际服务政策。
4. 逐项核对工具兼容性
官方支持函数工具,但内置 web_search、file_search、code_interpreter 等工具类型会被忽略;background 等参数也不受支持。部分不支持字段会被静默忽略,因此 HTTP 200 不能证明期望功能已执行。
需要联网查询时,由应用提供实际工具实现,记录执行结果并回传。具体闭环见Tool Calls 教程。
5. 用业务证据验收
至少检查普通问答、流式成功、截断、工具调用和多轮历史五种情况。观察终止状态、最终文字、工具执行记录及账单字段;对每个功能写出预期与实际结果。兼容接口的目标是让任务可完成,不能只以请求没有报错作为迁移完成标准。
参考资料
本文依据以下资料整理,版本与接口信息请以来源页面的现行说明为准。