Skip to content

Responses API

Responses API 使用统一的 input 形式提交请求,适合明确支持该协议的新版客户端和 SDK。

先确认是否支持

DuckMans 的 Responses 可用性取决于当前客户端、API Key 分组和上游渠道。本文提供兼容调用格式,不表示所有分组或模型都已开通该接口。请先查看客户端协议设置和后台分组说明,再执行最小请求;如果路线只支持 Chat Completions,请改用 /chat/completions

模型占位符

把下面的 YOUR_MODEL_ID 替换为 DuckMans 后台中当前 Key 和分组实际可用的模型 ID。建议先调用 GET /models 获取,不要使用未经确认的模型名。

Responses 从能力确认、请求到读取结果的生命周期示意图

示意图:只有客户端、Key 分组和渠道均支持时才选择 Responses;可复制的地址、命令和代码仍以正文为准。

最小请求

  • 方法: POST
  • Endpoint 路径: /responses
  • 完整请求地址: https://duckmans.com/v1/responses
bash
old_stty=$(stty -g)
trap 'stty "$old_stty"' EXIT INT TERM
printf "DuckMans API Key: "
stty -echo
IFS= read -r DUCKMANS_API_KEY
stty "$old_stty"
trap - EXIT INT TERM
printf '\n'
export DUCKMANS_API_KEY

curl -sS https://duckmans.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DUCKMANS_API_KEY" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "input": "只回复 ok"
  }'

这里填写的是完整请求地址。SDK 的 Base URL 仍然是 https://duckmans.com/v1,不要配置成 https://duckmans.com/v1/responses

Responses 请求字段、原始响应和 SDK output_text 的结构关系示意图

示意图:Responses 与 Chat Completions 的结果字段不可混用;可复制的地址、命令和代码仍以正文为准。

常用字段

字段说明
model后台当前可用模型 ID
input输入文本或客户端构造的结构化输入
streamtrue 时请求流式返回
store可选;若当前渠道支持,可设为 false 请求不存储响应

模型和渠道对可选字段的支持可能不同。严格最小请求只保留 modelinput;最小请求成功后,再按渠道支持情况逐项增加 store: false 或其他参数。

如何判断是否应改用 Chat Completions

出现以下情况时,先确认当前路线的协议能力,而不是反复更换模型名称:

  • 客户端只能选择 OpenAI Chat Completions 或类似协议。
  • /responses 返回 404、不支持的 Endpoint 路径或协议错误。
  • 返回 Unsupported parameter,且移除该可选参数后仍无法完成最小请求。
  • 同一个 Key 和模型可通过 /chat/completions 正常调用。

如果应用允许选择协议,切换到 Chat Completions 并按对应页面测试。客户端强制依赖 Responses 时,需要选择明确支持 Responses 的 Key 分组和渠道。

流式调用

stream 设置为 true 即可请求事件流。Responses 的事件类型和 Chat Completions 的数据块结构不同,不要用只识别 choices[].delta 的解析器处理 Responses。详见流式输出

DuckMans 用户指导手册