Skip to main content

Qwen-Deep-Research API リファレンス

DashScope API を介して Qwen-Deep-Research モデルを呼び出す際の、リクエストとレスポンスのパラメーターです。

関連ドキュメント: ディープリサーチ (Qwen-Deep-Research)
Qwen-Deep-Research は、中国 (北京) リージョンでのみ利用可能です。API キーは、中国 (北京) リージョンのものを使用する必要があります。
現在、このモデルは Python DashScope SDK のみをサポートしています。Java SDK と OpenAI 互換インターフェイスはサポートされていません。

DashScope

開始する前に、API キーを取得し、環境変数として設定してください。DashScope SDK を使用するには、SDK をインストールする必要もあります。

リクエストボディ

modelstring(必須)サポートされている値: qwen-deep-research。messagesarray(必須)時系列順の会話履歴です。

メッセージタイプ

ユーザーメッセージobject(必須)ユーザーメッセージは、モデルに質問、指示、またはコンテキストを送信するものです。Qwen-Deep-Research の 2 段階の呼び出しフローでは、ユーザーメッセージは異なる目的を果たします:
  • ステップ 1 (確認質問): ユーザーメッセージで、広範なトピックの調査リクエストを開始します。
  • ステップ 2 (ディープリサーチ): ユーザーメッセージで、モデルの確認質問に回答し、より的を絞った分析のためにモデルの調査範囲を絞り込みます。
content文字列(必須)メッセージのコンテンツ。ロール文字列(必須)user である必要があります。
アシスタントメッセージ オブジェクト(任意)ユーザーメッセージに対するモデルの返信。ステップ 2 (ディープリサーチ) では、ステップ 1 でのモデルからの確認質問を渡すことで、より的を絞った分析を生成します。content文字列(任意)メッセージのコンテンツ。ロール文字列(必須)assistant である必要があります。
output_format文字列(任意)調査レポートのフォーマットと詳細レベル。有効な値:
  • model_detailed_report (デフォルト) 詳細な分析用の完全なレポート (約 6,000 トークン)。
  • model_summary_report 主要な調査結果をまとめた簡潔な要約 (約 1,500~2,000 トークン)。
Python
import os
import dashscope
# これは、中国 (北京) リージョンの設定です。呼び出しの際は、WorkspaceId を実際のワークスペース ID に置き換えてください。各リージョンの設定は異なります。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

# ステップ 1: モデルから確認質問を取得します。
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)

# ステップ 2: ディープリサーチを開始します。
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_code文字列リクエストの HTTP ステータスコードです。 200 は成功を示し、その他の値はエラーを示します。
失敗した場合、スローされる例外には status_code と message が含まれます。
request_id文字列リクエストの一意の識別子。コード文字列エラーコード。成功した場合、このフィールドは空です。
このパラメーターは Python SDK でのみ返されます。
メッセージ 文字列エラーメッセージ。成功した場合、このフィールドは空です。出力オブジェクト呼び出しの結果。
テキスト文字列このパラメーターは常に null です。finish_reason文字列モデルがコンテンツの生成を停止した理由。指定可能な値:
  • null: 生成が進行中です。
  • stop:生成が自然に終了しました。
  • length:最大コンテンツ長に達しました。
選択肢アレイモデルからの出力選択肢のリスト。
finish_reason文字列指定可能な値:
  • null:生成中です。
  • stop: 生成が自然に終了しました。
  • length: 最大コンテンツ長に達しました。
メッセージオブジェクトモデルからのメッセージオブジェクト。
プロパティフェーズ文字列現在のフェーズ。指定可能な値:
  • answer
  • ResearchPlanning
  • WebResearch
  • KeepAlive
ロール文字列assistant である必要があります。コンテンツ文字列モデルからの出力コンテンツ。追加 配列モデルが収集した Web 検索結果と参照。deep_researchオブジェクト取得されたウェブ検索および参照情報は、answer および WebResearch ステージにのみ含まれ、他のすべてのステージでは null です。調査 object調査プロセスの詳細。
researchGoal文字列調査目標。querystring調査中に使用された検索クエリ。id整数検索ラウンド番号。範囲は [1, 15] です。learningMapオブジェクトツール呼び出しから要約されたコンテンツです。ツールの使用状況に関連付けられています。参照オブジェクト生成された回答の引用元。このフィールドは回答フェーズでのみ表示されます。
アイコン 文字列参照コンテンツのファビコン URL。index_number 整数参照コンテンツのインデックス。説明文字列参照コンテンツの簡単な説明。タイトル文字列参照された Web ページのタイトル。url 文字列参照コンテンツの URL。
webSitesオブジェクト調査中に参照されたコンテンツ。Web 調査フェーズにのみ含まれます。
アイコン 文字列参照コンテンツのファビコン URL。index_number 整数参照コンテンツのインデックス。説明文字列参照コンテンツの簡単な説明。タイトル文字列参照されたWebページのタイトル。url 文字列参照コンテンツの URL。
ステータス文字列ストリーミング中における各フェーズのステータス:
  • typing: モデルが現在のフェーズのコンテンツを生成中です。
  • finished: 現在のフェーズは完了しています。
  • streamingQueries: モデルがリサーチ目標と検索クエリを生成しています。
  • streamingWebResult: Web 検索、ページの読み取り、およびコードの実行が進行中です。
  • WebResultFinished: Web 検索フェーズが完了したことを示します。
完了booleanストリームが完了したかどうか。指定可能な値:
  • false: ストリーミング進行中。
  • true: 最終メッセージ。
fininshed_reason 文字列ストリーミング出力が終了した理由。指定可能な値:
  • null: 生成が進行中です。
  • stop: ストリームが正常に完了しました。
使用法objectこのリクエストでのトークン使用数。
input_tokens 整数入力トークンの数。output_tokens 整数出力トークンの数。
{
  "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"
        },
        "finished": false,
        "finished_reason": "null"
    },
    "usage": {
        "input_tokens": 694,
        "output_tokens": 0
    },
    "request_id": "2a6187f0-7e7b-40bb-xxx"
}