En un flujo de trabajo de IA típico, puedes pasar los mismos tokens de entrada una y otra vez a un modelo. La API de Gemini ofrece dos mecanismos de almacenamiento en caché diferentes:
- Almacenamiento en caché implícito (automático, sin garantía de ahorro de costos)
- Almacenamiento en caché explícito (manual, garantía de ahorro de costos)
El almacenamiento en caché implícito está habilitado de forma predeterminada en los modelos Gemini 2.5. Si una solicitud contiene contenido que es un acierto de caché, te reenviamos automáticamente el ahorro de costos.
La caché explícita es útil en los casos en los que deseas garantizar ahorros en costos, pero con un trabajo adicional del desarrollador.
Almacenamiento en caché implícito
El almacenamiento en caché implícito está habilitado de forma predeterminada para todos los modelos de Gemini 2.5. Transferimos automáticamente los ahorros de costos si tu solicitud llega a las cachés. No es necesario que realices ninguna acción para habilitar esta función. Entrará en vigencia el 8 de mayo de 2025. El recuento mínimo de tokens de entrada para la caché de contexto es de 1,024 para Flash 2.5 y de 2,048 para Flash 2.5 Pro.
Para aumentar las probabilidades de un acierto de caché implícito, haz lo siguiente:
- Intenta colocar contenido grande y común al comienzo de la instrucción.
- Intenta enviar solicitudes con un prefijo similar en un período breve.
Puedes ver la cantidad de tokens que fueron hits de caché en el campo usage_metadata
del objeto de respuesta.
Almacenamiento en caché explícito
Con la función de almacenamiento en caché explícita de la API de Gemini, puedes pasar cierto contenido al modelo una vez, almacenar en caché los tokens de entrada y, luego, consultar los tokens almacenados en caché para las solicitudes posteriores. En ciertos volúmenes, usar tokens almacenados en caché tiene un costo más bajo que pasar el mismo corpus de tokens de forma reiterada.
Cuando almacenas en caché un conjunto de tokens, puedes elegir durante cuánto tiempo quieres que la caché exista antes de que los tokens se borren automáticamente. Esta duración de almacenamiento en caché se llama tiempo de actividad (TTL). Si no se establece, el TTL se establece de forma predeterminada en 1 hora. El costo de la caché depende del tamaño del token de entrada y de la cantidad de tiempo que desees que permanezcan los tokens.
En esta sección, se supone que instalaste un SDK de Gemini (o tienes instalado curl) y que configuraste una clave de API, como se muestra en la guía de inicio rápido.
Cuándo usar el almacenamiento en caché explícito
La caché de contexto es particularmente adecuada para situaciones en las que se hace referencia a un contexto inicial sustancial de forma reiterada a través de solicitudes más cortas. Considera usar el almacenamiento en caché de contexto para casos de uso como los siguientes:
- Chatbots con instrucciones del sistema extensas
- Análisis repetitivo de archivos de video largos
- Consultas recurrentes en conjuntos de documentos grandes
- Análisis frecuentes del repositorio de código o corrección de errores
Cómo la caché explícita reduce los costos
La caché de contexto es una función pagada diseñada para reducir los costos operativos generales. La facturación se basa en los siguientes factores:
- Cantidad de tokens almacenados en caché: Es la cantidad de tokens de entrada almacenados en caché, que se facturan a una tarifa reducida cuando se incluyen en instrucciones posteriores.
- Duración del almacenamiento: Es la cantidad de tiempo que se almacenan los tokens en caché (TTL) y se factura en función de la duración del TTL del recuento de tokens en caché. No hay límites mínimos ni máximos para el TTL.
- Otros factores: Se aplican otros cargos, como los de tokens de entrada y salida que no están almacenados en caché.
Para obtener detalles actualizados sobre los precios, consulta la página de precios de la API de Gemini. Para aprender a contar tokens, consulta la Guía de tokens.
Consideraciones adicionales
Ten en cuenta las siguientes consideraciones cuando uses la caché de contexto:
- El recuento de tokens de entrada mínimo para la caché de contexto es de 1,024 para Flash 2.5 y de 2,048 para 2.5 Pro. El máximo es el mismo que el máximo del modelo determinado. (Para obtener más información sobre cómo contar tokens, consulta la Guía de tokens).
- El modelo no hace ninguna distinción entre los tokens almacenados en caché y los tokens de entrada normales. El contenido almacenado en caché es un prefijo de la instrucción.
- No hay límites de frecuencia ni de uso especiales en la caché de contexto. Se aplican los límites de frecuencia estándar para
GenerateContent
, y los límites de tokens incluyen los tokens almacenados en caché. - La cantidad de tokens almacenados en caché se muestra en
usage_metadata
desde las operaciones de creación, obtención y lista del servicio de caché, y también enGenerateContent
cuando se usa la caché.