Repository navigation
[Feature]: Add OpenAI Responses API Support for LLM Serving Benchmarking #610
Description
💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案
[Feature Request] 支持 OpenAI Responses API 接口的完整性能压测
1. 需求背景
目前 AISBench 已具备针对大模型推理服务的性能压测能力,支持通过 OpenAI Chat Completions API(/v1/chat/completions)发送推理请求并统计相关性能指标。
随着 OpenAI Responses API(/v1/responses)逐渐被更多推理服务框架支持,希望 AISBench 能够增加对 Responses API 的完整适配能力。
由于 Responses API 与 Chat Completions API 在请求参数、响应结构以及流式事件协议方面存在差异,现有 Chat Completions 接口适配逻辑不能直接覆盖 Responses API 的所有场景。
希望通过新增 Responses API 协议适配模块,使 AISBench 能够对该接口进行完整的性能压测,并尽可能复用现有压测框架。
2. 功能需求
2.1 支持 Responses API 请求构造
支持向 /v1/responses 接口发送推理请求。
基础参数包括:
model:模型名称input:输入内容max_output_tokens:最大输出 Token 数量temperature:采样温度top_p:采样参数stream:是否启用流式输出
期望支持:
流式(Streaming)和非流式(Non-streaming)请求。
自定义服务地址及请求参数。
复用 AISBench 现有数据集和请求生成逻辑。
复用现有并发数、请求速率及压测时长等控制能力。
兼容 OpenAI Responses API 协议的推理服务。
2.2 支持 Responses API 响应解析
非流式响应:
解析
output中的文本输出内容。解析
usage.input_tokens和usage.output_tokens。正确处理响应状态及错误信息。
流式响应:
支持解析 Responses API 的 SSE 事件,包括:
response.createdresponse.in_progressresponse.output_item.addedresponse.content_part.addedresponse.output_text.deltaresponse.output_text.doneresponse.completedresponse.failedresponse.incompleteerror
需要正确处理不同事件类型,避免将非文本事件误认为模型输出 Token。
同时,希望能够处理流式响应中出现的异常中断、错误事件以及非正常结束等情况。
2.3 支持完整的性能指标统计
希望复用 AISBench 现有性能指标体系,支持:
性能指标 | 期望能力 -- | -- TTFT | 首个有效输出 Token 的延迟 TPOT | 每个输出 Token 的平均生成耗时 ITL | 相邻输出 Token 的时间间隔 E2E Latency | 单请求端到端耗时 Request Throughput | 每秒完成请求数 Output Throughput | 每秒生成 Token 数 Total Token Throughput | 每秒处理的输入及输出 Token 总数 Success Rate | 请求成功率 Error Rate | 请求失败率对于 Responses API,需要重点考虑以下问题:
TTFT 统计:应基于首个有效文本输出事件,而不是首个 SSE 事件。
Token 数量统计:优先使用服务端返回的
usage数据,并提供缺失时的回退策略。TPOT / ITL 统计:需要考虑一个
response.output_text.delta事件可能包含多个 Token 的情况,避免将 SSE 事件数量直接等同于 Token 数量。请求结束判定:正确区分
response.completed、response.failed、response.incomplete以及连接异常中断。
2.4 兼容现有 AISBench 压测能力
希望 Responses API 能够复用现有的:
数据集加载与请求构造
并发控制
请求速率控制
压测时长控制
性能指标统计
压测结果导出
性能测试报告生成
通过配置选择使用 Chat Completions API 或 Responses API,无需为不同接口维护两套独立的压测流程。
3. 使用场景
目前希望使用 AISBench 对支持 OpenAI Responses API 的大模型推理服务进行性能压测。
典型场景包括:
对
/v1/responses接口进行不同并发数下的吞吐量测试。测试不同输入和输出 Token 长度下的推理延迟。
对比 Streaming 和 Non-streaming 模式的性能表现。
对比同一推理服务下 Chat Completions API 与 Responses API 的性能差异。
通过现有 AISBench 测试报告分析接口性能。
4. 预期效果
期望用户能够通过 AISBench 配置文件或命令行参数指定 Responses API 协议及服务地址,直接对 /v1/responses 接口进行性能压测。
最终能够获得与现有 Chat Completions API 压测结果一致的主要性能指标,并支持使用现有的报告生成和结果分析功能。
5. 兼容性要求
保持现有 Chat Completions API 的行为不变。
尽可能复用现有压测框架及性能统计模块。
不要求修改已有数据集格式。
支持通过配置切换不同的 API 协议。
6. 验收标准
建议至少覆盖以下测试场景:
能够成功发送 Responses API 非流式请求并解析结果。
能够成功发送 Responses API 流式请求并解析 SSE 事件。
能够正确统计输入及输出 Token 数量。
能够正确统计 TTFT、TPOT、E2E Latency 等指标。
能够在不同并发数和请求速率下完成压测。
能够正确处理请求失败、超时及流式异常中断。
能够输出与现有 AISBench 一致的性能测试报告。
不影响现有 Chat Completions API 的性能测试能力。
7. 参考资料
OpenAI Responses API:
https://platform.openai.com/docs/api-reference/responses
希望社区能够评估该功能的可行性,以及是否可以基于现有服务化推理压测框架增加 Responses API 适配模块。
感谢!
替代方案
No response
补充说明
No response
Activity
github-actions commentedon Oct 24, 2026
🌟 Welcome to file an issue for the AISBench benchmark tool. We will process your request as soon as possible~
github-actions commentedon Oct 24, 2026
🤖 基于AI机器人的issue内容完整性检查结果:
问题内容检查结果
检查状态
PASS
详细检查
👉 如果想重新检查,在评论区@issue_checker即可。
【强烈推荐❤️🔥】确保issue描述完整后,可以试着将issue交给
回答,deepwiki包含了和工具相关的所有知识库