Cache de prompt
O cache de prompt permite reduzir a latência geral da solicitação e o custo para prompts mais longos que têm conteúdo idêntico no início do prompt. "Prompt", neste contexto, refere-se à entrada que você envia para o modelo como parte de sua solicitação de conclusão de chat. Em vez de reprocessar os mesmos tokens de entrada repetidamente, o modelo é capaz de reter um cache temporário de dados de entrada processados para melhorar o desempenho geral. O cache de prompt não tem impacto no conteúdo de saída retornado na resposta do modelo, além de uma redução na latência e no custo. Para modelos suportados, os tokens armazenados em cache são cobrados com um desconto de 50% no preço do token de entrada.
Modelos suportados
Atualmente, apenas os seguintes modelos suportam cache de prompt com o Azure OpenAI:
o1-preview-2024-09-12
o1-mini-2024-09-12
gpt-4o-2024-05-13
gpt-4o-2024-08-06
gpt-4o-mini-2024-07-18
Suporte de API
O suporte oficial para cache de prompt foi adicionado pela primeira vez na versão 2024-10-01-preview
API. No momento, apenas o1-preview-2024-09-12
e o1-mini-2024-09-12
modelos suportam o parâmetro de resposta da cached_tokens
API.
Introdução
Para que uma solicitação aproveite o cache de prompt, a solicitação deve ser ambas:
- Um mínimo de 1.024 tokens de comprimento.
- Os primeiros 1.024 tokens no prompt devem ser idênticos.
Quando uma correspondência é encontrada entre um prompt e o conteúdo atual do cache de prompt, ela é chamada de acerto de cache. Os acessos ao cache aparecerão como cached_tokens
abaixo prompt_token_details
na resposta de conclusão do chat.
{
"created": 1729227448,
"model": "o1-preview-2024-09-12",
"object": "chat.completion",
"service_tier": null,
"system_fingerprint": "fp_50cdd5dc04",
"usage": {
"completion_tokens": 1518,
"prompt_tokens": 1566,
"total_tokens": 3084,
"completion_tokens_details": {
"audio_tokens": null,
"reasoning_tokens": 576
},
"prompt_tokens_details": {
"audio_tokens": null,
"cached_tokens": 1408
}
}
}
Após os primeiros 1.024 tokens de hits de cache ocorrerão para cada 128 tokens idênticos adicionais.
Uma única diferença de caracteres nos primeiros 1.024 tokens resultará em uma falha de cache, que é caracterizada por um cached_tokens
valor de 0. O cache de prompt é habilitado por padrão, sem necessidade de configuração adicional para modelos suportados.
O que é armazenado em cache?
Os modelos da série o1 são apenas texto e não suportam mensagens do sistema, imagens, uso de ferramentas/chamadas de função ou saídas estruturadas. Isso limita a eficácia do cache de prompt para esses modelos para as partes de usuário/assistente da matriz de mensagens que são menos propensas a ter um prefixo de token 1024 idêntico.
Para gpt-4o
e gpt-4o-mini
modelos, o cache de prompt é suportado para:
Cache suportado | Descrição |
---|---|
Mensagens | A matriz completa de mensagens: conteúdo do sistema, do usuário e do assistente |
Imagens | Imagens incluídas em mensagens do usuário, como links ou como dados codificados em base64. O parâmetro detail deve ser definido da mesma forma entre as solicitações. |
Utilização da ferramenta | A matriz de mensagens e as definições da ferramenta |
Resultados estruturados | O esquema de saída estruturado é anexado como um prefixo à mensagem do sistema |
Para melhorar a probabilidade de ocorrência de acertos de cache, você deve estruturar suas solicitações de modo que o conteúdo repetitivo ocorra no início da matriz de mensagens.
Posso desativar o cache de prompt?
O cache de prompt está habilitado por padrão. Não existe uma opção de autoexclusão.
Como funciona o cache de prompt para implantações provisionadas?
Para modelos suportados em implantações provisionadas, descontamos até 100% dos tokens de entrada armazenados em cache. Para obter mais informações, consulte nossa documentação de taxa de transferência provisionada.