すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:Qwen-Deep-Research API リファレンス

最終更新日:Dec 04, 2025

このトピックでは、DashScope API を使用して Qwen-Deep-Research モデルへの API 呼び出しを行うための入力および出力パラメーターについて説明します。

詳細については、「ディープリサーチ (Qwen-Deep-Research)
重要

このドキュメントは 中国 (北京) リージョンにのみ適用されます。モデルを使用するには、中国 (北京) リージョンの API キー を使用する必要があります。

説明

現在、このモデルは Python DashScope SDK を使用してのみ呼び出すことができます。Java SDK および OpenAI 互換インターフェイスはサポートされていません。

DashScope

開始する前に、API キーを取得して設定し、API キーを環境変数として設定する必要があります。DashScope SDK を使用してモデルを呼び出すには、DashScope SDK をインストールする必要もあります。

リクエストボディ

Python

import os
import dashscope

# ステップ 1: モデルが確認のためにフォローアップの質問をします
messages = [{'role': 'user', 'content': 'Research the application of artificial intelligence in education'}]

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)

# ステップ 2: ディープリサーチを実行します
messages = [
    {'role': 'user', 'content': 'Research the application of artificial intelligence in education'},
    {'role': 'assistant', 'content': step1_content},
    {'role': 'user', 'content': 'I want to focus on personalized learning and intelligent assessment.'}
]

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 "ステップ 1: モデルが確認のためにフォローアップの質問をします"
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": "Research the application of artificial intelligence in education", 
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

echo -e "\n\n" 
echo "ステップ 2: ディープリサーチを実行します"
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": "Research the application of artificial intelligence in education", 
                "role": "user"
            },
            {
                "content": "Which specific scenarios of AI in education do you want to focus on?", 
                "role": "assistant"
            },
            {
                "content": "I want to focus on personalized learning.", 
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

model string (必須)

モデルの名前。このパラメーターを qwen-deep-research に設定します。

messages array (必須)

大規模言語モデル (LLM) のコンテキストを会話順に配置します。

メッセージタイプ

ユーザーメッセージ object (必須)

ユーザーメッセージは、モデルに質問、命令、またはコンテキストを提供します。ユーザーメッセージの目的は、Qwen-Deep-Research の 2 段階の呼び出しフローのステップによって異なります。

  • ステップ 1 (モデルのフォローアップ質問): ユーザーメッセージは、広範なリサーチトピックでリサーチリクエストを開始します。

  • ステップ 2 (ディープリサーチ): ユーザーメッセージは、モデルの明確化のための質問に対する回答を提供します。これにより、モデルはリサーチの焦点を絞り、より的を絞った分析を実行できます。

プロパティ

content string (必須)

メッセージのコンテンツ。

role string (必須)

メッセージのロール。値を user に設定します。

アシスタントメッセージ object (任意)

ユーザーメッセージに対するモデルからの応答。ステップ 2 (ディープリサーチ) の API 呼び出しでは、このパラメーターはステップ 1 (モデルのフォローアップ質問) でモデルから返された明確化のための質問を渡します。この情報は会話履歴の一部となり、モデルがより的を絞った分析を実行するための指針となります。

content string (任意)

メッセージのコンテンツ。

role string (必須)

assistant に設定します。

output_format string (任意)

出力されるリサーチレポートのフォーマットと詳細レベルを指定します。有効な値は次のとおりです。

  • model_detailed_report (デフォルト): モデルは、約 6,000 トークンの完全で詳細なディープリサーチレポートを生成します。このフォーマットは、包括的で詳細な分析が必要なシナリオに適しています。

  • model_summary_report: モデルは、キーポイントをハイライトした約 1,500〜2,000 トークンの簡潔なサマリーレポートを生成します。このフォーマットは、主要な情報と結論を迅速に理解する必要があるシナリオに適しています。

レスポンスオブジェクト

リサーチ計画フェーズ

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

Web 検索フェーズ

{
  "status_code": 200,
  "request_id": "2a6187f0-7e7b-40bb-a87e-xxx",
  "code": "",
  "message": "",
  "output": {
    "message": {
      "phase": "WebResearch",
      "role": "assistant",
      "content": "",
      "extra": {
        "deep_research": {
          "query": {
            "researchGoal": "By searching",
            "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": ", these promises are mutual",
      "extra": {
        "deep_research": {
          "references": [
            {
              "icon": "",
              "index_number": 1,
              "description": "The two xxx envisioned in the plan were never in ",
              "title": "History and Background | United Nations - 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: Web 検索フェーズ。

  • KeepAlive: 持続的接続フェーズ。

role string

出力メッセージのロール。値は assistant に固定されています。

content string

モデルからの出力コンテンツ。

extra array

モデルによって取得された Web 検索および参照情報。

deep_research object

Web 検索および参照情報が含まれます。このパラメーターは、answer および WebResearch フェーズでのみ返されます。他のフェーズでは、このパラメーターの値は null です。

research object

モデルのリサーチプロセスとコンテンツに関する情報。

プロパティ

researchGoal string

リサーチの目標。

query string

リサーチプロセス中に使用される検索コンテンツ。

id integer

検索ラウンド。値の範囲は 1〜15 です。

learningMap object

ツール呼び出しから要約されたコンテンツ。このパラメーターはツール呼び出しに関連付けられています。

references object

モデルが応答を生成するために参照したコンテンツ。このパラメーターは answer フェーズでのみ返されます。

プロパティ

icon string

参照された URL のファビコンへのリンク。

index_number integer

参照のインデックス。

description string

参照の簡単な説明。

title string

参照の Web ページのタイトル。

url string

参照 Web ページの URL。

webSites object

リサーチプロセス中にモデルが参照するコンテンツ。このパラメーターは Web 検索フェーズでのみ返されます。

プロパティ

icon string

参照された URL のファビコンへのリンク。

index_number integer

参照のインデックス。

description string

参照の簡単な説明。

title string

参照の Web ページのタイトル。

url string

参照 Web ページの URL。

status string

モデルの出力プロセスにおけるさまざまなフェーズのステータス。

  • typing: このフェーズのコンテンツが生成中です。

  • finished: フェーズは完了です。

  • streamingQueries: リサーチ目標と検索クエリが生成中です。

  • streamingWebResult: 検索、Web ページの読み取り、コードの実行が進行中です。

  • WebResultFinished: Web 検索フェーズは完了です。

finished boolean

モデルのコンテンツのストリーミング出力が完了したかどうかを示します。有効な値は次のとおりです。

  • false: コンテンツはまだストリーミング中です。

  • true: すべてのコンテンツが出力されました。これが最終的な応答です。

finished_reason string

モデルのコンテンツのストリーミング出力が終了した理由を示します。有効な値は次のとおりです。

  • 生成中、値は null です。

  • stop: モデルのコンテンツのストリーミング出力が自然に停止しました。

usage object

このリクエストで使用されたトークンに関する情報。

プロパティ

input_tokens integer

入力トークンの数。

output_tokens integer

出力トークンの数。