Skip to Content

Cached Contents

Administre cachés de contexto explícitos (cachedContents) a través del protocolo nativo de Gemini: cachee de forma activa un gran contexto como un objeto y referéncielo entre solicitudes para obtener aciertos deterministas y menor costo. OfoxAI es compatible con el Google GenAI SDK.

Para los escenarios de uso, la diferencia con el caché implícito y las mejores prácticas, consulte la Guía de caché explícito de Gemini. Esta página es la referencia de la API a nivel de endpoint.

Endpoints

POST https://api.ofox.ai/gemini/v1beta/cachedContents # Crear GET https://api.ofox.ai/gemini/v1beta/cachedContents/{id} # Consultar DELETE https://api.ofox.ai/gemini/v1beta/cachedContents/{id} # Eliminar

Para referenciar un caché en la generación de contenido, use el endpoint estándar generateContent con un campo cachedContent en el cuerpo:

POST https://api.ofox.ai/gemini/v1beta/models/{model}:generateContent

Autenticación

Use el header x-goog-api-key:

x-goog-api-key: <su OFOXAI_API_KEY>

Campos del recurso

Campos principales del recurso CachedContent:

CampoTipoDescripción
namestring (solo lectura)Identificador del caché, con la forma cachedContents/{id}, devuelto al crear
modelstring (obligatorio, inmutable)Modelo al que está vinculado el caché, p. ej. models/gemini-3.1-pro-preview
contentsarrayContenido a cachear (misma estructura que el contents de generateContent)
systemInstructionobjectInstrucción de sistema a cachear (opcional)
toolsarrayDefiniciones de herramientas a cachear (opcional)
ttlstringTiempo de vida, una cadena de segundos (p. ej. "600s"); mutuamente excluyente con expireTime
expireTimestringMarca de tiempo de expiración (RFC 3339); mutuamente excluyente con ttl
displayNamestring (inmutable)Nombre personalizado (opcional)
usageMetadata.totalTokenCountintegerNúmero de tokens cacheados (usado para la facturación)

Rango de TTL soportado: mínimo / por defecto 600s (10 minutos), máximo 3600s (1 hora).

Crear un caché

create.py
from google import genai from google.genai import types client = genai.Client( api_key="<su OFOXAI_API_KEY>", http_options={"api_version": "v1beta", "base_url": "https://api.ofox.ai/gemini"}, ) cache = client.caches.create( model="google/gemini-3.1-pro-preview", config=types.CreateCachedContentConfig( contents=[open("knowledge_base.txt").read()], system_instruction="Respondes basándote estrictamente en el documento proporcionado.", ttl="600s", display_name="kb-v1", ), ) print(cache.name) # cachedContents/xxxxxxxx print(cache.usage_metadata.total_token_count)

Respuesta

{ "name": "cachedContents/xxxxxxxx", "model": "google/gemini-3.1-pro-preview", "createTime": "2026-06-26T08:00:00Z", "updateTime": "2026-06-26T08:00:00Z", "expireTime": "2026-06-26T08:10:00Z", "displayName": "kb-v1", "usageMetadata": { "totalTokenCount": 14407 } }

Consultar / Eliminar

Consultar y eliminar no requieren model; OfoxAI localiza el upstream a partir del identificador del caché.

manage.py
# Consultar uno info = client.caches.get(name=cache.name) print(info.expire_time) # Eliminar client.caches.delete(name=cache.name)

Referenciar un caché para generar

Agregue un campo cachedContent al cuerpo de generateContent para referenciar el caché; contents solo lleva la nueva pregunta de este turno:

use.py
response = client.models.generate_content( model="google/gemini-3.1-pro-preview", contents="Basándote en el documento anterior, resume tres puntos clave", config=types.GenerateContentConfig(cached_content=cache.name), ) print(response.text) print(response.usage_metadata.cached_content_token_count) # tokens de caché acertados

En un acierto, el usageMetadata.cachedContentTokenCount de la respuesta muestra cuántos tokens provienen del caché.

Facturación

EtapaFórmula
Crear cachétotalTokenCount × tarifa cache_write
Acierto por referenciacachedContentTokenCount × tarifa cache_read (~0.10x del precio estándar de entrada)
Nuevo contenido por referenciaEl nuevo prompt / salida del turno se cobra a tarifas estándar

Los precios unitarios cache_write / cache_read de cada modelo están en el catálogo de modelos .

OfoxAI balancea la carga entre múltiples proyectos de GCP, y los cachés explícitos son region-scoped (vinculados a la región). OfoxAI fija automáticamente de forma rígida las referencias de vuelta al upstream que creó el caché, con cero deriva; un identificador de caché solo puede ser referenciado / consultado / eliminado por la API Key que lo creó (el acceso entre cuentas devuelve 403). Consulte Guía de caché explícito · Enrutamiento determinista.

Documentación relacionada

Last updated on