基于千问联网检索Agent提供的 agent_id 与 agent_version 信息,提供联网知识检索、场景化对话等能力。
请求语法
请求参数
- 注意:请求提供动态参数后,将会直接覆盖应用配置中的状态值。
参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
stream | bool | 是 | 必须填 true,当前版本仅支持流式响应。若提供false或不提供,请求将失败 |
input | object | 是 | 输入字段 |
input.request_id | str | 否 | 请求ID(业务自定义) |
input.messages | array[object] | 是 | 对话消息 |
input.messages.[].role | str | 是 | 角色,枚举值为:user、assistant |
input.messages.[].content | str | 是 | 消息内容 |
parameters | object | 是 | 配置参数字段 |
parameters.agent_options | object | 是 | 智能体专用参数 |
parameters.agent_options.agent_id | string | 是 | 应用ID |
parameters.agent_options.agent_version | string | 是 | 应用版本 |
parameters.agent_options.session_knowledge | string | 否 | session 会话级别知识 |
parameters.agent_options.system_prompt | string | 否 | 系统提示词 |
parameters.agent_options.agent_policy | string | 否 | 执行策略
|
parameters.agent_options.forced_search | bool | 否 | 是否强制搜索
|
parameters.agent_options.enable_citation | bool | 否 | 是否透出引用信息 |
parameters.agent_options.enable_text_image_mixed | bool | 否 | 是否图文并茂生成 |
parameters.agent_options.enable_lemma | bool | 否 | 是否透出百科词条 |
parameters.agent_options.related_video | bool | 否 | 是否透出相关视频 |
parameters.agent_options.enable_rec_question | bool | 否 | 是否透出相关问题 |
parameters.agent_options.show_step_info | bool | 否 | 是否展示工具调用状态信息,默认为 false |
parameters.agent_options.location | object | 否 | 请求位置信息 |
parameters.agent_options.location.address | string | 否 | 具体地址 |
parameters.agent_options.location.province | string | 否 | 省份 |
parameters.agent_options.location.city | string | 否 | 城市 |
parameters.agent_options.location.district | string | 否 | 区/县 |
parameters.agent_options.location.longitude | string | 否 | 经度(小数点6位) |
parameters.agent_options.location.latitude | string | 否 | 维度(小数点6位) |
返回参数
参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
request_id | str | 是 | 请求ID(dashscope 平台) |
code | str | 是 | 状态码(成功:200) |
message | str | 是 | 状态信息 |
output | object | 是 | 输出字段 |
output.request_id | str | 否 | 请求ID(业务自定义) |
output.choices | array[object] | 是 | 模型输出信息 |
output.choices.[].finish_reason | str | 是 | 生成结束原因,仅尾包输出stop |
output.choices.[].message | object | 是 | 对话消息 |
output.choices.[].message.role | str | 是 | 角色,枚举值为:user、assistant、tool |
output.choices.[].message.content | str | array[object] | 是 | 生成内容/工具返回内容 |
output.choices.[].message.reasoning_content | str | 否 | 思考内容 |
output.choices.[].message.tool_calls | array[object] | 否 | 工具调用信息 |
output.choices.[].message.tool_calls[0].arguments | dcit[str,object] | 否 | 工具调用参数 |
output.choices.[].message.tool_calls[0].name | str | 否 | 工具调用名称 |
output.choices.[].message.additional_kwargs.extra_json | Any | 否 | 工具调用返回时,携带结构化输出信息 |
output.choices.[].message.extra | dict | 否 | 步骤状态信息 |
output.choices.[].message.extra.group | str | 否 | 执行阶段 |
output.choices.[].message.extra.step_change | str | 否 | 步骤变化事件 |
output.choices.[].message.extra.step | str | 否 | 当前步骤 |
output.choices.[].message.response_metadata | dict | 否 | 请求模型调用详细信息 |
output.usage | object | 否 | 用量统计 |
output.usage.input_tokens | int | 否 | 输入 tokens |
output.usage.output_tokens | int | 否 | 输出 tokens |
output.usage.total_tokens | int | 否 | 总 tokens |
执行阶段枚举
执行阶段( | 描述 | 说明 |
|---|---|---|
planning | 计划中 | 对应plan模型,即系统处于任务规划阶段,该阶段包含 start 和 end 事件 |
generating | 生成中 | 对应生成模型,表示系统正处于结果生成阶段,此阶段包含 start 和 end 事件。 |
当前步骤( | 描述和说明 |
|---|---|
planning | 计划中 |
generating | 生成中 |
tool_calling | 工具调用中 |
tool_calling_{工具名称} | 工具调用中,附带工具名称 |
- 由于模型原因 step_change 值可能为不存在,请尽可能使用持久化的标志step
- 空包情况下 step、step_change、group 字段的值可能不存在
- plan、generation 均由 xxx_start 事件 和 xxx_end 事件两个事件组成
- tool_call 由 tool_call_start、tool_calling、tool_return 三个事件组成
- tool_call_start 表示工具调用开始、tool_calling 表示获取到完整工具调用的参数并会抛出完整的工具调用参数、tool_return 表示工具调用返回结果,同时会携带结构化的工具返回信息。
事件发生时 | 步骤变化事件 ( | 事件名称 | 解释说明 |
|---|---|---|---|
| plan_start | 开始规划 |
|
| 空 | 规划中 | 表示正在思考和工具调用 |
| plan_end | 结束规划 |
|
| generation_start | 开始生成 | 与 |
| 空 | 生成中 | 表示正在生成 |
| generation_end | 结束生成 | 与 |
| tool_call_start | 开始工具调用 | 表示工具调用开始 |
| tool_calling | 工具调用中 | 会输出tool_call的具体参数和工具名称, |
| tool_return | 工具返回 | 会携带工具返回信息, |
Agent tool call message和工具名映射
当有工具调用时,在消息中的["extra"]["step"]字段中,会显示“tool_calling_xx”,显示正在调用的工具是什么。具体消息中的工具调用消息和实际的工具名的映射关系如下表所示。
文本问答
工具调用的 step 消息 | 工具名 |
tool_calling_search | 联网搜索 |
tool_calling_visit | 网页阅读 |
tool_calling_video_search | 视频搜索 |
tool_calling_lemma_search | 百度词条 |
tool_calling_query_suggesting | 追问 |
多模态问答
相比于文本问答,新增了 2 个工具图搜图,文搜图。
工具调用的 step 消息 | 工具名 |
tool_calling_image_search | 文搜图 |
tool_calling_image_to_image_search | 图搜图 |
本地生活 POI 工具
工具调用的 step 消息 | 工具名 |
tool_calling_poi_search | 关键字搜索 |
tool_calling_around_search | 周边搜索 |
工具调用状态信息
参数
工具调用的状态在消息中的["extra"]["step_change"]字段中,工具调用的信息在["extra"]["step_info"]中,工具调用状态和工具调用信息的映射如下:
工具调用的 step 状态 | 状态含义 | 工具调用状态信息 step_info |
tool_call_start | 开始工具调用 | 开始调用 xxx 工具 |
tool_calling | 正在调用工具 | 正在调用 xxx 工具 |
tool_calling_return | 工具调用完成 | xxx 工具调用完成,xxx |
图文并茂消息协议
在开启图文并茂后,模型输出的消息中,会穿插图片,图片在消息正文中的为 html 标准图片格式,示例如下:
- data-type:数据类型,image 为图片数据
- src :图片的 url 地址
- data-url :图片的来源网址
- data-tile :图片标题
- width/height :图片的尺寸宽和高
- data_type,如果为图文并茂的图片消息,则值为 image
-
data_json,包含当前内容相关的所有图片,正文中只显示一张。这里是所有相关图片的集合,数据类型为 json。
-
在 data_json 中,每张图片的消息体如下所示:
- idx:图片编号 id
- url:图片来源网址
- title:图片标题
- published:网址发布日期
- image_info["url"]:图片网址
- image_info["width"]:图片宽
- image_info["height"]:图片高
-
在 data_json 中,每张图片的消息体如下所示:
本地生活 POI 卡片渲染
开启本地生活后模型会输出基于位置检索POI的结果信息。同时开启图文并茂后,在POI 检索结果信息中会穿插图片,图片在消息正文中的为 html 标准图片格式,示例如下:
- data-type:数据类型,poi 为地图卡片
- src :第一个卡片图片的链接
- data-url :卡片对应高德链接
- data-tile :卡片标题
- width/height :图片的尺寸宽和高
- data_type,如果为地图卡片的图片消息,则值为 poi
- data_json,包含当前内容相关的所有地图卡片,正文中只显示一个。这里是所有相关卡片的集合,数据类型为 json。
字段 | 类型 | 说明 |
|---|---|---|
name | string | 地点名称 |
id | string | 地点唯一标识 |
distance | string | 离中心点距离,单位米;仅在周边搜索的时候有值返回 |
location | string | poi 经纬度 |
type | string | poi 所属类型 |
typecode | string | poi 分类编码 |
pname | string | poi 所属省份 |
cityname | string | poi 所属城市 |
adname | string | poi 所属区县 |
address | string | poi 详细地址 |
photos | object | 返回 poi 图片相关信息 |
photos[].title | string | poi 的图片介绍 |
photos[].url | string | poi 图片的下载链接 |
business | object | 设置后返回 poi 商业信息 |
字段 | 类型 | 说明 |
|---|---|---|
business_area | string | poi 所属商圈 |
opentime_today | string | poi 今日营业时间,如 08:30-17:30 08:30-09:00 12:00-13:30 09:00-13:00 |
opentime_week | string | poi 营业时间描述,如 周一至周五:08:30-17:30(延时服务时间:08:30-09:00;12:00-13:30);周六延时服务时间:09:00-13:00(法定节假日除外) |
tel | string | poi 的联系电话 |
tag | string | poi 特色内容,目前仅在美食poi下返回 |
rating | string | poi 评分,目前仅在餐饮、酒店、景点、影院类 POI 下返回 |
cost | string | poi 人均消费,目前仅在餐饮、酒店、景点、影院类 POI 下返回 |
parking_type | string | 停车场类型(地下、地面、路边),目前仅在停车场类 POI 下返回 |
多模态图像理解问答
联网搜索 Agent 多模态接口支持通过图片 + 文本的方式进行对话。用户可以上传图片 URL,并附加文本问题,Agent 将理解图片内容调用工具并给出回答。
请求参数
参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
input | object | 是 | 输入字段 |
input.messages | array | 是 | 消息列表 |
input.messages[].role | string | 是 | 角色,固定为 user |
input.messages[].content | array | 是 | 消息内容,支持图片和文本 |
input.messages[].content[].type | string | 否 | 图片地址,支持两种格式: 1. URL 格式(推荐):https://example.com/image.jpg 2. Base64 格式:data:<content_type>;base64,<base64_data>,其中 content_type 为图片 MIME 类型(如 image/jpeg) |
input.messages[].content[].image_url | object | 条件必须 | 当 type为 image_url 时必须 |
示例
请求示例
- 文本请求示例
- 多模态请求示例