全部產品
Search
文件中心

Alibaba Cloud Model Studio:Qwen-Deep-Research API 參考

更新時間:Dec 03, 2025

本文介紹通過 DashScope API 調用 Qwen-Deep-Research 模型的輸入與輸出參數。

相關文檔:深入研究(Qwen-Deep-Research)
重要

本文檔僅適用於中國大陸版(北京)。如需使用模型,需使用中國大陸版(北京)的API Key

說明

模型當前僅支援通過 Python DashScope SDK 調用,暫不支援 Java SDK 與 OpenAI 相容介面。

DashScope

您需要已擷取與配置 API Key配置API Key到環境變數(準備下線,併入配置 API Key)。若通過DashScope SDK進行調用,需要安裝DashScope SDK

請求體

Python

import os
import dashscope

# 第一步:模型反問確認
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)

curl

echo "第一步:模型反問確認"
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'X-DashScope-SSE: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "input": {
        "messages": [
            {
                "content": "研究一下人工智慧在教育中的應用", 
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

echo -e "\n\n" 
echo "第二步:深入研究"
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'X-DashScope-SSE: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "input": {
        "messages": [
            {
                "content": "研究一下人工智慧在教育中的應用", 
                "role": "user"
            },
            {
                "content": "請告訴我您希望重點研究人工智慧在教育中的哪些具體應用情境?", 
                "role": "assistant"
            },
            {
                "content": "我主要關注個人化學習方面", 
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

model string (必選)

模型名稱。支援的模型:qwen-deep-research。

messages array (必選)

傳遞給大模型的上下文,按對話順序排列。

訊息類型

User Message object(必選)

使用者訊息,用於向模型傳遞問題、指令或上下文。在 Qwen-Deep-Research 的兩階段調用流程中,使用者訊息起到不同作用:

  • 第一步(模型反問確認):使用者訊息用於發起初始的研究請求,提出一個較為寬泛的研究主題。

  • 第二步(深入研究):使用者訊息用於回答模型提出的澄清式問題,協助模型聚焦研究方向,進行更具針對性的深入分析。

屬性

content string(必選)

訊息內容。

role string (必選)

系統訊息的角色,固定為user。

Assistant Message object (可選)

模型對使用者訊息的回複。在第二步(深入研究)的API調用中,此參數用以傳入模型在第一步(反問確認)中返回的澄清式問題,作為對話歷史的一部分,從而引導模型進行更具針對性的分析。

content string (可選)

訊息內容。

role string (必選)

固定為assistant

output_format string (可選)

指定輸出研究報告的格式和詳細程度。支援以下取值:

  • model_detailed_report(預設) 產生一份結構完整、內容詳盡的深度研究報告,篇幅約6000 Token,適合需要全面深入分析的情境。

  • model_summary_report 產生一份核心觀點突出、內容精鍊的摘要式研究報告,篇幅約1500-2000 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"
}

網路搜尋階段

{
  "status_code": 200,
  "request_id": "2a6187f0-7e7b-40bb-a87e-xxx",
  "code": "",
  "message": "",
  "output": {
    "message": {
      "phase": "WebResearch",
      "role": "assistant",
      "content": "",
      "extra": {
        "deep_research": {
          "query": {
            "researchGoal": "通過尋找",
            "query": "",
            "id": 1
          }
        }
      },
      "status": "streamingQueries"
    },
    "fininshed": false,
    "fininshed_reason": "null"
  },
  "usage": {
    "input_tokens": 694,
    "output_tokens": 0
  }
}

串連保持階段

{
  "status_code": 200,
  "request_id": "2a6187f0-7e7b-40bb-a87e-xxx",
  "code": "",
  "message": "",
  "output": {
    "message": {
      "phase": "KeepAlive",
      "role": "assistant",
      "content": "",
      "extra": {
        "deep_research": {}
      },
      "status": "typing"
    },
    "fininshed": false,
    "fininshed_reason": "null"
  },
  "usage": {
    "input_tokens": 694,
    "output_tokens": 0
  }
}

反問確認與回答階段

{
  "status_code": 200,
  "request_id": "2a6187f0-7e7b-40bb-a87e-xxx",
  "code": "",
  "message": "",
  "output": {
    "message": {
      "phase": "answer",
      "role": "assistant",
      "content": ",這些承諾相互",
      "extra": {
        "deep_research": {
          "references": [
            {
              "icon": "",
              "index_number": 1,
              "description": "計劃中設想的兩個xxx從未在 ",
              "title": "歷史和背景| 聯合國 - the United Nations",
              "url": "https://www.un.org/xxx"
            }
          ]
        }
      },
      "status": "typing"
    },
    "fininshed": false,
    "fininshed_reason": "null"
  },
  "usage": {
    "input_tokens": 694,
    "output_tokens": 0
  }
}

status_code string

本次請求的狀態代碼。200 表示請求成功,否則表示請求失敗。

調用失敗會拋出異常,異常資訊為status_codemessage的內容。

request_id string

本次調用的唯一識別碼。

code string

錯誤碼,調用成功時為空白值。

只有Python SDK返回該參數。

message string

錯誤提示資訊,調用成功時為空白值。

output object

調用結果資訊。

屬性

text string

該參數當前固定為null

finish_reason string

模型結束產生的原因。有以下情況:

  • 正在產生時為null

  • 模型輸出自然結束為stop

  • 因產生長度過長而結束為length

choices array

模型的輸出資訊。

屬性

finish_reason string

有以下情況:

  • 正在產生時為null

  • 因模型輸出自然結束為stop

  • 因產生長度過長而結束為length

message object

模型輸出的訊息對象。

屬性

屬性

phase string

當前所處階段,其中包含:

  • answer:反問確認與回答階段;

  • ResearchPlanning:研究規劃階段

  • WebResearch:網路搜尋階段

  • KeepAlive:串連保持階段

role string

輸出訊息的角色,固定為assistant

content string

模型的輸出內容。

extra array

模型擷取的網路搜尋與參考資訊。

deep_research object

僅在answerWebResearch階段包含擷取的網路搜尋與參考資訊,其餘階段均為null。

research object

模型的研究過程與內容資訊。

屬性

researchGoal string

研究目標。

query string

研究過程中的搜尋內容。

id integer

搜尋的輪數取值範圍 [1-15]。

learningMap object

從調用工具總結擷取到的內容,和調用工具相關聯。

references object

模型產生答案所引用的內容,僅回答階段包含此參數。

屬性

icon string

參考內容URL的網頁表徵圖連結。

index_number integer

參考內容的索引。

description string

參考內容的簡介。

title string

參考內容的網頁標題。

url string

參考內容的網頁URL。

webSites object

模型研究過程中所參考的內容,僅網路搜尋階段包含此參數。

屬性

icon string

參考內容URL的網頁表徵圖連結。

index_number integer

參考內容的索引。

description string

參考內容的簡介。

title string

參考內容的網頁標題。

url string

參考內容的網頁URL。

status string

模型輸出過程中不同階段的狀態:

  • typing:正在產生該階段內容。

  • finished:階段已完成。

  • streamingQueries:正在產生研究目標和搜尋查詢

  • streamingWebResult:正在執行搜尋、網頁閱讀和代碼執行

  • WebResultFinished:網路搜尋階段完成

finished boolean

標識模型的內容流式輸出是否已全部完成。有以下情況:

  • 內容仍在持續輸出中為false

  • 內容已全部輸出完畢,當前為最後一個響應為true

finished_reason string

標識模型的內容流式輸出結束的原因。有以下情況:

  • 正在產生時為null

  • 模型內容流式輸出自然結束為stop

usage object

本次請求使用的Token資訊。

屬性

input_tokens integer

輸入 Token 數。

output_tokens integer

輸出 Token 數。