Skip to main content
更多模型

Qwen-Deep-Research API 参考

本文介绍通过 DashScope API 调用 Qwen-Deep-Research 模型的输入与输出参数。

相关文档:深入研究(Qwen-Deep-Research)
Qwen-Deep-Research模型仅支持华北2(北京)地域,如需使用模型,请使用华北2(北京)地域的API Key
模型当前仅支持通过 Python DashScope SDK 调用,暂不支持 Java SDK 与 OpenAI 兼容接口。

DashScope

您需要已获取与配置 API Key配置API Key到环境变量。若通过DashScope SDK进行调用,需要安装DashScope SDK

请求体

modelstring(必选)模型名称。支持的模型:qwen-deep-research。messagesarray(必选)传递给大模型的上下文,按对话顺序排列。

消息类型

User Messageobject(必选)用户消息,用于向模型传递问题、指令或上下文。在 Qwen-Deep-Research 的两阶段调用流程中,用户消息起到不同作用:
  • 第一步(模型反问确认):用户消息用于发起初始的研究请求,提出一个较为宽泛的研究主题。
  • 第二步(深入研究):用户消息用于回答模型提出的澄清式问题,帮助模型聚焦研究方向,进行更具针对性的深入分析。
contentstring(必选)消息内容。rolestring(必选)系统消息的角色,固定为user。
Assistant Message object(可选)模型对用户消息的回复。在第二步(深入研究)的API调用中,此参数用以传入模型在第一步(反问确认)中返回的澄清式问题,作为对话历史的一部分,从而引导模型进行更具针对性的分析。contentstring(可选)消息内容。rolestring(必选)固定为assistant
output_formatstring(可选)指定输出研究报告的格式和详细程度。支持以下取值:
  • model_detailed_report(默认) 生成一份结构完整、内容详尽的深度研究报告,篇幅约6000 Token,适合需要全面深入分析的场景。
  • model_summary_report 生成一份核心观点突出、内容精炼的摘要式研究报告,篇幅约1500-2000 Token,适合快速了解关键信息和结论的场景。
Python
import os
import dashscope
# 以下为华北2(北京)地域的配置,调用时请将WorkspaceId替换为真实的业务空间ID,各地域的配置不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

# 第一步:模型反问确认
messages = [{'role': 'user', 'content': '研究一下人工智能在教育中的应用'}]

responses = dashscope.Generation.call(
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-deep-research",
    messages=messages,
    stream=True
)

# 获取模型反问内容
step1_content = ""
for response in responses:
    if hasattr(response, 'output') and response.output:
        message = response.output.get('message', {})
        content = message.get('content', '')
        if content:
            step1_content += content
            print(content, end='', flush=True)

# 第二步:深入研究
messages = [
    {'role': 'user', 'content': '研究一下人工智能在教育中的应用'},
    {'role': 'assistant', 'content': step1_content},
    {'role': 'user', 'content': '我主要关注个性化学习和智能评估这两个方面'}
]

responses = dashscope.Generation.call(
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-deep-research",
    messages=messages
)

# 流式输出研究结果
for response in responses:
    if hasattr(response, 'output') and response.output:
        message = response.output.get('message', {})
        content = message.get('content', '')
        if content:
            print(content, end='', flush=True)

响应对象

status_codestring本次请求的状态码。200 表示请求成功,否则表示请求失败。
调用失败会抛出异常,异常信息为status_codemessage的内容。
request_idstring本次调用的唯一标识符。codestring错误码,调用成功时为空值。
只有Python SDK返回该参数。
message string错误提示信息,调用成功时为空值。outputobject调用结果信息。
textstring该参数当前固定为nullfinish_reasonstring模型结束生成的原因。有以下情况:
  • 正在生成时为null
  • 模型输出自然结束为stop
  • 因生成长度过长而结束为length
choicesarray模型的输出信息。
finish_reasonstring有以下情况:
  • 正在生成时为null
  • 因模型输出自然结束为stop
  • 因生成长度过长而结束为length
messageobject模型输出的消息对象。
属性phasestring当前所处阶段,其中包含:
  • answer:反问确认与回答阶段;
  • ResearchPlanning:研究规划阶段
  • WebResearch:网络搜索阶段
  • KeepAlive:连接保持阶段
rolestring输出消息的角色,固定为assistantcontentstring模型的输出内容。extra array模型获取的网络搜索与参考信息。deep_researchobject仅在answerWebResearch阶段包含获取的网络搜索与参考信息,其余阶段均为null。researchobject模型的研究过程与内容信息。
researchGoalstring研究目标。querystring研究过程中的搜索内容。idinteger搜索的轮数*,*取值范围 [1-15]。learningMapobject从调用工具总结获取到的内容,和调用工具相关联。referencesobject模型生成答案所引用的内容,仅回答阶段包含此参数。
icon string参考内容URL的网页图标链接。index_number integer参考内容的索引。descriptionstring参考内容的简介。titlestring参考内容的网页标题。url string参考内容的网页URL。
webSitesobject模型研究过程中所参考的内容,仅网络搜索阶段包含此参数。
icon string参考内容URL的网页图标链接。index_number integer参考内容的索引。descriptionstring参考内容的简介。titlestring参考内容的网页标题。url string参考内容的网页URL。
statusstring模型输出过程中不同阶段的状态:
  • typing:正在生成该阶段内容。
  • finished:阶段已完成。
  • streamingQueries:正在生成研究目标和搜索查询
  • streamingWebResult:正在执行搜索、网页阅读和代码执行
  • WebResultFinished:网络搜索阶段完成
finishedboolean标识模型的内容流式输出是否已全部完成。有以下情况:
  • 内容仍在持续输出中为false
  • 内容已全部输出完毕,当前为最后一个响应为true
finished_reason string标识模型的内容流式输出结束的原因。有以下情况:
  • 正在生成时为null
  • 模型内容流式输出自然结束为stop
usageobject本次请求使用的Token信息。
input_tokens integer输入 Token 数。output_tokens integer输出 Token 数。
{
  "status_code": 200,
  "request_id": "2a6187f0-7e7b-40bb-a87e-xxx",
  "code": "",
  "message": "",
  "output": {
        "text": null,
        "finish_reason": null,
        "choices": null,
        "message": {
            "phase": "ResearchPlanning",
            "role": "assistant",
            "content": "",
            "extra": {
                "deep_research": {}
            },
            "status": "typing"
        },
        "fininshed": false,
        "fininshed_reason": "null"
    },
    "usage": {
        "input_tokens": 694,
        "output_tokens": 0
    },
    "request_id": "2a6187f0-7e7b-40bb-xxx"
}