QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Perguntas frequentes sobre geração de texto

Perguntas comuns sobre streaming, gerenciamento de contexto, cache de contexto, saída estruturada, modo de pensar, chamada de função e lote.

<a id="streaming" />

Fluxo

** APIS:** [Compatível com OpenAI] (/api-reference/chat/openai-chat), [DashScope] (/api-reference/chat/dashscope)

Por que a transmissão para no meio da resposta?

Verifique seu representante ou infraestrutura.

Como eu acumulo pedaços de streaming em uma resposta completa?

** OpenAI compatível:** Set stream=True. Cada pedaço tem choices[0].delta.content. Concatene todos os não null content Valores. Obter o uso do token do último pedaço também definindo stream_options={"include_usage": True}.

** DashScope:** Set incremental_output=True. Cada pedaço contém apenas os novos símbolos (não a resposta completa até agora). Concatene-os em ordem. O uso de token está disponível em cada pedaço.

Para modelos que pensam antes de responderem (QwQ, Qwen3 com enable_thinking=True), os pedaços chegam em duas fases: primeiro reasoning_content, então content. Acumule cada um separadamente.

Quais modelos precisam ser transmitidos?

QwQ e QVQ estão apenas transmitindo. Chamando-os sem stream=True falha ou retorna uma resposta vazia. A maioria dos outros Qwen3 modelos funcionam em ambos os modos. Quando usar a função chamando com Qwen-Omni Modelos (qwen3.5-omni-plus, qwen3.5-omni-flash, qwen3-omni-flash), streaming é necessária apenas para a função chamada - outros usa suporte ambos os modos.


<a id="context-multi-turn" />

Contexto e multi-volta

** APIS:** [Conversas multi-vira] (/diretores-guias/corredores-e-escala/multi-turnos) [Cacheamento de contexto] (/diretores-guias/corredores-e-escala/contexto-cache)

Como funciona a conversa multi-volta?

A API é apátrida, não guarda história de conversa. Você mantém o messages Prepare-se. Depois de cada rodada, adicione a resposta do assistente e a próxima mensagem do usuário, então envie o conjunto completo com o próximo pedido.

A API de Respostas (/v2/apps/...) oferece um atalho: passe previous_response_id para link gira automaticamente sem gerenciar o array manualmente. As identificações de resposta expiram após 7 dias.

Como posso controlar a duração da conversa e evitar o excesso de fichas?

Estratégias comuns:

Monitor usage.prompt_tokens em cada resposta ao crescimento da trilha. Os limites de contexto variam de acordo com o modelo. Veja [Seleção do modelo] (/developer-guides/getting-started/model-selection).

O que é cache de contexto e quando devo usá-lo?

O cache de contexto armazena um prefixo de seu prompt., chamadas repetidas reutilizam-no com um preço de token reduzido. Existem três modos:

Modo Como permitir Preço de criação de cache Cache atingiu o preço. Mínimas fichas
Implícito. Automático, sem necessidade de configuração. Preço padrão de entrada 20% do preço de entrada. 256
Explicidade Adicionarcache_control: {type: ephemeral} Marcador 125% do preço de entrada. 10% do preço de entrada. 1024
Sessão Respostas API +x-dashscope-session-cache: enable cabeçalho 125% do preço de entrada. 10% do preço de entrada. 1024

Caching implícito se aplica automaticamente quando o modelo detecta um prefixo repetido. Os modos Explicito e Sessão cobram uma taxa de criação de cache quando o prefixo é escrito, e depois cobram as próximas batidas pelo preço do cache.

Caching explícito é útil quando você controla um grande e estável sistema prompt ou documento que é preparado para cada pedido. Caching de sessão é para fluxos de trabalho de API Responses.

As batidas de cache aparecem em usage.prompt_tokens_details.cached_tokens. Cache é por conta, por modelo, não compartilhado entre contas ou modelos.

A API mantém a memória de conversa automaticamente?

Não. A API é apátrida, não há memória incorporada. Você mantém o messages Prepare-se. Para memória persistente em sessões, guarde o histórico de conversas externamente e inclua histórico relevante em cada pedido.

- Faz o... QwenCloud Console salvar história de conversação Playground?

O QwenCloud O console exibe um máximo de 100 registros históricos de conversação, sem limite de tempo. Se você apagar manualmente alguns registros, o sistema automaticamente exibe os mais antigos. Conversas de sessões de julgamento enquanto ** não se registraram** ou aqueles que resultam em ** erros de inferência** não são salvos.


<a id="structured-output" />

Saída estruturada

** API:** [ saída estruturada] (/developer-guides/text-generation/structured-output)

Como faço para obter a saída do JSON de forma confiável?

Preparar. response_format={"type": "json_object"} e incluir a palavra "JSON" em seu prompt (por exemplo, "Retorne sua resposta como um objeto JSON com chaves ..."). O modelo é então restringido a produzir JSON válido.

Não se preparem. max_tokens - uma resposta truncada produz JSON inválido.

Por que o modelo produz texto extra antes ou depois do JSON?

Isso acontece quando o prompt não claramente instrui o modelo para produzir apenas JSON, ou quando response_format Não está pronto. Adicionar response_format={"type": "json_object"} E frase o prompt para que a saída esperada seja apenas JSON.

Se você precisa de saída estruturada de um modelo de pensamento (que não suporta response_format), recolher o texto de resposta completa, em seguida, ligar json.loads() - Pode deixar. Se isso levantar um JSONDecodeError, envie o texto bruto para um modelo rápido (por exemplo qwen3.5-flash) com response_format={"type": "json_object"} pedindo para consertar o JSON.


<a id="thinking-mode" />

Modo de pensar

** API:** [Modo de pensamento] (/developer-guides/text-generation/thinking)

O que é modo de pensar?

O modo de pensar faz o modelo raciocinar passo a passo antes de produzir sua resposta final. O raciocínio aparece em reasoning_contentA resposta aparece em content. Isso melhora a precisão em tarefas complexas, como matemática, codificação e raciocínio multi-passo, ao custo de mais fichas e maior latência.

Existem dois tipos de modelos pensantes:

Use /think Ou /no_think no início de uma mensagem do usuário para alternar por turno sem alterar os parâmetros de solicitação. Isso funciona apenas para modelos híbridos. Modelos só de pensamento. -thinking Não pode desativar o pensamento.

O modo de pensar requer transmissão?

Alguns modelos exigem stream=true Quando enable_thinking=true. Se uma chamada não-streaming retornar parameter.enable_thinking only support stream call, ou habilitar streaming ou definir enable_thinking=false.

Modelos só de pensamento (QwQ, QVQ) são apenas streaming, independentemente de configurações de pensamento. Veja [Que modelos requerem streaming?] (#streaming)

Para a API DashScope, também definida incremental_output=true Quando enable_thinking=true - caso contrário, a API retorna um erro.

Como pensar afeta faturar?

-Pensando em fichas.reasoning_content) são faturados pelo preço de saída. Preparar. thinking_budget Para uma contagem de fichas inteiras positiva para o raciocínio de cap; valores mais baixos reduzem o custo, mas podem reduzir a qualidade em problemas difíceis.

Processamento de lote aplica 50% de desconto em fichas de pensamento e resposta. Veja [Pricing] (/developer-guides/getting-started/pricing).

Posso me esconder do usuário final?

Sim. O reasoning_content O campo está separado de content. Você pode registrar ou descartar reasoning_content no servidor e envie apenas content Para usuários finais.

Quando a função chama com o pensamento ativado, você deve incluir reasoning_content nas mensagens subsequentes enviadas de volta para o modelo, omitindo-o degrada a precisão. Esta é uma preocupação interna que não afeta o que o usuário vê.


<a id="function-calling" />

Função chamando

*API: ** [Function chamando] (/developer-guides/tool-calling/function-calling)

Como eu chamo as funções locais sequencialmente por meio de chamadas de funções?

O laço padrão:

  1. Envie mensagens de usuário + definições de ferramentas.
  2. O modelo retorna um tool_calls Resposta: nenhuma resposta final ainda.
  3. Execute a função nomeada com os argumentos fornecidos.
  4. Anexe o resultado da ferramenta como um role: "tool" Mensagem.
  5. Ligue para o modelo de novo. Repita até não. tool_calls na resposta.
  6. A resposta final (não tool_calls) é a resposta.

Use parallel_tool_calls=True Só quando as tarefas são independentes. Para tarefas dependentes (input da ferramenta A depende da saída da ferramenta B), execute chamadas de ferramenta em série: após cada resultado da ferramenta, envie-a de volta para o modelo e espere pelo próximo tool_calls Resposta antes de executar a próxima ferramenta.

Qual é a diferença entre a função chamando e ferramentas integradas?

Chamada de funçãotools parâmetro) permite definir funções personalizadas que funcionam em sua aplicação. O modelo devolve uma instrução estruturada, seu código executa a função e retorna o resultado.

** Ferramentas construídas** (busca web, intérprete de código, busca de imagem) são fornecidas pela plataforma. Passe-os como definições de ferramentas usando seus valores específicos de tipo - nenhum código de execução personalizado necessário. Veja [Busca na Web] (/developer-guides/tool-calling/web-search), [Interpretador de código] (/developer-guides/tool-calling/code-interpreter).

Descrições de ferramentas contam como fichas de entrada e são faturadas como parte do prompt.

Posso ligar para duas funções locais sequencialmente através de uma chamada de função?

Sim, este é o laço padrão. Depois de receber um tool_calls Responder, executar a função, enviar o resultado de volta como um role: "tool" Mensagem, e ligue para o modelo novamente. O modelo retorna o próximo tool_calls Resposta. Repita até não. tool_calls Fique. Veja a função chamando loop acima.


<a id="batch" />

Lote

** API:** [Batch API] (/developer-guides/text-generation/batch)

Quando devo usar o lote contra pedidos em tempo real?

Use lotes para grandes cargas de trabalho off-line, processamento de documentos, anotação de dados, oleodutos de avaliação, onde algumas horas de latência são aceitáveis. Os pedidos de lote são cobrados a 50% do preço em tempo real.

Use pedidos em tempo real para casos interativos de uso onde usuários esperam pela resposta.

Quais são os limites de tamanho do lote?

Limite Valor
Pedidos por arquivo 50,000
Tamanho do arquivo 500 MB
Por linha, tamanho. 6 MB
Modelos por arquivo 1 (todos os pedidos devem usar o mesmo modelo)
Janela de conclusão 24 h - 336 h (14 dias)

Modelos apoiados: qwen-max, qwen-plus, qwen-flash, qwen3.5-flash.

Como eu recupero os resultados do lote?

  1. Procurem o status do lote a cada 1-2 minutos usando client.batches.retrieve(batch_id) (Python OpenAI SDK) ou o equivalente DashScope endpoint.
  2. Ciclo de vida da situação: validating → in_progress → finalizing → completed.
  3. Quando completed, baixar com client.files.content(output_file_id).
  4. Baixe o arquivo de erro (error_file_id) separadamente para qualquer pedido falhado.

Os resultados estão em JSONL. Cada linha de volta ao seu pedido original via custom_id.

O desconto em lote não é empilhado com cache de contexto ou outros descontos. Só pedidos bem sucedidos são cobrados.


<a id="models" />

Modelos

Quantas línguas o Qwen Suporte de modelos?

Qwen3.5 e Qwen3-VL Modelos de série suportam 33 idiomas, incluindo chinês, inglês, japonês, coreano, árabe, espanhol, francês, português, alemão, italiano, russo, vietnamita, tailandês e indonésio. Veja [Seleção de modelo] (/developer-guides/getting-started/model-selection) para detalhes específicos do modelo.

Como são armazenados os parâmetros de modelos de linguagem?

Modelos de código aberto podem ser baixados do ModelScope. Estrutura do modelo é definida em arquivos de configuração JSON, com pesos aprendidos armazenados como arquivos de dados vetoriais. Use bibliotecas Python como transformers para carregá-los e analisá-los.

Os modelos podem se integrar com bases de dados estruturadas como MySQL ou Colmeia?

Não através da API padrão. Para fluxos integrados de dados, use a função chamando para deixar o modelo gerar SQL, executá-lo em sua aplicação e retornar os resultados ao modelo.

Qual série de modelos faz qwen-plus-latest Pertencer a?

qwen-plus-latest Sempre aponta para a última versão de qwen-plus e pertence ao Qwen3 série, não o Qwen3.5 Ou Qwen3.7 Série. Observe que Qwen3.5, Qwen3.7E designações semelhantes são séries de modelos independentes que são paralelas a Qwen3, não sub-versões dele.

O que é alucinação modelo, e como eu reduzo?

Alucinação é quando um modelo gera conteúdo que é absurdo, factualmente incorreto, ou logicamente inconsistente, enquanto ainda soa plausível e fluente. Difere de erros factuais causados por dados de treinamento ultrapassados, opiniões subjetivas, ou conteúdo que você explicitamente pediu ao modelo para inventar (como uma história).

Para reduzir a alucinação:


<a id="api-sdk" />

API e SDK

Como eu vejo informações de código de erro?

Veja [Mensagens de erro] (/api-reference/preparation/error-messages) para a lista completa de códigos de erro, descrições e soluções recomendadas.

Como eu instalo o SDK?

QwenCloud suporta os SDKs DashScope (Python, Java) e OpenAI SDKs (Python, Node.js, Java, Go). Veja [Instalar SDK] (/api-reference/preparation/install-sdk).


<a id="rate-limits" />

Limites de taxa e desempenho

A velocidade da geração de texto é a mesma para todos os usuários?

Não. A velocidade de geração varia de acordo com a carga atual e a concordância. Velocidade não é configurável pelo usuário.

Quanto tempo devo esperar depois de atingir o limite de taxa?

O tempo de espera depende do seu limite de taxa (RPM/RPS). Por exemplo, um limite de 120 RPM (2 pedidos/segundo) significa que submeter 2 pedidos em 0,2 segundos irá acelerar o terceiro. Espere aproximadamente o restante daquele segundo antes de tentar novamente. Use retrocesso exponencial para robustez.