Saltar al contenido principal

Anthropic

Los modelos de Anthropic admiten caché de prompts explícito. En esta plataforma, tanto con el protocolo OpenAI chat/completions como con el protocolo Anthropic v1/messages, puedes usar "cache_control": {"type": "ephemeral"} para especificar el contenido que debe almacenarse en caché.
{
  "model": "claude-sonnet-4-5-20250929",
  "max_tokens": 4096,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "HUGE TEXT BODY",
          "cache_control": { "type": "ephemeral" }
        },
        {
          "type": "text",
          "text": "Name all the characters in the above book"
        }
      ]
    }
  ]
}
⚠️ cache_control es un campo ampliado por nosotros. El protocolo del SDK oficial de OpenAI no incluye esta propiedad, por lo que debes añadirla explícitamente al realizar la llamada. Puedes verificar la creación o el acierto de caché mediante la respuesta.
{
  "prompt_tokens": 7039,
  "completion_tokens": 650,
  "total_tokens": 7689,
  "prompt_tokens_details": {
    "cached_tokens": 7019,
    "cache_creation_input_tokens": 7019,  # 👈 cache created
    "cache_read_input_tokens": 0
  }
}
---
{
  "prompt_tokens": 7042,
  "completion_tokens": 572,
  "total_tokens": 7614,
  "prompt_tokens_details": {
    "audio_tokens": 0,
    "cached_tokens": 7019,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 7019 # 👈 cache read
  }
}
⚠️⚠️⚠️ Para los modelos de Anthropic, los requisitos mínimos de Input Tokens para usar Prompt caching son los siguientes:
  • Claude Opus 4.1, Claude Opus 4, Claude Sonnet 4.5, Claude Sonnet 4 y Claude Sonnet 3.7 requieren 1024 tokens
  • Claude Haiku 4.5, Claude Haiku 3.5 y Claude Haiku 3 requieren 2048 tokens

OpenAI y modelos compatibles con OpenAI

Por lo general, estos modelos pueden admitir caché implícito. Cuando el usuario accede repetidamente al mismo modelo usando el mismo prefijo de Prompt, existe cierta probabilidad de que se produzca un acierto de caché.
// Round 1
{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "HUGE TEXT BODY: Complete API documentation, code style guide, best practices (5000+ lines)"
    },
    {
      "role": "user",
      "content": "How do I authenticate API requests?"
    }
  ]
}

// Round 2 - Documentation cached
{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "HUGE TEXT BODY: Complete API documentation, code style guide, best practices (5000+ lines)"
    },
    {
      "role": "user",
      "content": "How do I authenticate API requests?"
    },
    {
      "role": "assistant",
      "content": "Use Bearer token in Authorization header..."
    },
    {
      "role": "user",
      "content": "What about rate limiting?"
    }
  ]
}
A continuación se muestra un ejemplo de uso con acierto de caché:
{
  "prompt_tokens": 3003,
  "completion_tokens": 1564,
  "total_tokens": 4567,
  "prompt_tokens_details": {
    "cached_tokens": 2025 # 👈 cache hitted
  }
}

Gemini

Actualmente solo se admite caché implícito. El caché implícito no requiere configuración manual ni una configuración adicional de cache_control. Cuando el usuario accede repetidamente al mismo modelo usando el mismo prefijo de Prompt, existe cierta probabilidad de que se produzca un acierto de caché. Ten en cuenta lo siguiente:
  • El TTL promedio (tiempo de vida de la caché) es de 3 a 5 minutos, pero puede variar (por ejemplo, podría ser de solo unos segundos)
  • Gemini 2.5 Flash requiere una entrada mínima de 1024 tokens, y Gemini 2.5 Pro requiere un mínimo de 4096 tokens
A continuación se muestra un ejemplo de uso con acierto de caché:
{
  "prompt_tokens": 2004,
  "completion_tokens": 1564,
  "total_tokens": 3568,
  "prompt_tokens_details": {
    "cached_tokens": 1994 # 👈 cache hitted
  }
}
Para ver un ejemplo de entrada, basta con consultar modelos de OpenAI y modelos compatibles con OpenAI.