2026/5/24 1:47:28
网站建设
项目流程
html5手机微网站,网站建设的项目总结,wordpress 主题改多频道,网站建设流程报告产品链接
面向深度的查询问答和调研分析需求场景,多步骤推理规划研究路径,生成有洞察、可溯源、图文并茂的长文报告-大模型服务平台百炼(Model Studio)-阿里云帮助中心 本产品#xff08;通义深度搜索#xff09;对外服务接口目录。所有接口使用 DashScope HTTP 协议对外提…产品链接面向深度的查询问答和调研分析需求场景,多步骤推理规划研究路径,生成有洞察、可溯源、图文并茂的长文报告-大模型服务平台百炼(Model Studio)-阿里云帮助中心本产品通义深度搜索对外服务接口目录。所有接口使用 DashScope HTTP 协议对外提供服务。基于智能体应用管理提供的 agent_id 与 agent_version 信息提供场景化对话、研究、写作相关能力。请求语法POST /deep-search-agent/chat/completions HTTP/1.1请求参数参数名类型是否必须说明streambool是必须填 true当前版本仅支持流式响应。若提供false或不提供请求将失败inputobject是输入字段input.request_idstr否请求ID业务自定义input.messagesarray[object]是对话消息input.messages.[].rolestr是角色枚举值为user、assistantinput.messages.[].contentstr是生成内容parametersobject是配置参数字段parameters.agent_optionsobject是智能体专用参数parameters.agent_options.agent_idstring是应用IDparameters.agent_options.agent_versionstring是应用版本parameters.agent_options.session_filesarray[string]否动态文件 ID 列表文件 ID 的获取参考文件上传文档最大支持传入10个文件ID返回参数参数名类型是否必须说明request_idstr是请求IDdashscope 平台codestr是状态码成功200messagestr是状态信息outputobject是输出字段output.request_idstr否请求ID业务自定义output.choicesarray[object]是模型输出信息output.choices.[].finish_reasonstr是生成结束原因仅尾包输出stopoutput.choices.[].messageobject是对话消息output.choices.[].message.rolestr是角色枚举值为user、assistant、tooloutput.choices.[].message.contentstr | array[object]是生成内容/工具返回内容当生成配置开启输出报告时报告消息体类型为array[object]output.choices.[].message.reasoning_contentstr否思考内容如果 content内没有内容则尝试获取最后一轮深度思考中的reasoning_content内容output.choices.[].message.tool_callsarray[object]否工具调用信息output.choices.[].message.tool_calls[0].argumentsdcit[str,object]否工具调用参数output.choices.[].message.tool_calls[0].namestr否工具调用名称output.choices.[].message.additional_kwargs.extra_jsonAny否工具调用返回时携带结构化输出信息output.choices.[].message.extradict否步骤状态信息output.choices.[].message.extra.groupstr否执行阶段output.choices.[].message.extra.step_changestr否步骤变化事件output.choices.[].message.extra.stepstr否当前步骤output.choices.[].message.response_metadatadict否请求模型调用详细信息output.usageobject否用量统计output.usage.input_tokensint否输入 tokensoutput.usage.output_tokensint否输出 tokensoutput.usage.total_tokensint否总 tokens计划枚举执行阶段group描述说明planning计划中对应plan模型即系统处于任务规划阶段该阶段包含 start 和 end 事件generating生成中表示为写作模型表示系统正处于报告生成阶段此阶段不区分详细事件变化无 start/end 事件step 状态仅包括 thinking 和 generating且不会调用工具。当前步骤step描述和说明planning计划中thinking思考中reporting总结中法律场景特有generating生成中tool_calling工具调用中tool_calling_{工具名称}工具调用中附带工具名称由于模型原因 step_change 值可能为不存在请尽可能使用持久化的标志step空包情况下 step、step_change、group 字段的值可能不存在plan、think、generation 均由 xxx_start 事件 和 xxx_end 事件两个事件组成tool_call 由 tool_call_start、tool_calling、tool_return 三个事件组成tool_call_start 表示工具调用开始开始流式收集工具调用信息此时还无法吐出工具调用详情name、args等、tool_calling 表示获取到完整工具调用的参数并会抛出完整的工具调用参数tool_return 表示工具调用返回结果同时会携带结构化的工具返回信息。步骤变化事件 (step_change)事件发生时step的值事件名称解释说明plan_startplanning开始规划step状态变为planning, 表示对应状态的开头包含当前包。plan_endplanning结束规划step开始变成其他状态事件发生时step仍为planning表示对应状态的结尾包含当前包。think_startthinking开始思考与plan事件同理think_endthinking结束思考与plan事件同理report_startreporting开始总结与plan事件同理report_endreporting结束总结与plan事件同理generation_startgenerating开始生成与plan事件同理generation_endgenerating结束生成与plan事件同理tool_call_starttool_calling开始工具调用表示工具调用开始开始流式收集工具调用信息此时还无法吐出工具调用详情name、arguments等。tool_callingtool_calling_{工具名称}工具调用中会输出tool_call的具体参数和工具名称tool_calling状态变为tool_calling_{工具名称}。tool_returntool_calling_{工具名称}工具返回会携带工具返回信息step开始变成其他状态事件发生时step仍为tool_calling_{工具名称}。示例请求示例{ input: { messages: [ { role: user, content: 现在日期 } ] }, parameters: { agent_options: { agent_id: aid-xxx, agent_version: beta } } }返回示例data: { code: 200, message: , output: { choices: [{ finish_reason: , message: { content: , additional_kwargs: {}, response_metadata: {}, tool_calls: [], reasoning_content: , role: assistant, extra: { group: planning, step_change: think_start, step: thinking } } }] }, usage: null, request_id: 5b853312-8d0c-42ff-9d26-08339d5ff38e }当生成配置开启输出报告时模型尾包会给出 html 和 md 的存储地址和路径content 中 type 的含义参考如下file_path文件存储路径用于后续导出pdf和二次获取以下文件下载链接md_file_urlmd下载链接html_file_urlhtml下载链接{ status_code: 200, code: , message: , output: { choices: [ { finish_reason: stop, message: { content: [ { type: file_path, text: msearch/agents/files/upload/536fa835-a381-4870-99c1-79dee3ab946c }, { type: md_file_url, text: https://msearch-cloud.oss-cn-hangzhou.aliyuncs.com/msearch/agents/files/upload/536fa835-a381-4870-99c1-79dee3ab946c.md?x-oss-signature-versionOSS4-HMAC-SHA256x-oss-date20250904T151053Zx-oss-expires900x-oss-credentialLTAI5tCLjk1ruCfq2caq****%2F20250904%2Fcn-hangzhou%2Foss%2Faliyun_v4_requestx-oss-signature9f9af4642f3611b1b8210bd801f10610236656a016e6bda67e2239ecf59b644f }, { type: html_file_url, text: https://msearch-cloud.oss-cn-hangzhou.aliyuncs.com/msearch/agents/files/upload/536fa835-a381-4870-99c1-79dee3ab946c.html?x-oss-signature-versionOSS4-HMAC-SHA256x-oss-date20250904T151053Zx-oss-expires900x-oss-credentialLTAI5tCLjk1ruCfq2caq****%2F20250904%2Fcn-hangzhou%2Foss%2Faliyun_v4_requestx-oss-signature34164425671a0f26a39adacd12735d9ec127aec8caa68f8e1de6e252f5889a9c } ], additional_kwargs: {}, response_metadata: { model_name: deep-research-generation, agent_name: writing_agent }, tool_calls: [], reasoning_content: , role: assistant } } ] }, usage: null, request_id: 3070fa78-c5d5-4bad-b2fc-e20787f6eb75 }调用示例Python示例:# codingutf-8 import os import json import requests split_line \\n-------------------------------------生成报告链接---------------------------------------------------\\n chat_completions_url https://dashscope.aliyuncs.com/api/v2/apps/deep-search-agent/chat/completions headers { Authorization: fBearer {os.getenv(DASHSCOPE_API_KEY, )}, # 配置 API KEY Content-Type: application/json } if __name__ __main__: params { input: { messages: [{role: user, content: 目前国内主流多模态模型分别有哪些根据性能和效果做下评估}] # 传入请求消息 }, parameters: { agent_options: { # 设置 agent 选项 agent_id: ${agent_id}, # 应用ID可在应用管理页面获取到例如aid-8fd***e00 agent_version: ${agent_version} # 应用版本beta 测试版本 / release 发布版本 } }, stream: True } response requests.post(chat_completions_url, headersheaders, jsonparams, streamTrue) resultlist [] stage action content reasoning_content for chunk in response.iter_lines(): if chunk: chunk_str chunk.decode(utf-8).strip() if chunk_str.startswith(data:): json_str chunk_str[len(data:):].strip() try: obj json.loads(json_str) # 检查异常 if obj.get(code) ! 200: print(服务异常, obj) # 获取消息体 msg obj.get(output, {}).get(choices, [{}])[0].get(message, {}) extra_flags msg.get(extra, {}) # 获取模型状态标记字段 if stage ! extra_flags.get(group, ): # 获取 模型当前阶段 print(fagent stage: {extra_flags.get(group, )}) stage extra_flags.get(group, ) if action ! extra_flags.get(step, ) and extra_flags.get(step, ): # 获取 模型当前阶段 print(fagent action: {extra_flags.get(step, )}) action extra_flags.get(step, ) role msg.get(role, ) # 获取模型角色 assistant or role content msg.get(content) # 获取生成内容 toolcalls msg.get(tool_calls, []) # 获取工具调用 if toolcalls: print(f{toolcalls}) if not content: # 如果 content内没有内容则尝试获取最后一轮深度思考中的reasoning_content内容 content msg.get(reasoning_content, ) if isinstance(content, str): if role tool: print(\\n content \\n, end) # 前后都换行 else: print(content, end) # 流式输出 else: # 注意 content 可能不是字符串 print(split_line, content) # 可按需保存 resultlist.append(obj) except Exception as e: print(异常解析:, e)java示例:import java.io.*; import java.net.*; import java.util.*; import com.alibaba.fastjson.*; import java.nio.charset.StandardCharsets; public class DeepSearchStreamDemo { // 配置 API KEY public final static String CHAT_COMPLETIONS_URL https://dashscope.aliyuncs.com/api/v2/apps/deep-search-agent/chat/completions; public final static String API_KEY System.getenv(DASHSCOPE_API_KEY); public static void main(String[] args) throws Exception { // 构造参数 MapString, Object params new HashMap(); // input.messages ListMapString, Object messages new ArrayList(); MapString, Object msgObj new HashMap(); msgObj.put(role, user); msgObj.put(content, ${prompt}); messages.add(msgObj); // input MapString, Object input new HashMap(); input.put(messages, messages); // parameters.agent_options MapString, Object agentOptions new HashMap(); // agentOptions.put(agent_id, ${agent_id});// 应用ID可在应用管理页面获取到例如aid-8fd***e00 agentOptions.put(agent_version, ${agent_version}); // 应用版本beta 测试版本 / release 发布版本 // parameters MapString, Object parameters new HashMap(); parameters.put(agent_options, agentOptions); params.put(input, input); params.put(parameters, parameters); params.put(stream, true); String body JSON.toJSONString(params); // HTTP 请求 URL apiUrl new URL(CHAT_COMPLETIONS_URL); HttpURLConnection conn (HttpURLConnection) apiUrl.openConnection(); conn.setRequestMethod(POST); conn.setDoOutput(true); conn.setRequestProperty(Authorization, Bearer API_KEY); conn.setRequestProperty(Content-Type, application/json); // 发送 body try (OutputStream os conn.getOutputStream()) { os.write(body.getBytes(StandardCharsets.UTF_8)); } // 处理流式响应 InputStream inputStream conn.getInputStream(); BufferedReader reader new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); String line; String stage ; String action ; ListJSONObject resultList new ArrayList(); while ((line reader.readLine()) ! null) { if (!line.trim().isEmpty()) { String chunkStr line.trim(); if (chunkStr.startsWith(data:)) { String jsonStr chunkStr.substring(5).trim(); try { JSONObject obj JSON.parseObject(jsonStr); // 检查异常 if (!200.equals(obj.getString(code))) { System.out.print(服务异常: obj); } // 获取 output-choices[0]-message JSONObject msg null; if (obj.containsKey(output)) { JSONObject output obj.getJSONObject(output); if (output ! null output.containsKey(choices)) { JSONArray choices output.getJSONArray(choices); if (choices ! null !choices.isEmpty()) { JSONObject firstChoice choices.getJSONObject(0); if (firstChoice.containsKey(message)) { msg firstChoice.getJSONObject(message); } } } } if (msg null) { continue; } // 获取 extra_flags 字段 JSONObject extraFlags msg.containsKey(extra) msg.get(extra) ! null ? msg.getJSONObject(extra) : new JSONObject(); // agent stage String stageNew extraFlags.containsKey(group) extraFlags.get(group) ! null ? extraFlags.getString(group) : ; if (!stage.equals(stageNew)) { System.out.println(agent stage: stageNew); } stage stageNew; // agent action String actionNew extraFlags.containsKey(step) extraFlags.get(step) ! null ? extraFlags.getString(step) : ; if (!action.equals(actionNew) !actionNew.isEmpty()) { System.out.println(agent action: actionNew); } action actionNew; String role msg.containsKey(role) msg.get(role) ! null ? msg.getString(role) : ; Object contentObj msg.get(content); String content null; boolean isContentString false; // content 是字符串类型 if (contentObj instanceof String) { content contentObj.toString(); isContentString true; } // 字符串为空时补 reasoning_content if (isContentString content.isEmpty()) { Object reasoningContentObj msg.get(reasoning_content); if (reasoningContentObj instanceof String) { content reasoningContentObj.toString(); } } // 工具调用 if (msg.containsKey(tool_calls) msg.get(tool_calls) instanceof List) { JSONArray toolCalls msg.getJSONArray(tool_calls); if (!toolCalls.isEmpty()) { System.out.println(toolCalls); } } // -------输出内容判断-------- if (isContentString) { // 是字符串无论空不空都直接打印和Python一致 if (tool.equals(role)) { System.out.print(\\n content \\n); } else { System.out.print(content); } } else { // 不是字符串比如Object/Array时打印分隔线再打印内容 System.out.println(\\n------------------------------------------------------------------生成报告链接------------------------------------------------------------------); System.out.println(contentObj ! null ? contentObj.toString() : null); } // ------end---- // 可按需保存 resultList.add(obj); } catch (Exception e) { System.out.println(异常解析: e); } } } } reader.close(); } }点击下方访问产品链接面向深度的查询问答和调研分析需求场景,多步骤推理规划研究路径,生成有洞察、可溯源、图文并茂的长文报告-大模型服务平台百炼(Model Studio)-阿里云帮助中心欢迎加入讨论钉钉群在这里您可以与其他用户进行深入交流分享使用经验或获取更多技术支持群号102415041551。