返回结果、分页与流式响应¶
接口用途¶
说明 Genesis 各接口的结果位置、分页与流式约定;其中 /responses 兼容 OpenAI Responses 风格。
请求方式¶
POST
接口地址¶
$GENESIS_BASE_URL/responses
身份认证¶
使用 Genesis API Key:Authorization: Bearer <API_KEY>。详见接口地址与身份认证。
Responses 接口¶
POST /responses 支持无状态调用。对于已接入有状态通道的模型,控制台接入资料还列出了 store、previous_response_id、Conversations 以及 retrieve、delete、input items 等能力。它们并非所有模型的共同能力;使用前先在「使用」页选择模型并复制当前示例,不要把有状态参数默认加到所有请求中。
最小请求通常由 model 与输入组成,但具体输入分段和输出项目会随模型能力变化。以控制台代码生成器生成的请求体作为当前契约。响应业务内容位于 output[] 等 Responses 原生字段,而不是 Chat Completions 的 choices[]。
各接口的结果位置¶
接口 |
主要结果 |
|---|---|
Chat Completions |
|
Responses |
|
Messages |
|
Embeddings |
|
Rerank |
|
Models |
|
usage 是用量核对的入口。不同生态可能使用 prompt_tokens / completion_tokens 或 input_tokens / output_tokens;只读取实际返回的字段,不要用缺失字段自行推算账单。
分页与批量结果¶
/embeddings 和 /rerank 返回的数组是本次请求的批量结果,不是分页列表。/models 当前以 data[] 返回可用模型;是否存在游标或更多页应以实际响应为准。客户端只有在响应明确提供下一页标识时才继续翻页,不能自行构造未文档化的 page 或 offset 参数。
处理 SSE 流¶
对支持流式输出的接口设置 stream: true 后,服务通过 Server-Sent Events 返回增量事件。OpenAI 风格流通常以多条 data: 事件组成,并以 data: [DONE] 结束;Messages 使用 Anthropic 原生事件和终止事件。
流式客户端需要:
检查 HTTP 状态成功后再开始解析事件;
按空行切分 SSE 事件,保留跨网络分片的未完成行;
按接口原生格式合并文本增量,而不是把每个事件当成完整 JSON 响应;
收到
[DONE]、原生终止事件或连接正常结束后关闭读取;记录最终事件提供的用量;流中未返回用量时以日志和用量页为准。
请求已开始产生输出后,自动重试可能生成重复内容或重复计费。连接中断时,只有业务能识别并去重请求才适合重试。429 与 5xx 的退避策略见错误码。