Requisições de inferência para modelos grandes frequentemente contêm entradas sobrepostas, como em conversas de múltiplos turnos ou séries de perguntas sobre o mesmo livro. O Context Cache reduz a computação redundante ao armazenar em cache o prefixo comum dessas requisições. Isso melhora a velocidade de resposta e diminui os custos de uso sem afetar a qualidade da resposta.
- Cache explícito: Modo ativado manualmente. Crie um cache para conteúdo específico e garanta um acerto determinístico dentro do período de validade de 5 minutos. Os tokens usados para criar o cache são geralmente cobrados a 125% do preço padrão do token de entrada, enquanto os acertos subsequentes no cache são cobrados a apenas 10% desse preço. Para preços específicos, consulte Faturamento.
- Cache implícito: Este modo automático não exige configuração extra e não pode ser desativado, sendo ideal para cenários que priorizam a conveniência. O sistema identifica automaticamente e armazena em cache o prefixo comum das requisições, mas a probabilidade de acerto não é garantida. A parte da entrada servida a partir do cache é geralmente cobrada a 20% do preço padrão do token de entrada. Para preços específicos, consulte Faturamento.
Item | Cache explícito | Cache implícito |
|---|---|---|
Impacto na qualidade da resposta | Nenhum | Nenhum |
Cobrança por tokens de criação de cache | Geralmente 125% do preço padrão do token de entrada | 100% do preço padrão do token de entrada |
Cobrança por tokens de entrada em cache | Geralmente 10% do preço padrão do token de entrada (consulte Faturamento) | Geralmente 20% do preço padrão do token de entrada (consulte Faturamento) |
Mínimo de tokens para cache | 1.024 | 256 |
Período de validade do cache | 5 minutos (reinicia após acerto) | Indeterminado. O sistema limpa periodicamente dados de cache antigos e não utilizados. |
Cache explícito
Diferentemente do cache implícito, o cache explícito exige criação manual e gera sobrecarga, mas oferece uma taxa de acerto maior e menor latência de acesso.
Como funciona
Adicione um marcador "cache_control": {"type": "ephemeral"} ao array messages. O sistema então busca retroativamente a partir de cada marcador cache_control e examina até 20 blocos content anteriores para encontrar um acerto de cache.
Uma única requisição suporta até quatro marcadores de cache.
-
Falha de cache
Se ocorrer uma falha de cache, o sistema cria um novo bloco de cache a partir do conteúdo entre o início do array messages e o marcador
cache_control. O novo bloco de cache tem um período de validade de 5 minutos.O sistema cria o cache após o modelo gerar uma resposta. Aguarde a conclusão da requisição de criação antes de tentar obter um acerto nesse cache.
Um bloco de cache contém pelo menos 1.024 tokens.
- Acerto de cache Se ocorrer um acerto de cache, o sistema seleciona o prefixo correspondente mais longo e redefine o período de validade do bloco de cache correspondente para 5 minutos.
- Envie a primeira requisição: Envie uma mensagem de sistema contendo o texto A (mais de 1.024 tokens) e adicione um marcador de cache:
- Se houver 20 ou menos "Outras mensagens", a requisição obtém um acerto no bloco de cache A, redefinindo seu período de validade para 5 minutos. O sistema também cria um novo bloco de cache baseado em A, nas outras mensagens e em B.
- Caso existam mais de 20 "Outras mensagens", a requisição falha no bloco de cache A. Ainda assim, o sistema cria um novo bloco de cache baseado no contexto completo (A, as outras mensagens e B).
Modelos suportados
- Singapore
- China (Beijing)
- Germany (Frankfurt)
- Hong Kong (China)
- Japan (Tokyo)
- US (Virginia)
Os modelos a seguir estão disponíveis no escopo de implantação International.Qwen Max: qwen3.8-max, qwen3.7-max, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08, qwen3.6-max-preview, qwen3-maxQwen Open-source: qwen3.8-2.4t-a95b, qwen3.8-27bQwen Plus: qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.5-plus, qwen3.5-plus-2026-04-20, qwen-plusQwen Flash: qwen3.8-flash, qwen3.7-flash, qwen3.7-flash-2026-07-15, qwen3.6-flash, qwen3.5-flash, qwen-flashQwen Coder: qwen3-coder-plus, qwen3-coder-flashQwen VL: qwen3-vl-plus, qwen3-vl-flashDeepSeek: deepseek-v3.2
Início rápido
Os exemplos a seguir demonstram os mecanismos de criação de bloco de cache e acerto de cache para protocolos compatíveis com OpenAI, DashScope e Anthropic.
- OpenAI compatible
- DashScope
- Anthropic compatible
cache_control ativa o cache explícito para o conteúdo simulado do repositório de código. Nas requisições subsequentes que consultam esse conteúdo, o sistema reutiliza o bloco de cache, eliminando a recomputação. Isso torna as requisições com acerto de cache mais rápidas e baratas do que a requisição inicial de criação de cache.
Controle refinado com múltiplos marcadores de cache
Em cenários complexos, um prompt geralmente consiste em várias partes com frequências de reutilização diferentes. Use múltiplos marcadores de cache para obter controle refinado.
Por exemplo, o prompt para um agente inteligente de atendimento ao cliente normalmente inclui:
- Persona do sistema: Altamente estável e raramente muda.
- Conhecimento externo: Obtido da base de conhecimento ou por meio de consultas a ferramentas, podendo não mudar durante uma única conversa.
- Histórico da conversa: Cresce dinamicamente.
- Pergunta atual: Diferente para cada requisição.
Faturamento
O cache explícito afeta apenas a cobrança dos tokens de entrada. As regras são as seguintes:
-
Criação de cache: O conteúdo usado para criar um novo cache é cobrado a 125% do preço padrão do token de entrada. Se o conteúdo para um novo cache incluir um cache existente como prefixo, apenas a parte incremental é cobrada pela criação do cache (ou seja, o número de novos tokens de cache menos o número de tokens de cache existentes).
Por exemplo, se você tem um cache existente de 1.200 tokens (Cache A) e usa uma nova requisição para armazenar 1.500 tokens de conteúdo (Conteúdo AB), os primeiros 1.200 tokens são cobrados como acerto de cache a 10% do preço padrão. Os novos 300 tokens são cobrados pela criação de cache a 125% do preço padrão.
O parâmetro
cache_creation_input_tokensespecifica o número de tokens usados para a criação do cache. -
Acerto de cache: Cobrado a 10% do preço padrão do token de entrada.
O parâmetro
cached_tokensespecifica o número de tokens em cache. - Outros tokens: Tokens que não representam nem um acerto de cache nem foram usados para criação de cache são cobrados ao preço padrão do token de entrada.
- Exceção: O preço de acerto de cache explícito para qwen3.8-max e qwen3.8-2.4t-a95b não é 10% do preço padrão do token de entrada. Para preços específicos, consulte o console do Model Studio. (O preço de criação de cache permanece 125% do preço padrão.)
Conteúdo armazenável em cache
Apenas os seguintes tipos de mensagem no array messages suportam a adição de marcadores de cache:
-
Mensagem de sistema
Para function calling, se uma requisição incluir o parâmetro
tools, a definição da ferramenta será incluída na mensagem de sistema para cálculo de cache. Definições de ferramentas não podem ser armazenadas em cache independentemente. Marcadores de cache adicionados a definições de ferramentas são ignorados, pois só podem ser adicionados ao conteúdo de uma mensagem. -
Mensagem de usuário
Ao criar um cache com o modelo
qwen3-vl-plus, posicione o marcadorcache_controlapós o conteúdo multimodal ou texto. Sua posição não afeta como toda a mensagem do usuário é armazenada em cache. - Mensagem de assistente
- Mensagem de ferramenta (resultado da execução da ferramenta)
content para um array e adicione o campo cache_control:
messages.
Limitações do cache
- O comprimento mínimo do prompt armazenável em cache é de 1.024 tokens.
-
O cache utiliza uma estratégia de correspondência de prefixo retroativa. Ocorre uma falha de cache se o conteúdo correspondente e a mensagem com o marcador
cache_controlestiverem separados por mais de 20 blocos de conteúdo. -
O
typesó pode ser definido comoephemeral, o que cria um cache com período de validade de 5 minutos. -
Uma única requisição suporta até quatro marcadores de cache.
Se mais de quatro marcadores de cache forem fornecidos, apenas os últimos quatro terão efeito.
Otimização de cache para Function Calling
Uma definição de ferramenta é serializada em uma string JSON para armazenamento em cache. Para evitar invalidação do cache, essa definição deve ser idêntica em todas as requisições. Observe o seguinte:
- Ordem consistente das ferramentas: A ordem das ferramentas no array
toolsdeve ser consistente em todas as requisições. - Ordem consistente dos campos: A ordem dos campos JSON dentro da mesma ferramenta deve ser consistente em todas as requisições.
- Estrutura consistente dos campos: Não omita nem adicione campos, mesmo que estejam vazios ou sejam opcionais.
Otimizando a estrutura de mensagens para chamadas paralelas de ferramentas
Ao usar chamadas paralelas de ferramentas, o modelo retorna múltiplos tool_calls em uma única resposta. Se você enviar cada resultado de ferramenta como uma mensagem tool separada, o número de blocos de conteúdo no array messages cresce rapidamente. Quando mais de 20 blocos de conteúdo separam o marcador cache_control de conteúdos anteriores, a janela de busca retroativa não consegue alcançar esses blocos anteriores, causando uma falha de cache.
Para resolver isso, mescle mensagens consecutivas de ferramenta com a mesma função em uma única mensagem tool com múltiplos blocos de conteúdo antes de enviar a próxima requisição. Isso reduz a contagem total de blocos de conteúdo e mantém o conteúdo que você deseja armazenar em cache dentro da janela de busca de 20 blocos.
Antes da otimização (mensagens de ferramenta separadas — menor taxa de acerto de cache):
cache_control em posições estáveis no array messages (por exemplo, na mensagem de sistema ou em outro conteúdo que muda com pouca frequência). Uma única requisição suporta até quatro marcadores de cache.
Exemplos de uso
Consultando um texto longo
Consultando um texto longo
Para garantir o desempenho do modelo, o sistema anexa alguns tokens internos. Esses tokens são cobrados ao preço padrão de entrada. Para mais informações, consulte o FAQ .
Armazenando ferramentas em cache para function calling
Armazenando ferramentas em cache para function calling
tools é armazenado como parte da mensagem de sistema. Garanta que a definição da ferramenta seja idêntica para cada requisição (incluindo ordem das ferramentas, ordem dos campos e estrutura dos campos) e adicione um sinalizador cache_control ao último content em messages.O fluxo completo é mostrado a seguir: a primeira requisição cria o cache e a segunda requisição obtém um acerto no cache.Conversa contínua de múltiplos turnos
Conversa contínua de múltiplos turnos