Zum Hauptinhalt springen

Anthropic

Anthropic-Modelle unterstützen explizites Prompt-Caching. Auf dieser Plattform kann unabhängig davon, ob das OpenAI-chat/completions-Protokoll oder das Anthropic-v1/messages-Protokoll verwendet wird, mit "cache_control": {"type": "ephemeral"} angegeben werden, welche Inhalte gecacht werden sollen.
{
  "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 ist ein von uns erweitertes Feld. Im offiziellen OpenAI-SDK-Protokoll ist diese Eigenschaft nicht enthalten und muss daher beim Aufruf explizit hinzugefügt werden. Über die Antwort lässt sich prüfen, ob der Cache erstellt bzw. getroffen wurde.
{
  "prompt_tokens": 7039,
  "completion_tokens": 650,
  "total_tokens": 7689,
  "prompt_tokens_details": {
    "cached_tokens": 7019,
    "cache_creation_input_tokens": 7019,  # 👈 Cache erstellt
    "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 gelesen
  }
}
⚠️⚠️⚠️ Für Anthropic-Modelle gelten bei Verwendung von Prompt-Caching die folgenden Mindestanforderungen an Input Tokens:
  • Claude Opus 4.1, Claude Opus 4, Claude Sonnet 4.5, Claude Sonnet 4 und Claude Sonnet 3.7: 1024 tokens
  • Claude Haiku 4.5, Claude Haiku 3.5 und Claude Haiku 3: 2048 tokens

OpenAI und OpenAI-kompatible Modelle

In der Regel unterstützen diese Modelle möglicherweise implizites Caching. Wenn Benutzer wiederholt mit demselben Prompt-Präfix auf dasselbe Modell zugreifen, besteht eine gewisse Wahrscheinlichkeit, dass der Cache getroffen wird.
// 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?"
    }
  ]
}
Im Folgenden ein Nutzungsbeispiel für einen Cache-Treffer:
{
  "prompt_tokens": 3003,
  "completion_tokens": 1564,
  "total_tokens": 4567,
  "prompt_tokens_details": {
    "cached_tokens": 2025 # 👈 Cache-Treffer
  }
}

Gemini

Derzeit wird nur implizites Caching unterstützt. Implizites Caching erfordert keine manuelle Einrichtung oder zusätzliche cache_control-Konfiguration. Wenn Benutzer wiederholt mit demselben Prompt-Präfix auf dasselbe Modell zugreifen, besteht eine gewisse Wahrscheinlichkeit, dass der Cache getroffen wird. Zu beachten:
  • Die durchschnittliche TTL (Cache-Lebensdauer) beträgt 3–5 Minuten, kann jedoch variieren (z. B. möglicherweise nur wenige Sekunden).
  • Gemini 2.5 Flash erfordert eine Mindesteingabe von 1024 tokens, Gemini 2.5 Pro eine Mindesteingabe von 4096 tokens.
Im Folgenden ein Nutzungsbeispiel für einen Cache-Treffer:
{
  "prompt_tokens": 2004,
  "completion_tokens": 1564,
  "total_tokens": 3568,
  "prompt_tokens_details": {
    "cached_tokens": 1994 # 👈 Cache-Treffer
  }
}
Als Eingabebeispiel kann auf OpenAI-Modelle und OpenAI-kompatible Modelle verwiesen werden.