Skip to main content
Mais Modelos

Referência da API Qwen-Deep-Research

Parâmetros de solicitação e resposta para chamar o modelo Qwen-Deep-Research pela API DashScope.

Documentação relacionada: Pesquisa profunda (Qwen-Deep-Research)
O Qwen-Deep-Research está disponível apenas na região China (Pequim). Use uma chave de API da região China (Pequim).
Atualmente, o modelo oferece suporte apenas ao SDK DashScope para Python. O SDK Java e a interface compatível com OpenAI não têm suporte.

DashScope

Antes de começar, obtenha uma chave de API e defina-a como variável de ambiente . Para usar o SDK DashScope, também instale o SDK .

Corpo da solicitação

Python
import os
import dashscope
# The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
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)
modelstring(Obrigatório)Valor aceito: qwen-deep-research.
messagesarray(Obrigatório)Histórico da conversa em ordem cronológica.

Tipos de mensagem

Mensagem do usuárioobject(Obrigatório)A mensagem do usuário envia perguntas, instruções ou contexto ao modelo. No fluxo de chamada em duas etapas do Qwen-Deep-Research, as mensagens do usuário têm finalidades distintas:
  • Etapa 1 (Pergunta de esclarecimento): A mensagem do usuário inicia a solicitação de pesquisa com um tópico amplo.
  • Etapa 2 (Pesquisa profunda): A mensagem do usuário responde à pergunta de esclarecimento do modelo para restringir o escopo da pesquisa e permitir uma análise mais direcionada.
contentstring(Obrigatório)Conteúdo da mensagem.rolestring(Obrigatório)Deve ser user.
Mensagem do assistente object(Opcional)Resposta do modelo a uma mensagem do usuário. Na Etapa 2 (Pesquisa profunda), transmita a pergunta de esclarecimento gerada na Etapa 1 para obter uma análise mais focada.contentstring(Opcional)Conteúdo da mensagem.rolestring(Obrigatório)Deve ser assistant.
output_formatstring(Opcional)Formato e nível de detalhe do relatório de pesquisa. Valores válidos:
  • model_detailed_report (Padrão) Relatório completo (~6.000 tokens) para análises aprofundadas.
  • model_summary_report Resumo conciso (~1.500–2.000 tokens) com as principais descobertas.

Objeto de resposta

{
  "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_codestringCódigo de status HTTP da solicitação. 200 indica sucesso; outros valores indicam erro.
Em caso de falha, a exceção lançada contém status_code e message.
request_idstringIdentificador exclusivo da solicitação.
codestringCódigo de erro. Este campo fica vazio em caso de sucesso.
Este parâmetro é retornado apenas pelo SDK Python.
message stringMensagem de erro. Este campo fica vazio em caso de sucesso.
outputobjectResultado da chamada.
textstringEste parâmetro é sempre null.finish_reasonstringMotivo pelo qual o modelo interrompeu a geração de conteúdo. Valores possíveis:
  • null: Geração em andamento.
  • stop: Geração concluída naturalmente.
  • length: Comprimento máximo de conteúdo atingido.
choicesarrayLista de opções de saída do modelo.
finish_reasonstringValores possíveis:
  • null: Geração em andamento.
  • stop: Geração concluída naturalmente.
  • length: Comprimento máximo de conteúdo atingido.
messageobjectObjeto de mensagem retornado pelo modelo.
PropriedadesphasestringFase atual. Valores possíveis:
  • answer
  • ResearchPlanning
  • WebResearch
  • KeepAlive
rolestringDeve ser assistant.contentstringConteúdo de saída gerado pelo modelo.extra arrayResultados de busca na web e referências coletadas pelo modelo.deep_researchobjectAs informações de busca na web e referências recuperadas aparecem apenas nas fases answer e WebResearch, sendo null nas demais fases.researchobjectDetalhes do processo de pesquisa.
researchGoalstringObjetivo da pesquisa.querystringConsulta de busca usada durante a pesquisa.idintegerNúmero da rodada de busca, no intervalo de [1, 15].learningMapobjectConteúdo resumido das chamadas de ferramentas, associado ao uso da ferramenta.referencesobjectCitações da resposta gerada. Este campo aparece apenas na fase Answer.
icon stringURL do favicon do conteúdo referenciado.index_number integerÍndice do conteúdo referenciado.descriptionstringBreve descrição do conteúdo referenciado.titlestringTítulo da página web referenciada.url stringURL do conteúdo referenciado.
webSitesobjectConteúdo referenciado durante a pesquisa. Incluído apenas na fase Web Research.
icon stringURL do favicon do conteúdo referenciado.index_number integerÍndice do conteúdo referenciado.descriptionstringBreve descrição do conteúdo referenciado.titlestringTítulo da página web do conteúdo referenciado.url stringURL do conteúdo referenciado.
statusstringStatus de uma fase específica durante o streaming:
  • typing: O modelo está gerando conteúdo para a fase atual.
  • finished: Fase atual concluída.
  • streamingQueries: O modelo está gerando objetivos de pesquisa e consultas de busca.
  • streamingWebResult: Busca na web, leitura de páginas e execução de código em andamento.
  • WebResultFinished: Fase de busca na web concluída.
fininshedbooleanIndica se o stream foi concluído. Valores possíveis:
  • false: Streaming em andamento.
  • true: Mensagem final.
fininshed_reason stringMotivo do término da saída em streaming. Valores possíveis:
  • null: Geração em andamento.
  • stop: Stream concluído normalmente.
usageobjectQuantidade de tokens usados nesta solicitação.
input_tokens integerNúmero de tokens de entrada.output_tokens integerNúmero de tokens de saída.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos