Pular para o conteúdo principal

Anthropic

Os modelos Anthropic oferecem suporte a cache de prompt explícito. Nesta plataforma, tanto o protocolo OpenAI chat/completions quanto o protocolo Anthropic v1/messages podem usar "cache_control": {"type": "ephemeral"} para especificar o conteúdo que deve ser armazenado em cache.
{
  "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 é um campo estendido por nós. Ele não está incluído no protocolo oficial do SDK da OpenAI, portanto precisa ser adicionado explicitamente ao fazer a chamada. É possível verificar a criação/acerto do cache pela resposta
{
  "prompt_tokens": 7039,
  "completion_tokens": 650,
  "total_tokens": 7689,
  "prompt_tokens_details": {
    "cached_tokens": 7019,
    "cache_creation_input_tokens": 7019,  # 👈 cache criado
    "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 lido
  }
}
⚠️⚠️⚠️ Para modelos Anthropic, os requisitos mínimos de Input Tokens para usar Prompt caching são os seguintes
  • Claude Opus 4.1, Claude Opus 4, Claude Sonnet 4.5, Claude Sonnet 4 e Claude Sonnet 3.7: 1024 tokens
  • Claude Haiku 4.5, Claude Haiku 3.5 e Claude Haiku 3: 2048 tokens

OpenAI e modelos compatíveis com OpenAI

Normalmente, esses modelos podem oferecer suporte a cache implícito. Quando o usuário acessa repetidamente o mesmo modelo usando o mesmo prefixo de prompt, há uma certa probabilidade de acerto de cache.
// Rodada 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?"
    }
  ]
}

// Rodada 2 - Documentação em cache
{
  "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?"
    }
  ]
}
Veja abaixo um exemplo de uso com acerto de cache
{
  "prompt_tokens": 3003,
  "completion_tokens": 1564,
  "total_tokens": 4567,
  "prompt_tokens_details": {
    "cached_tokens": 2025 # 👈 cache atingido
  }
}

Gemini

Atualmente, há suporte apenas a cache implícito. O cache implícito não exige configuração manual nem configuração adicional de cache_control. Quando o usuário acessa repetidamente o mesmo modelo usando o mesmo prefixo de prompt, há uma certa probabilidade de acerto de cache. Pontos de atenção
  • O TTL médio (tempo de vida do cache) é de 3 a 5 minutos, mas pode variar (por exemplo, pode ser de apenas alguns segundos)
  • Gemini 2.5 Flash exige uma entrada mínima de 1024 tokens, e Gemini 2.5 Pro exige um mínimo de 4096 tokens
Veja abaixo um exemplo de uso com acerto de cache:
{
  "prompt_tokens": 2004,
  "completion_tokens": 1564,
  "total_tokens": 3568,
  "prompt_tokens_details": {
    "cached_tokens": 1994 # 👈 cache atingido
  }
}
Para exemplos de entrada, basta consultar modelos OpenAI e modelos compatíveis com OpenAI.