返回结果、分页与流式响应

本页说明 Genesis 各接口的结果位置、分页和流式约定;其中 /responses 兼容 OpenAI Responses 风格。

请求方式

POST

接口地址

$GENESIS_BASE_URL/responses

身份认证

使用 UC PAT 或 Genesis 服务账号 API Key:Authorization: Bearer <ACCESS_TOKEN>。详见接口地址与身份认证

Responses 接口

POST /responses 支持无状态调用。控制台接入资料还可能为支持有状态能力的模型列出 storeprevious_response_id、Conversations、retrieve、delete 和 input items。这些不是所有模型的共同能力;使用前请在「使用」页选择模型并复制当前示例,不要默认向所有请求添加有状态参数。

最小请求通常由 model 与输入组成,但具体输入分段和输出项目会随模型能力变化。以控制台代码生成器生成的请求体作为当前契约。响应业务内容位于 output[] 等 Responses 原生字段,而不是 Chat Completions 的 choices[]

工具调用能力

toolstool_choice 与其他扩展能力不是模型的通用属性,而是端点、模型和当前服务配置共同决定的能力。Chat Completions 的工具调用成功不能证明 /responses 也支持相同请求。先在控制台确认所选端点,再以最小请求验证;若收到 5xx,保留脱敏的请求 ID、端点、模型 ID 和状态码后排查服务配置。

各接口的结果位置

接口

主要结果

Chat Completions

choices[].message.content

Responses

output[]

Messages

content[]

Embeddings

data[].embedding

Rerank

results[]

Models

data[]

usage 是核对用量的入口。不同生态可能使用 prompt_tokens / completion_tokensinput_tokens / output_tokens;只读取实际返回的字段,不要根据缺失字段推算账单。

分页与批量结果

/embeddings/rerank 返回的数组是本次请求的批量结果,不是分页列表。/models 当前以 data[] 返回可用模型;是否存在游标或更多页应以实际响应为准。客户端只有在响应明确提供下一页标识时才继续翻页,不能自行构造未文档化的 pageoffset 参数。

处理 SSE 流

对支持流式输出的接口设置 stream: true 后,服务通过 Server-Sent Events 返回增量事件。OpenAI 风格流通常以多条 data: 事件组成,并以 data: [DONE] 结束;Messages 使用 Anthropic 原生事件和终止事件。

流式客户端需要:

  1. 检查 HTTP 状态成功后再开始解析事件;

  2. 按空行切分 SSE 事件,保留跨网络分片的未完成行;

  3. 按接口原生格式合并文本增量,而不是把每个事件当成完整 JSON 响应;

  4. 收到 [DONE]、原生终止事件或连接正常结束后关闭读取;

  5. 记录最终事件提供的用量;流中未返回用量时以日志和用量页为准。

请求开始产生输出后,自动重试可能生成重复内容或重复计费。连接中断时,只有业务能够识别并去重请求才适合重试。4295xx 的退避策略见错误码

最后更新于