All Products
Search
Document Center

Alibaba Cloud Model Studio:Referensi API Qwen-Deep-Research

Last Updated:Sep 09, 2026

Parameter permintaan dan respons untuk memanggil model Qwen-Deep-Research melalui API DashScope.

Dokumentasi terkait: Deep research (Qwen-Deep-Research)

PentingQwen-Deep-Research hanya tersedia di wilayah China (Beijing). Anda harus menggunakan API key dari wilayah China (Beijing).

CatatanModel ini saat ini hanya mendukung SDK DashScope Python. SDK Java dan antarmuka yang kompatibel dengan OpenAI tidak didukung.

DashScope

Sebelum memulai, dapatkan API key dan tetapkan sebagai variabel lingkungan. Untuk menggunakan SDK DashScope, Anda juga harus menginstal SDK.

Request body

modelstring(Required)

Nilai yang didukung: qwen-deep-research.

messagesarray(Required)

Riwayat percakapan, dalam urutan kronologis.

Jenis pesan

Pesan penggunaobject(Required)

Pesan pengguna mengirimkan pertanyaan, instruksi, atau konteks ke model. Dalam alur pemanggilan dua langkah Qwen-Deep-Research, pesan pengguna memiliki tujuan berbeda:

  • Langkah 1 (Pertanyaan klarifikasi): Pesan pengguna memulai permintaan penelitian dengan topik umum.
  • Langkah 2 (Penelitian mendalam): Pesan pengguna menjawab pertanyaan klarifikasi model untuk mempersempit cakupan penelitian guna analisis yang lebih terarah.

Bidang

contentstring(Required)

Isi pesan.

rolestring(Required)

Harus berupa user.

Pesan asisten object(Opsional)

Balasan model terhadap pesan pengguna. Untuk Langkah 2 (Penelitian mendalam), sertakan pertanyaan klarifikasi model dari Langkah 1 agar menghasilkan analisis yang lebih terarah.

contentstring(Opsional)

Isi pesan.

rolestring(Required)

Harus berupa assistant.

output_formatstring(Opsional)

Format dan tingkat detail laporan penelitian. Nilai yang valid:

  • model_detailed_report (Default): Laporan lengkap (~6.000 token) untuk analisis mendalam.
  • model_summary_report: Ringkasan singkat (~1.500–2.000 token) dengan temuan utama.
import os
import dashscope
# 以下为华北2(北京)地域的配置,调用时请将WorkspaceId替换为真实的业务空间ID,各地域的配置不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

# Step 1: Get the clarifying question from the model.
messages = [{'role': 'user', 'content': 'Research the applications of artificial intelligence in education'}]

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

# Collect the model's clarifying question.
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)

# Step 2: Start the deep research.
messages = [
    {'role': 'user', 'content': 'Research the applications 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
)

# Stream the research results.
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)
echo "Step 1: Get the clarifying question"
curl --location 'https://{WorkspaceId}.cn-beijing.maas.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 applications of artificial intelligence in education",
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

echo -e "\n\n"
echo "Step 2: Start the deep research"
curl --location 'https://{WorkspaceId}.cn-beijing.maas.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 applications of artificial intelligence in education",
                "role": "user"
            },
            {
                "content": "What specific application scenarios of artificial intelligence in education would you like me to focus on?",
                "role": "assistant"
            },
            {
                "content": "I want to focus on personalized learning.",
                "role": "user"
            }
        ]
    },
    "model": "qwen-deep-research"
}'

Response object

status_codestring

Kode status HTTP untuk permintaan. 200 menunjukkan keberhasilan; nilai lain menunjukkan kesalahan.

Jika gagal, exception yang dilempar berisi status_code dan message.

request_idstring

Pengidentifikasi unik untuk permintaan.

codestring

Kode kesalahan. Bidang ini kosong jika berhasil.

Parameter ini hanya dikembalikan oleh SDK Python.

message string

Pesan kesalahan. Bidang ini kosong jika berhasil.

outputobject

Hasil pemanggilan.

Bidang

textstring

Parameter ini selalu null.

finish_reasonstring

Alasan model berhenti menghasilkan konten. Nilai yang mungkin:

  • null: Generasi sedang berlangsung.
  • stop: Generasi berakhir secara alami.
  • length: Panjang konten maksimum telah tercapai.

choicesarray

Daftar pilihan output dari model.

Bidang

finish_reasonstring

Nilai yang mungkin:

  • null: Generasi sedang berlangsung.
  • stop: Generasi berakhir secara alami.
  • length: Panjang konten maksimum telah tercapai.

messageobject

Objek pesan dari model.

Bidang

Properties

phasestring

Fase saat ini. Nilai yang mungkin:

  • answer
  • ResearchPlanning
  • WebResearch
  • KeepAlive

rolestring

Harus berupa assistant.

contentstring

Konten output dari model.

extra array

Hasil pencarian web dan referensi yang dikumpulkan oleh model.

deep_researchobject

Informasi pencarian web dan referensi yang diambil hanya disertakan pada tahap answer dan WebResearch, dan bernilai null pada semua tahap lainnya.

researchobject

Detail proses penelitian.

Bidang

researchGoalstring

Tujuan penelitian.

querystring

Kueri pencarian yang digunakan selama penelitian.

idinteger

Nomor putaran pencarian, dalam rentang [1, 15].

learningMapobject

Konten yang dirangkum dari pemanggilan tool, terkait dengan penggunaan tool tersebut.

referencesobject

Kutipan untuk jawaban yang dihasilkan. Bidang ini hanya muncul pada Fase Jawaban.

Bidang

icon string

URL favicon untuk konten yang dirujuk.

index_number integer

Indeks konten yang dirujuk.

descriptionstring

Deskripsi singkat konten yang dirujuk.

titlestring

Judul halaman web yang dirujuk.

url string

URL konten yang dirujuk.

webSites object

Konten yang dirujuk selama penelitian. Hanya disertakan dalam Fase Penelitian Web.

Bidang

icon string

URL favicon dari konten yang dirujuk.

index_number integer

Indeks konten yang dirujuk.

description string

Deskripsi singkat konten yang dirujuk.

title string

Judul halaman web dari konten yang dirujuk.

url string

URL konten yang dirujuk.

statusstring

Status fase tertentu selama streaming:

  • typing: Model sedang menghasilkan konten untuk fase saat ini.
  • finished: Fase saat ini telah selesai.
  • streamingQueries: Model sedang menghasilkan tujuan penelitian dan kueri pencarian.
  • streamingWebResult: Pencarian web, pembacaan halaman, dan eksekusi kode sedang berlangsung.
  • WebResultFinished: Fase pencarian web telah selesai.

finished boolean

Menunjukkan apakah aliran telah selesai. Nilai yang mungkin:

  • false: Streaming sedang berlangsung.
  • true: Pesan terakhir.

fininshed_reason string

Alasan keluaran streaming berakhir. Nilai yang mungkin:

  • null: Generasi sedang berlangsung.
  • stop: Aliran selesai secara normal.

usageobject

Jumlah token yang digunakan dalam permintaan ini.

Bidang

input_tokens integer

Jumlah token input.

output_tokens integer

Jumlah token output.

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