Como o cache funciona
O cache opera por correspondência de prefixo: o sistema armazena tokens processados e os reutiliza quando requisições subsequentes começam com o mesmo conteúdo. Considere um chatbot com um prompt de sistema de 2.000 tokens:Requisição 1
Prompt de sistema (2.000 tokens) + mensagem do usuário (50 tokens)Processados: 2.050 tokens · Do cache: 0 tokensPrefixo gravado no cache.
Requisição 2
Prompt de sistema (2.000 tokens) + mensagem do usuário (80 tokens)Processados: 80 tokens · Do cache: 2.000 tokens
Modelos compatíveis e preços
Loading…
Claude Opus 4.5 cobra uma tarifa premium para cache writes ($7,50/1M de tokens vs. $6,00 do input regular). A primeira requisição que popula o cache custa mais, mas os acertos subsequentes economizam 90%. Outros modelos não cobram extra por cache writes.
Comportamento específico por provedor
A Venice normaliza o cache entre provedores. Para a maioria dos modelos, o cache é automático. Basta enviar suas requisições e verificar a resposta em busca de estatísticas de cache. O Claude exige marcadores explícitos de cache no nível do protocolo, mas a Venice os adiciona automaticamente para prompts de sistema e histórico de conversa. O comportamento de cache é, em última análise, controlado por cada provedor e pode mudar, então confira a documentação do provedor para os detalhes mais recentes.| Modelo | Provedor | Tokens mínimos | Vida útil do cache | Custo de write | Desconto de read | Marcadores explícitos |
|---|---|---|---|---|---|---|
| Claude Opus 4.5 | Anthropic | ~4.000 | 5 min | +25% | 90% | Obrigatórios |
| GPT-5.2 | OpenAI | 1.024 | 5-10 min | Nenhum | 90% | Não necessários |
| Gemini | ~1.024 | 1 hora | Nenhum | 75-90% | Não necessários | |
| Grok | xAI | ~1.024 | 5 min | Nenhum | 75-88% | Não necessários |
| DeepSeek | DeepSeek | ~1.024 | 5 min | Nenhum | 50% | Não necessários |
| MiniMax | MiniMax | ~1.024 | 5 min | Nenhum | 90% | Não necessários |
| Kimi | Moonshot | ~1.024 | 5 min | Nenhum | 50% | Não necessários |
Claude Opus 4.5 (Anthropic)
O Claude exige breakpoints explícitos de cache no nível do protocolo. A Venice lida com isso automaticamente:- Prompts de sistema são cacheados automaticamente
- Histórico de conversa é cacheado colocando um breakpoint na penúltima mensagem do usuário
| Turno | Tokens de prompt | Cache read | Cache write | Economia |
|---|---|---|---|---|
| 1 | 10.979 | 0 | 10.938 | Primeira gravação |
| 2 | 11.031 | 10.938 | 31 | 99,7% cacheado |
| 3 | 11.062 | 10.969 | 52 | 99,5% cacheado |
- Até 4 breakpoints por requisição: O sistema usa o prefixo correspondente mais longo
- Chave do cache é byte-exata: Mudanças de espaço em branco, codificações de imagem diferentes ou ferramentas reordenadas quebram acertos de cache
- Limites de taxa com consciência de cache: Tokens cacheados não contam contra seu limite ITPM, permitindo maior throughput efetivo
- Premium de 25% no write: A primeira requisição custa mais, mas há 90% de economia em leituras subsequentes
Controle manual de cache
Para casos especiais, como cachear um documento grande no primeiro turno, você pode adicionar breakpoints explícitos:Todos os outros modelos
O cache é automático. Não são necessários parâmetros especiais. Apenas garanta que seus prompts excedam ~1.024 tokens e useprompt_cache_key para roteamento consistente.
Parâmetros de requisição
| Parâmetro | Tipo | Modelos | Descrição |
|---|---|---|---|
prompt_cache_key | string | Todos | Dica de roteamento para afinidade de cache. Requisições com a mesma chave têm maior probabilidade de atingir o mesmo servidor com cache aquecido. |
cache_control | object | Claude | Marca blocos de conteúdo para cache. Veja a seção do Claude Opus 4.5. |
prompt_cache_key
Para conversas ou fluxos agênticos, use umprompt_cache_key consistente para melhorar as taxas de acerto:
Campos da resposta
O objetousage da resposta inclui estatísticas de cache:
| Campo | Descrição |
|---|---|
prompt_tokens | Total de tokens de entrada na requisição |
prompt_tokens_details.cached_tokens | Tokens servidos do cache (cobrados com desconto) |
prompt_tokens_details.cache_creation_input_tokens | Tokens gravados no cache (podem incorrer em premium no Claude) |
- 5.000 tokens cacheados × $0,60/1M = $0,003
- 500 tokens não cacheados × $6,00/1M = $0,003
- Total: $0,006 (vs. $0,033 sem cache, 82% de economia)
Melhores práticas
Estruture prompts para cache
Coloque conteúdo estático no início e conteúdo dinâmico no final. Boa estrutura| Posição | Conteúdo | Cacheado? |
|---|---|---|
| 1 | Instruções do sistema | Sim |
| 2 | Documentos de referência | Sim |
| 3 | Exemplos few-shot | Sim |
| 4 | Consulta do usuário | Não |
| Posição | Conteúdo | Cacheado? |
|---|---|---|
| 1 | Timestamp atual | Não (invalida tudo depois) |
| 2 | Instruções do sistema | Não |
| 3 | Consulta do usuário | Não |
Mantenha prefixos byte-idênticos
Chaves de cache são calculadas a partir de sequências de bytes exatas. Mesmo diferenças triviais quebram acertos:- Espaços em branco ou novas linhas diferentes
- Timestamps ou IDs de requisição em prompts
- Ordenação aleatória de exemplos few-shot
- Formatação diferente do mesmo conteúdo
Atinja os limites mínimos de tokens
Se seus prompts ficarem abaixo do mínimo (tipicamente 1.024 tokens), o cache não será ativado. Para prompts pequenos, considere:- Adicionar mais contexto ou exemplos para atingir o limite
- Agrupar várias requisições pequenas em prompts em lote
- Aceitar que o cache não se aplica para consultas simples
Use prompt_cache_key para conversas
Para conversas em andamento, defina umprompt_cache_key consistente:
Monitore o desempenho do cache
Acompanhe estas métricas:- Taxa de acerto do cache:
cached_tokens / prompt_tokens - Economia de custo: Compare custo real vs. custo sem cache
- Redução de latência: Tempo até o primeiro token com vs. sem acertos de cache
cached_tokens for consistentemente 0:
- Os prompts podem estar abaixo do limite mínimo de tokens
- Os prompts podem estar mudando entre requisições
- As requisições podem estar atingindo servidores diferentes (use
prompt_cache_key) - O cache pode ter expirado (requisições muito esparsas)
Considere a economia do cache
Premium de write do Claude Opus 4.5: A primeira requisição custa 25% mais, mas há 90% de economia em leituras subsequentes.| Cenário | O premium de write vale a pena? |
|---|---|
| 1 requisição com este prompt | Não (paga 25% a mais, sem benefício) |
| 2+ requisições com o mesmo prefixo | Sim (empate na 2ª requisição) |
| Prompts mudando rapidamente | Não (custos constantes de write) |
| Prompt de sistema estável, muitas queries | Sim (amortizado em muitas leituras) |
Vida útil do cache
Os caches expiram após um período de inatividade (tipicamente 5-10 minutos). Isso significa:| Padrão de tráfego | Benefício do cache |
|---|---|
| Requisições contínuas (gaps < 5 min) | Alto: o cache fica aquecido |
| Tráfego em rajadas (gaps > 10 min) | Limitado: o cache expira entre rajadas |
| Requisições esporádicas (com horas de intervalo) | Nenhum: o cache está sempre frio |
Cache com tools e functions
Definições de função podem ser cacheadas junto com prompts de sistema:Cache com imagens e documentos
Para modelos de visão, imagens podem ser incluídas no conteúdo cacheado:Solução de problemas
cached_tokens é sempre 0
cached_tokens é sempre 0
| Causa | Solução |
|---|---|
| Prompt muito curto | Garanta que o prompt excede ~1.024 tokens (4.000 para Claude) |
| Prefixo mudou | Verifique se há conteúdo dinâmico no início do seu prompt |
| Primeira requisição | Esperado: a primeira requisição grava no cache, requisições subsequentes leem |
| Cache expirou | Reduza o tempo entre requisições para menos de 5 minutos |
| Servidores diferentes | Adicione prompt_cache_key para rotear requisições de forma consistente |
cache_creation_input_tokens em toda requisição
cache_creation_input_tokens em toda requisição
| Causa | Solução |
|---|---|
| Prompt mudando | Remova timestamps, IDs de requisição ou outro conteúdo dinâmico do prefixo |
| cache_control ausente | Para Claude, garanta que o marcador cache_control esteja presente nos blocos de conteúdo |
| Abaixo do limite | Prompts abaixo da contagem mínima de tokens não acionam o cache |
| Mensagem única do usuário | Esperado para o primeiro turno. O cache cresce com o histórico da conversa. |
Custos mais altos que o esperado
Custos mais altos que o esperado
| Causa | Solução |
|---|---|
| Premium de cache write | O Claude cobra 25% a mais por writes. Só vale a pena se você reutilizar o prompt. |
| Baixo reuso | Se cada prompt é único, você paga custos de write sem benefícios de read |
| Estrutura ruim de prompt | Mova conteúdo dinâmico para o final para que o prefixo permaneça estável |