Skip to Content

Caché de prompts

Prompt Caching permite almacenar en caché los prefijos de prompt reutilizados, reduciendo el consumo de tokens y la latencia de respuesta.

Funcionamiento

Cuando su solicitud contiene un system prompt largo y reutilizado o información de contexto:

  1. Primera solicitud — Se procesan todos los tokens y se almacena en caché el prefijo del prompt
  2. Solicitudes posteriores — Cuando hay acierto de caché, los tokens de la parte cacheada no se cobran nuevamente
  3. Expiración del caché — El caché tiene un TTL (generalmente 5-10 minutos); después de expirar, se requiere un nuevo almacenamiento en caché

Soporte de caché

Los recursos de modelos de OfoxAI son proporcionados por proveedores oficiales de nube como AWS Bedrock, Azure OpenAI, Google Cloud, Alibaba Cloud y Volcengine. Los modelos que soportan Prompt Caching en estos proveedores de nube también son soportados por OfoxAI.

Proveedor de nubeModelos representativosMecanismo de caché
AWS BedrockSerie ClaudePrompt Caching nativo
Azure OpenAISerie GPT-4oCaché automático
Google CloudSerie GeminiContext Caching
Alibaba CloudSerie QwenCaché de plataforma
VolcengineSerie DoubaoCaché de plataforma

El soporte de caché específico de cada modelo está sujeto a la documentación oficial de cada proveedor de nube. OfoxAI transmite los parámetros de caché de forma transparente, sin necesidad de configuración adicional.

Modo de uso

Protocolo OpenAI

El Prompt Caching de los modelos OpenAI es automático — se activa automáticamente cuando se detectan prefijos de prompt repetidos:

caching_openai.py
# El system prompt largo se almacena en caché automáticamente SYSTEM_PROMPT = """Eres el asistente de soporte técnico de OfoxAI. A continuación se muestra la información del producto que necesitas conocer: - OfoxAI es un LLM Gateway que soporta más de 100 modelos - Soporta los tres protocolos OpenAI / Anthropic / Gemini - ... (más conocimiento del producto omitido) """ # Primera solicitud: almacena el system prompt en caché response1 = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": "¿Qué modelos soporta OfoxAI?"} ] ) # Segunda solicitud: acierto de caché, más rápido y económico response2 = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "system", "content": SYSTEM_PROMPT}, # Acierto de caché {"role": "user", "content": "¿Cómo configurar Claude Code?"} ] )

Protocolo Anthropic

Los modelos Anthropic soportan control de caché explícito:

caching_anthropic.py
import anthropic client = anthropic.Anthropic( base_url="https://api.ofox.ai/anthropic", api_key="<su OFOXAI_API_KEY>" ) response = client.messages.create( model="anthropic/claude-sonnet-4.5", max_tokens=1024, system=[{ "type": "text", "text": "Eres un asistente profesional. A continuación la documentación del producto...", "cache_control": {"type": "ephemeral"} # Activar caché explícitamente }], messages=[{"role": "user", "content": "Resume las características del producto"}] ) # Ver el estado de acierto de caché print(f"Tokens de escritura en caché: {response.usage.cache_creation_input_tokens}") print(f"Tokens de acierto de caché: {response.usage.cache_read_input_tokens}")

Ahorro de costos

Tras un acierto de caché, los tokens de la parte cacheada se cobran a un precio reducido. El porcentaje de ahorro varía según el modelo:

  • Serie Anthropic Claude — Un acierto de caché puede ahorrar aproximadamente un 90% en costos de entrada
  • Serie OpenAI GPT — Un acierto de caché puede ahorrar aproximadamente un 50% en costos de entrada
  • Serie Google Gemini — Un acierto de caché puede ahorrar aproximadamente un 50-75% en costos de entrada

El porcentaje real de ahorro depende de la tasa de acierto de caché y las políticas de facturación de cada proveedor de nube. Consulte las estadísticas de uso en la consola de OfoxAI para más detalles.

Mejores prácticas

  1. Coloque el texto largo al principio — El system prompt y el contenido de la base de conocimientos que no cambia deben ir al inicio de los messages
  2. Mantenga el prefijo consistente — Solo los prefijos exactamente iguales pueden acertar el caché
  3. Diseñe la estructura del prompt adecuadamente — Separe las partes fijas de las partes variables
# Buen diseño: contenido fijo al principio, contenido variable al final messages = [ {"role": "system", "content": LONG_STATIC_PROMPT}, # Cacheable {"role": "user", "content": dynamic_question} # Parte variable ] # Mal diseño: contenido variable intercalado en el contenido fijo messages = [ {"role": "system", "content": f"Today is {date}. {LONG_PROMPT}"} # Diferente cada día, no cacheable ]

Los aciertos de caché se pueden consultar en el campo usage de la respuesta API, así como en las estadísticas de uso de la consola de OfoxAI.

Last updated on