Cache de prompt Copiar página
Reduza a latência e os custos com cache rápido.
Os prompts de modelo geralmente contêm conteúdo repetitivo, como prompts de sistema e
instruções comuns. O OpenAI encaminha solicitações de API para servidores que processaram
recentemente o mesmo prompt, tornando-o mais barato e rápido do que processar um prompt do
zero. Isso pode reduzir a latência em até 80% e o custo em 50% para prompts longos. O Prompt
Caching funciona automaticamente em todas as suas solicitações de API (sem necessidade de
alterações de código) e não tem taxas adicionais associadas a ele.
O cache de prompt está habilitado para os seguintes modelos :
MODELO CUSTO DE ENTRADA DE TEXTO CUSTO DE ENTRADA DE ÁUDIO
gpt-4.5-prévia 50% menos n/D
gpt-4o (exclui gpt-4o-2024-05-13 e chatgpt-4o-latest) 50% menos n/D
gpt-4o-mini 50% menos n/D
gpt-4o-visualização-em-tempo-real 50% menos 80% menos
o1-prévia 50% menos n/D
o1-mini 50% menos n/D
Este guia descreve em detalhes como o cache de prompts funciona, para que você possa otimizar
seus prompts para menor latência e custo.
Estruturação de prompts
Os acertos de cache só são possíveis para correspondências exatas de prefixo dentro de um
prompt. Para obter benefícios de cache, coloque conteúdo estático, como instruções e exemplos, no
início do seu prompt, e coloque conteúdo variável, como informações específicas do usuário, no
final. Isso também se aplica a imagens e ferramentas, que devem ser idênticas entre as solicitações.
Como funciona
O cache é habilitado automaticamente para prompts que são 1024 tokens ou mais. Quando você faz
uma solicitação de API, as seguintes etapas ocorrem:
Consulta de cache : o sistema verifica se a parte inicial (prefixo) do seu prompt está
armazenada no cache.
Cache Hit : Se um prefixo correspondente for encontrado, o sistema usa o resultado em cache.
Isso diminui significativamente a latência e reduz os custos.
Cache Miss : Se nenhum prefixo correspondente for encontrado, o sistema processa seu
prompt completo. Após o processamento, o prefixo do seu prompt é armazenado em cache para
solicitações futuras.
Prefixos em cache geralmente permanecem ativos por 5 a 10 minutos de inatividade. No entanto,
durante períodos fora de pico, os caches podem persistir por até uma hora.
Requisitos
O cache está disponível para prompts contendo 1024 tokens ou mais, com acertos de cache
ocorrendo em incrementos de 128 tokens. Portanto, o número de tokens em cache em uma
solicitação sempre cairá dentro da seguinte sequência: 1024, 1152, 1280, 1408 e assim por diante,
dependendo do comprimento do prompt.
Todas as solicitações, incluindo aquelas com menos de 1024 tokens, exibirão um cached_tokens
campo do usage.prompt_tokens_details objeto Chat Completions indicando quantos dos tokens de
prompt foram um cache hit. Para solicitações abaixo de 1024 tokens, cached_tokens será zero.
1 "usage": {
2 "prompt_tokens": 2006,
3 "completion_tokens": 300,
4 "total_tokens": 2306,
5 "prompt_tokens_details": {
6 "cached_tokens": 1920
7 },
8 "completion_tokens_details": {
9 "reasoning_tokens": 0,
10 "accepted_prediction_tokens": 0,
11 "rejected_prediction_tokens": 0
12 }
13 }
O que pode ser armazenado em cache
Mensagens: O conjunto completo de mensagens, abrangendo interações do sistema, do
usuário e do assistente.
Imagens: Imagens incluídas em mensagens de usuário, como links ou como dados codificados
em base64, assim como várias imagens podem ser enviadas. Certifique-se de que o parâmetro
detail esteja definido de forma idêntica, pois ele impacta a tokenização de imagem.
Uso da ferramenta: Tanto o conjunto de mensagens quanto a lista de disponíveis tools podem
ser armazenados em cache, contribuindo para o requisito mínimo de 1024 tokens.
Saídas estruturadas: O esquema de saída estruturada serve como um prefixo para a
mensagem do sistema e pode ser armazenado em cache.
Melhores práticas
Estruture os prompts com conteúdo estático ou repetido no início e conteúdo dinâmico no final.
Monitore métricas como taxas de acerto de cache, latência e a porcentagem de tokens
armazenados em cache para otimizar sua estratégia de prompt e cache.
Para aumentar os acessos ao cache, use prompts mais longos e faça solicitações de API fora
dos horários de pico, pois as remoções de cache são mais frequentes durante os horários de
pico.
Prompts que não foram usados recentemente são removidos automaticamente do cache. Para
minimizar remoções, mantenha um fluxo consistente de solicitações com o mesmo prefixo de
prompt.
Perguntas frequentes
Como a privacidade dos dados é mantida para caches?
Os caches de prompt não são compartilhados entre organizações. Somente membros da
mesma organização podem acessar caches de prompts idênticos.
O Prompt Caching afeta a geração de tokens de saída ou a resposta final da API?
O Prompt Caching não influencia a geração de tokens de saída ou a resposta final fornecida
pela API. Independentemente de o cache ser usado, a saída gerada será idêntica. Isso ocorre
porque apenas o prompt em si é armazenado em cache, enquanto a resposta real é computada
novamente a cada vez com base no prompt armazenado em cache.
Existe uma maneira de limpar o cache manualmente?
A limpeza manual do cache não está disponível no momento. Prompts que não foram
encontrados recentemente são limpos automaticamente do cache. Remoções típicas de cache
ocorrem após 5 a 10 minutos de inatividade, embora às vezes durem até no máximo uma hora
durante períodos de menor movimento.
Será que terei que pagar mais por escrever no Prompt Caching?
Não. O armazenamento em cache acontece automaticamente, sem necessidade de nenhuma
ação explícita ou custo extra pago para usar o recurso de armazenamento em cache.
Os prompts armazenados em cache contribuem para os limites de taxa do TPM?
Sim, pois o cache não afeta os limites de taxa.
O desconto para Prompt Caching está disponível no Scale Tier e na Batch API?
O desconto para Prompt Caching não está disponível na Batch API, mas está disponível no
Scale Tier. Com o Scale Tier, quaisquer tokens que forem espalhados para a API compartilhada
também serão elegíveis para cache.
O Prompt Caching funciona em solicitações de retenção zero de dados?
Sim, o Prompt Caching está em conformidade com as políticas existentes de Retenção Zero de
Dados.