本文介绍如何通过 OpenAI 兼容模式的 Responses API 同步调用 阿里云百炼应用( 智能体 、 工作流 )。适用于需要 即时获取结果 的实时交互场景,可轻松复用现有的 OpenAI 代码库,或快速集成来自 OpenAI 生态的各类工具。
相关参考
如果应用调用失败并返回报错信息,请参阅错误码解决。
- 异步调用:对于耗时较长的任务(如生成报告、多步骤工具调用),为避免请求超时,请参阅异步调用 API 参考。
- DashScope API:如需获取更全面的功能与更高的性能,请参阅工作流与旧版智能体应用 API应用 DashScope API 参考。
前提条件
- 已获取 API Key并配置API Key到环境变量。
- 已创建阿里云百炼应用,并已获取应用ID:在应用管理页面的应用卡片上复制其ID。
- 如果通过SDK调用,还需要安装OpenAI Python SDK。
base_url:https://dashscope.aliyuncs.com/api/v2/apps/agent/{APP_ID}/compatible-mode/v1
使用HTTP方式调用时需配置的Endpoint:POST https://dashscope.aliyuncs.com/api/v2/apps/agent/{APP_ID}/compatible-mode/v1/responses
请将
{APP_ID} 替换为实际的应用ID。请求体app_id string(必选)应用的标识。在应用管理页面的应用卡片上获取应用ID。
通过 HTTP 调用时,请将实际的应用ID放入 URL 中,替换inputstring/array(必选)请求的核心输入内容。可以是一个简单的字符串,也可以是一个包含多轮对话历史的消息数组。
boolean(可选)是否流式输出回复。
boolean(可选)是否以异步方式执行任务。异步调用暂不支持流式输出。
|
单轮对话 input 参数。 |
响应对象(非流式输出)idstring本次请求的唯一标识符(ID),可用于日志记录和问题追踪。object string对象类型,对于本API,其值固定为 response。created_at integer响应创建时间的Unix时间戳(以秒为单位)。status string整个响应任务的最终状态。completed 表示任务已成功结束。outputarray一个数组,包含了模型生成的所有输出内容。
子属性 output message object包含了模型输出内容的消息对象。
子属性 content array消息的核心内容数组,包含多种类型的内容块(如文本、代码、图片等)。
子属性 text string模型实际生成的文本回复。type string内容块的类型。 output_text 表示这是一个输出的文本块。string此条输出消息的唯一ID。role string消息的角色。 assistant 表示这条消息是由AI助手生成的。status string表示该条消息的生成状态。 completed 表示该条消息已成功生成。type stringoutput数组中元素的类型。message 表示这是一个消息对象。 |
响应对象(流式输出)idstring事件的消息ID。code string错误码,调用成功时为空值。messagestring表示错误详细信息,请求成功则忽略。event string事件类型,表示当前响应的状态。
事件通用数据 sequence_number integer事件的序列号,从0开始递增。type string事件类型,与event内容相同。
事件类型详解
整体响应生命周期事件 response.created: 表示响应已创建。response.in_progress: 表示响应处理中。response.completed: 响应完成。
通用数据 response object响应对象,包含响应的详细信息*。*
子属性 id string响应的唯一标识符。statusstring响应的最终状态。objectstring对象类型。固定值为 "response"。created_atinteger响应创建时间的Unix时间戳(以秒为单位)。output array输出内容列表。
子属性 output message object包含了模型输出内容的消息对象。
子属性 id string输出项的唯一标识符。type string输出项的类型。
string消息的角色。contentarray输出内容部分的列表。
子属性 type string内容部分的类型。例如 "output_text" 表示这是一个文本部分。textstring文本内容。annotationsarray注解列表。string响应的当前状态。
内容构建事件 response.output_item.added: 表示输出项已添加。
子属性 output_index integeritem 在 output 数组中的索引。itemobject新增的输出项对象。
子属性 output message object包含了模型输出内容的消息对象。
子属性 id string输出项的唯一标识符。type string输出项的类型。
string消息的角色。contentarray内容部分列表。statusstring响应的当前状态。
子属性 output_index integer已完成的 item 在 output 数组中的索引。itemobject完整的输出项对象。
子属性 id string输出项的唯一标识符。type string输出项的类型。
string消息的角色。contentarray输出内容部分的列表。
子属性 type string内容部分的类型。例如 "output_text" 表示这是一个文本部分。textstring文本内容。annotationsarray注解列表。string响应的当前状态。
子属性 output_index integer关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。partobject新添加的内容部分对象。
子属性 type string内容部分的类型。例如 "output_text" 表示这是一个文本部分。text string文本内容。annotationsarray注解列表。
子属性 output_index integer关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。partobject新添加的内容部分对象。
子属性 type string内容部分的类型。例如 "output_text" 表示这是一个文本部分。text string文本内容。annotationsarray注解列表。
文本流事件 response.output_text.delta:输出内容的文本增量。
子属性 delta string输出文本的增量片段。output_indexinteger关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。
子属性 text String完整的输出文本内容。output_indexinteger关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。
子属性 delta string思考文本的增量片段。output_indexinteger关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。
子属性 text String完整的思考过程。output_indexinteger关联的 response.output 数组索引。content_indexinteger关联的 item.content 数组索引。item_idstring关联的输出项ID。 |
常见问题
-
如何传递多轮对话的上下文?
需要在客户端维护完整的对话历史,并在每次请求时将所有历史消息完整地放在
input数组中传递给API。 基于pre_response_id或conversation_id的上下文功能将在后续支持。 -
为什么响应示例中的某些字段未在本文说明?
如果使用OpenAI的官方SDK,它可能会根据其自身的模型结构打印出一些额外的字段(通常为
null)。这些字段是OpenAI协议本身定义的,我们的服务当前不支持,所以它们为空值。只需关注本文档中描述的字段即可。