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"
}