Em um fluxo de trabalho de IA típico, é possível transmitir os mesmos tokens de entrada várias vezes para um modelo. Com o recurso de armazenamento em cache de contexto da API Gemini, é possível transmitir algum conteúdo para o modelo uma vez, armazenar os tokens de entrada em cache e consultá-los para as próximas solicitações. Em determinados volumes, usar tokens em cache tem um custo menor (e pode ter uma latência menor) do que transmitir o mesmo corpus de tokens repetidamente.
Ao armazenar um conjunto de tokens em cache, é possível escolher por quanto tempo você quer que o cache exista antes que os tokens sejam excluídos automaticamente. Essa duração de armazenamento em cache é chamada de time to live (TTL). O custo de armazenamento em cache depende do tamanho do token de entrada e por quanto tempo você quer que os tokens persistam.
O armazenamento em cache de contexto tem suporte ao Gemini 1.5 Pro e ao Gemini 1.5 Flash.
Quando usar o armazenamento em cache de contexto
O armazenamento em cache do contexto é particularmente adequado para cenários em que um contexto inicial substancial é referenciado repetidamente por solicitações mais curtas. Considere usar o armazenamento em cache de contexto para casos de uso como estes:
- Chatbots com instruções detalhadas do sistema
- Análise repetitiva de arquivos de vídeo longos
- Consultas recorrentes em grandes conjuntos de documentos
- Análise frequente do repositório de código ou correção de bugs
Como o armazenamento em cache reduz custos
O armazenamento em cache de contexto é um recurso pago projetado para reduzir os custos operacionais gerais. O faturamento é baseado nos seguintes fatores:
- Contagem de tokens de cache:o número de tokens de entrada armazenados em cache, faturados a uma taxa reduzida quando incluídos nas solicitações subsequentes.
- Duração do armazenamento:a quantidade de tempo que os tokens em cache ficam armazenados (TTL), cobrados por hora. Não há limites mínimos ou máximos no TTL.
- Outros fatores: outras cobranças se aplicam, como tokens de entrada e tokens de saída não armazenados em cache.
Para conferir detalhes atualizados, consulte a página de preços da API Gemini. Para saber como contar tokens, consulte o guia de tokens.
Como usar o armazenamento em cache de contexto
Esta seção pressupõe que você instalou um SDK do Gemini e configurou uma chave de API, conforme mostrado no quickstart.
Outras considerações
Ao usar o armazenamento em cache de contexto, tenha em mente as seguintes considerações:
- A contagem mínima de tokens de entrada para armazenamento em cache de contexto é 32.768, e a máxima é a mesma que a máxima para o modelo especificado. Para saber mais sobre a contagem de tokens, consulte o Guia de tokens.
- É possível definir o time to live (TTL) do cache, conforme mostrado no código de exemplo. Se ela não for definida, o TTL será definido como uma hora por padrão.
- O modelo não faz distinção entre tokens em cache e tokens de entrada regulares. O conteúdo em cache é simplesmente um prefixo do prompt.
- O serviço de armazenamento em cache fornece uma operação de exclusão para remover manualmente conteúdo do cache. Para mais detalhes, consulte a documentação do SDK de sua preferência.
- Para o nível pago, não há limites especiais de taxa ou de uso no armazenamento em cache
de contexto. Os limites de taxa padrão para
GenerateContent
são aplicados e os limites de token incluem tokens em cache. Para o nível sem custo financeiro, há um limite de armazenamento de 1 milhão de tokens para o Gemini 1.5 Flash, e o armazenamento em cache não está disponível para o Gemini 1.5 Pro. - Não é possível recuperar ou visualizar conteúdo armazenado em cache, mas é possível recuperar os metadados (
name
,display_name
,model
, bem como os tempos de criação, atualização e expiração). - É possível definir um novo
ttl
ouexpire_time
. Não é possível alterar outras coisas no conteúdo em cache. - O número de tokens em cache é retornado em
usage_metadata
das operações de criação, recebimento e listagem do serviço de cache, e também emGenerateContent
ao usar o cache.