Prompt-Caching
Prompt Caching ermöglicht das Zwischenspeichern wiederholt verwendeter Prompt-Präfixe, um den Token-Verbrauch und die Antwortlatenz zu reduzieren.
Funktionsweise
Wenn Ihre Anfrage einen längeren, wiederholt verwendeten System-Prompt oder Kontextinformationen enthält:
- Erste Anfrage — Alle Tokens werden vollständig verarbeitet und der Prompt-Präfix wird gecacht
- Folgende Anfragen — Bei Cache-Treffer werden die gecachten Tokens nicht erneut berechnet
- Cache-Ablauf — Der Cache hat eine begrenzte TTL (typischerweise 5–10 Minuten); danach muss neu gecacht werden
Cache-Unterstützung
Die Modellressourcen von OfoxAI werden von Cloud-Anbietern wie AWS Bedrock, Azure OpenAI, Google Cloud, Alibaba Cloud und Volcengine bereitgestellt. Modelle, die beim jeweiligen Cloud-Anbieter Prompt Caching unterstützen, werden auch über OfoxAI unterstützt.
| Cloud-Anbieter | Repräsentative Modelle | Caching-Mechanismus |
|---|---|---|
| AWS Bedrock | Claude-Serie | Natives Prompt Caching |
| Azure OpenAI | GPT-4o-Serie | Automatisches Caching |
| Google Cloud | Gemini-Serie | Context Caching |
| Alibaba Cloud | Qwen-Serie | Plattformseitiges Caching |
| Volcengine | Doubao-Serie | Plattformseitiges Caching |
Die genaue Cache-Unterstützung der einzelnen Modelle entnehmen Sie der offiziellen Dokumentation des jeweiligen Cloud-Anbieters. OfoxAI leitet Cache-bezogene Parameter transparent weiter — keine zusätzliche Konfiguration erforderlich.
Verwendung
OpenAI-Protokoll
Prompt Caching für OpenAI-Modelle ist automatisch — es wird aktiviert, sobald wiederholte Prompt-Präfixe erkannt werden:
# Langer System-Prompt wird automatisch gecacht
SYSTEM_PROMPT = """Sie sind der technische Support-Assistent von OfoxAI.
Hier sind die Produktinformationen, die Sie kennen sollten:
- OfoxAI ist ein LLM Gateway, das 100+ große Sprachmodelle unterstützt
- Unterstützt die drei großen Protokolle: OpenAI / Anthropic / Gemini
- ...
(weitere Produktinformationen ausgelassen)
"""
# Erste Anfrage: System-Prompt wird gecacht
response1 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Welche Modelle unterstützt OfoxAI?"}
]
)
# Zweite Anfrage: Cache-Treffer, schneller und günstiger
response2 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT}, # Cache-Treffer
{"role": "user", "content": "Wie konfiguriere ich Claude Code?"}
]
)Anthropic-Protokoll
Anthropic-Modelle unterstützen explizite Cache-Steuerung:
import anthropic
client = anthropic.Anthropic(
base_url="https://api.ofox.ai/anthropic",
api_key="<Ihr OFOXAI_API_KEY>"
)
response = client.messages.create(
model="anthropic/claude-sonnet-4.5",
max_tokens=1024,
system=[{
"type": "text",
"text": "Sie sind ein professioneller Assistent. Hier ist die Produktdokumentation...",
"cache_control": {"type": "ephemeral"} # Caching explizit aktivieren
}],
messages=[{"role": "user", "content": "Fasse die Produktmerkmale zusammen"}]
)
# Cache-Trefferstatus prüfen
print(f"Cache-Write-Tokens: {response.usage.cache_creation_input_tokens}")
print(f"Cache-Read-Tokens: {response.usage.cache_read_input_tokens}")Kosteneinsparung
Bei Cache-Treffern werden die gecachten Tokens zu einem günstigeren Preis berechnet. Die Einsparquote variiert je nach Modell:
- Anthropic Claude-Serie — Cache-Treffer sparen ca. 90 % der Eingabekosten
- OpenAI GPT-Serie — Cache-Treffer sparen ca. 50 % der Eingabekosten
- Google Gemini-Serie — Cache-Treffer sparen ca. 50–75 % der Eingabekosten
Die tatsächliche Einsparung hängt von der Cache-Trefferquote und der Preisgestaltung des jeweiligen Cloud-Anbieters ab. Details finden Sie in der Nutzungsstatistik der OfoxAI-Konsole.
Best Practices
- Lange Texte an den Anfang setzen — System-Prompt und Wissensdatenbank-Inhalte, die sich nicht ändern, gehören an den Beginn der Messages
- Präfix konsistent halten — Nur exakt identische Präfixe führen zu Cache-Treffern
- Prompt-Struktur durchdacht gestalten — Feste und variable Teile klar trennen
# ✅ Gutes Design: Fester Inhalt zuerst, variabler Inhalt danach
messages = [
{"role": "system", "content": LONG_STATIC_PROMPT}, # Cachefähig
{"role": "user", "content": dynamic_question} # Variabler Teil
]
# ❌ Schlechtes Design: Variabler Inhalt innerhalb des festen Inhalts
messages = [
{"role": "system", "content": f"Today is {date}. {LONG_PROMPT}"} # Täglich anders, nicht cachefähig
]Cache-Treffer können im usage-Feld der API-Antwort eingesehen werden. Auch in der OfoxAI-Konsole finden Sie die Cache-Trefferquote in der Nutzungsstatistik.