Prompt-Caching für schnellere Modellinferenz - Amazon Bedrock

Prompt-Caching für schnellere Modellinferenz

Anmerkung

Prompt-Caching von Amazon Bedrock ist generell mit Claude 3.7 Sonnet, Claude 3.5 Haiku, Amazon Nova Micro, Amazon Nova Lite, Amazon Nova Pro und Amazon Nova Premier verfügbar. Kunden, denen während der Prompt-Caching-Vorschau Zugriff auf Claude 3.5 Sonnet v2 gewährt wurde, behalten ihren Zugriff, allerdings erhalten keine weiteren Kunden Zugriff auf das Prompt-Caching für das Modell Claude 3.5 Sonnet v2.

Prompt-Caching ist ein optionales Feature, das Sie mit unterstützten Modellen in Amazon Bedrock verwenden können, um die Latenz bei Inferenzantworten und die Kosten für Eingabe-Token zu reduzieren. Indem Sie Teile Ihres Kontexts zu einem Cache hinzufügen, kann das Modell den Cache nutzen, um die Neuberechnung von Eingaben zu überspringen, sodass Bedrock an den Recheneinsparungen teilhaben und Ihre Antwortlatenzen verringern kann.

Prompt-Caching kann hilfreich sein, wenn Sie Workloads mit langen und sich wiederholenden Kontexten haben, die häufig für mehrere Abfragen wiederverwendet werden. Wenn Sie beispielsweise über einen Chatbot verfügen, bei dem Benutzer Dokumente hochladen und Fragen zu ihnen stellen können, kann es für das Modell zeitaufwändig sein, das Dokument jedes Mal zu verarbeiten, wenn der Benutzer eine Eingabe vornimmt. Mit Prompt-Caching können Sie das Dokument zwischenspeichern, sodass künftige Abfragen, die das Dokument enthalten, es nicht erneut verarbeiten müssen.

Wenn Sie Prompt-Caching verwenden, wird Ihnen ein reduzierter Tarif für aus dem Cache gelesene Token berechnet. Je nach Modell kann für in den Cache geschriebene Token ein höherer Tarif berechnet werden als für nicht zwischengespeicherte Eingabe-Token. Für alle Token, die nicht aus dem Cache gelesen oder in den Cache geschrieben wurden, wird der Standardsatz für Eingabe-Token für dieses Modell berechnet. Weitere Informationen finden Sie auf der Amazon-Bedrock-Preisseite.

Funktionsweise

Wenn Sie sich für das Prompt-Caching entscheiden, erstellt Amazon Bedrock einen Cache, der aus Cache-Checkpoints besteht. Dies sind Markierungen, die den zusammenhängenden Unterabschnitt Ihres Prompts definieren, den Sie zwischenspeichern möchten (häufig als Prompt-Präfix bezeichnet). Diese Prompt-Präfixe sollten zwischen Anforderungen statisch sein. Änderungen am Prompt-Präfix bei nachfolgenden Anforderungen führen zu Fehleinträgen im Cache.

Cache-Checkpoints haben eine Mindest- und Höchstzahl an Token, abhängig vom jeweiligen Modell, das Sie verwenden. Sie können nur dann einen Cache-Checkpoint erstellen, wenn Ihr gesamtes Prompt-Präfix der Mindestanzahl an Token entspricht. Für das Modell Anthropic Claude 3.7 Sonnet sind beispielsweise mindestens 1 024 Token pro Cache-Checkpoint erforderlich. Das bedeutet, dass Ihr erster Cache-Checkpoint nach 1 024 Token und Ihr zweiter Cache-Checkpoint nach 2 048 Token definiert werden kann. Wenn Sie versuchen, einen Cache-Checkpoint hinzuzufügen, bevor Sie die Mindestanzahl an Token erreicht haben, ist Ihre Inferenz trotzdem erfolgreich, aber Ihr Präfix wird nicht zwischengespeichert. Der Cache hat eine Time To Live (TTL) von fünf Minuten, die bei jedem erfolgreichen Cache-Treffer zurückgesetzt wird. Während dieses Zeitraums bleibt der Kontext im Cache erhalten. Wenn innerhalb des TTL-Fensters keine Cache-Treffer auftreten, läuft Ihr Cache ab.

Sie können das Prompt-Caching jederzeit verwenden, wenn Sie Modellinferenzen in Amazon Bedrock für unterstützte Modelle erhalten. Prompt-Caching wird von den folgenden Amazon-Bedrock-Features unterstützt:

Converse- und ConverseStream-APIs

Sie können eine Konversation mit einem Modell führen, bei der Sie in Ihren Prompts Cache-Checkpoints angeben.

InvokeModel- und InvokeModelWithResponseStream-APIs

Sie können einzelne Prompt-Anfragen einreichen, bei denen Sie das Prompt-Caching aktivieren und Ihre Cache-Checkpoints angeben.

Prompt-Caching mit regionsübergreifender Inferenz

Prompt-Caching kann in Verbindung mit regionsübergreifender Inferenz verwendet werden. Regionsübergreifende Inferenz wählt automatisch die optimale AWS-Region innerhalb Ihrer Region aus, um Ihre Inferenzanforderung zu bearbeiten, wodurch die verfügbaren Ressourcen und die Modellverfügbarkeit maximiert werden. In Zeiten hoher Nachfrage können diese Optimierungen zu erhöhten Cache-Schreibvorgängen führen.

Amazon Bedrock Prompt Management

Wenn Sie einen Prompt erstellen oder ändern, können Sie wählen, ob Prompt-Caching aktiviert werden soll. Je nach Modell können Sie System-Prompts, Systemanweisungen und Nachrichten (Benutzer- und Assistentnachrichten) zwischenspeichern. Sie können Prompt-Caching auch deaktivieren.

Die APIs bieten Ihnen die größte Flexibilität und detaillierte Kontrolle über den Prompt-Cache. Sie können in Ihren Prompts einen individuellen Cache-Checkpoint festlegen. Sie können den Cache erweitern, indem Sie weitere Cache-Checkpoints erstellen, und zwar bis zur maximalen Anzahl von Cache-Checkpoints, die für das jeweilige Modell zulässig sind. Weitere Informationen finden Sie unter Unterstützte Modelle, Regionen und Limits.

Unterstützte Modelle, Regionen und Limits

In der folgenden Tabelle sind die unterstützten Modelle zusammen mit ihren Token-Mindestwerten, der maximalen Anzahl von Cache-Checkpoints und Feldern, die Cache-Checkpoints zulassen, aufgeführt.

Modellname Modell-ID Art der Veröffentlichung Mindestanzahl von Token pro Cache-Checkpoint Maximale Anzahl von Cache-Checkpoints pro Anforderung Felder, die Prompt-Cache-Checkpoints akzeptieren

Claude 3 Opus 4.1

anthropic.claude-opus-4-1-20250805-v1:0

Allgemein verfügbar

1,024

4

„System“, „Nachrichten“ und „Tools“

Claude Opus 4

anthropic.claude-opus-4-20250514-v1:0

Allgemein verfügbar

1,024

4

„System“, „Nachrichten“ und „Tools“

Claude Sonnet 4.5

anthropic.claude-sonnet-4-5-20250929-v1:0

Allgemein verfügbar

1,024

4

„System“, „Nachrichten“ und „Tools“

Claude Haiku 4.5

anthropic.claude-haiku-4-5-20251001-v1:0

Allgemein verfügbar

4.096

4

„System“, „Nachrichten“ und „Tools“

Claude Sonnet 4

anthropic.claude-sonnet-4-20250514-v1:0

Allgemein verfügbar

1,024

4

„System“, „Nachrichten“ und „Tools“

Claude 3.7 Sonnet

anthropic.claude-3-7-sonnet-20250219-v1:0

Allgemein verfügbar

1,024

4

„System“, „Nachrichten“ und „Tools“

Claude 3.5 Haiku

anthropic.claude-3-5-haiku-20241022-v1:0

Allgemein verfügbar

2 048

4

„System“, „Nachrichten“ und „Tools“

Claude 3.5 Sonnet v2

anthropic.claude-3-5-sonnet-20241022-v2:0

Vorversion

1,024

4

„System“, „Nachrichten“ und „Tools“

Amazon Nova Micro

amazon.nova-micro-v1:0

Allgemein verfügbar

1K1

4

„System“ und „Nachrichten“

Amazon Nova Lite

amazon.nova-lite-v1:0

Allgemein verfügbar

1K1

4

„System“ und „Nachrichten“ 2

Amazon Nova Pro

amazon.nova-pro-v1:0

Allgemein verfügbar

1K1

4

„System“ und „Nachrichten“ 2

Amazon Nova Premier

amazon.nova-premier-v1:0

Allgemein verfügbar

1K1

4

„System“ und „Nachrichten“ 2

1: Die Modelle von Amazon Nova unterstützen eine maximale Anzahl von 20 000 Token für Prompt-Caching.

2: Prompt-Caching ist hauptsächlich für Text-Prompts vorgesehen.

Amazon Nova bietet automatisches Prompt-Caching für alle Text-Prompts, einschließlich User- und System-Nachrichten. Dieser Mechanismus kann die Latenz verbessern, wenn Prompts mit sich wiederholenden Teilen beginnen, auch ohne explizite Konfiguration. Damit jedoch Kosteneinsparungen erzielt und konsistentere Leistungsvorteile gewährleistet werden können, empfehlen wir Explizites Prompt-Caching.

Vereinfachtes Cache-Management für Claude-Modelle

Für Claude-Modelle bietet Amazon Bedrock einen vereinfachten Ansatz für das Cache-Management, der die Komplexität der manuellen Platzierung von Cache-Checkpoints reduziert. Anstatt von Ihnen die Angabe exakter Cache-Checkpoint-Positionen zu verlangen, können Sie das automatische Cache-Management mit einem einzigen Haltepunkt am Ende Ihres statischen Inhalts verwenden.

Wenn Sie das vereinfachte Cache-Management aktivieren, sucht das System automatisch nach Cache-Treffern an den Grenzen früherer Inhaltsblöcke und schaut dabei bis zu etwa 20 Inhaltsblöcke ab dem angegebenen Haltepunkt zurück. Auf diese Weise kann das Modell das Präfix mit der längsten Übereinstimmung in Ihrem Cache finden, ohne dass Sie die optimalen Checkpoint-Positionen vorhersagen müssen. Damit Sie dieses Verfahren nutzen können, platzieren Sie einen einzelnen Cache-Checkpoint am Ende Ihres statischen Inhalts, und zwar vor dynamischen oder variablen Inhalten. Das System findet automatisch die beste Cache-Übereinstimmung.

Für eine genauere Steuerung können Sie immer noch mehrere Cache-Checkpoints (bis zu 4 bei Claude-Modellen) verwenden, um die genauen Cache-Grenzen festzulegen. Sie sollten mehrere Cache-Checkpoints verwenden, wenn Sie Abschnitte zwischenspeichern, die sich unterschiedlich häufig ändern, oder wenn Sie mehr Kontrolle darüber haben möchten, was genau zwischengespeichert wird.

Wichtig

Bei der automatischen Präfixüberprüfung werden nur etwa 20 Inhaltsblöcke von Ihrem Cache-Checkpoint aus geprüft. Wenn Ihr statischer Inhalt diesen Bereich überschreitet, sollten Sie in Erwägung ziehen, mehrere Cache-Checkpoints zu verwenden oder Ihren Prompt so umzustrukturieren, dass die am häufigsten wiederverwendeten Inhalte innerhalb dieses Bereichs platziert werden.

Erste Schritte

Die folgenden Abschnitte geben Ihnen einen kurzen Überblick darüber, wie Sie das Prompt-Caching-Feature für jede Methode der Interaktion mit Modellen über Amazon Bedrock verwenden können.

Die Converse-API bietet erweiterte und flexible Optionen für die Implementierung von Prompt-Caching in Multi-Turn-Konversationen. Weitere Informationen zu den Prompt-Anfragen der einzelnen Modelle finden Sie im vorherigen Abschnitt Unterstützte Modelle, Regionen und Limits.

Beispielanforderung

Die folgenden Beispiele zeigen einen Cache-Checkpoint, der im Feld messages, system oder tools einer Anfrage an die Converse-API festgelegt ist. Sie können an jedem dieser Orte Checkpoints für eine bestimmte Anfrage platzieren. Wenn Sie beispielsweise eine Anfrage an das Modell Claude 3.5 Sonnet v2 senden, könnten Sie zwei Cache-Checkpoints in messages platzieren, einen Cache-Checkpoint in system und einen in tools. Ausführlichere Informationen und Beispiele für die Strukturierung und das Senden von Converse-API-Anfragen finden Sie unter Führen einer Konversation mit den Converse-API-Operationen.

messages checkpoints

In diesem Beispiel liefert das erste image-Feld ein Bild für das Modell, und das zweite text-Feld fordert das Modell auf, das Bild zu analysieren. Solange die Zahl der Token vor dem cachePoint im content-Objekt der Mindestanzahl von Token für das Modell entspricht, wird ein Cache-Checkpoint erstellt.

... "messages": [ { "role": "user", "content": [ { "image": { "bytes": "asfb14tscve..." } }, { "text": "What's in this image?" }, { "cachePoint": { "type": "default" } } ] } ] ...
system checkpoints

In diesem Beispiel geben Sie Ihren System-Prompt in das text-Feld ein. Darüber hinaus können Sie ein cachePoint-Feld hinzufügen, um den System-Prompt zwischenzuspeichern.

... "system": [ { "text": "You are an app that creates play lists for a radio station that plays rock and pop music. Only return song names and the artist. " }, { "cachePoint": { "type": "default" } } ], ...
tools checkpoints

In diesem Beispiel geben Sie Ihre Tool-Definition in das toolSpec-Feld ein. (Alternativ können Sie ein Tool aufrufen, das Sie zuvor definiert haben. Weitere Informationen finden Sie unter Aufrufen eines Tools über die Converse-API.) Anschließend können Sie ein cachePoint-Feld hinzufügen, um das Tool zwischenzuspeichern.

... toolConfig={ "tools": [ { "toolSpec": { "name": "top_song", "description": "Get the most popular song played on a radio station.", "inputSchema": { "json": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ and WKRP." } }, "required": [ "sign" ] } } } }, { "cachePoint": { "type": "default" } } ] } ...

Die Modellantwort der Converse-API enthält zwei neue Felder, die speziell für das Prompt-Caching vorgesehen sind. Die Werte CacheReadInputTokens und CacheWriteInputTokens geben an, wie viele Token aus dem Cache gelesen wurden und wie viele Token aufgrund Ihrer vorherigen Anforderung in den Cache geschrieben wurden. Dies sind Werte, die Ihnen von Amazon Bedrock in Rechnung gestellt werden, und zwar zu einem Preis, der unter den Kosten für die vollständige Modellinferenz liegt.

Das Prompt-Caching ist standardmäßig aktiviert, wenn Sie die InvokeModel-API aufrufen. Sie können Cache-Checkpoints an jeder beliebigen Stelle in Ihrem Anforderungstext festlegen, ähnlich wie im vorherigen Beispiel für die Converse-API.

Anthropic Claude

Das folgende Beispiel zeigt, wie Sie den Textkörper Ihrer InvokeModel-Anfrage für das Anthropic-Modell Claude 3.5 Sonnet v2 strukturieren. Beachten Sie, dass das genaue Format und die Felder des Textkörpers für InvokeModel-Anfragen je nach ausgewähltem Modell variieren können. Das Format und den Inhalt der Anforderungs- und Antworttexte für verschiedene Modelle finden Sie unter Inferenzanforderungsparameter und Antwortfelder für Basismodelle.

body={ "anthropic_version": "bedrock-2023-05-31", "system":"Reply concisely", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe the best way to learn programming." }, { "type": "text", "text": "Add additional context here for the prompt that meets the minimum token requirement for your chosen model.", "cache_control": { "type": "ephemeral" } } ] } ], "max_tokens": 2048, "temperature": 0.5, "top_p": 0.8, "stop_sequences": [ "stop" ], "top_k": 250 }
Amazon Nova

Das folgende Beispiel zeigt, wie Sie den Textkörper Ihrer InvokeModel-Anfrage für das Modell von Amazon Nova strukturieren. Beachten Sie, dass das genaue Format und die Felder des Textkörpers für InvokeModel-Anfragen je nach ausgewähltem Modell variieren können. Das Format und den Inhalt der Anforderungs- und Antworttexte für verschiedene Modelle finden Sie unter Inferenzanforderungsparameter und Antwortfelder für Basismodelle.

{ "system": [{ "text": "Reply Concisely" }], "messages": [{ "role": "user", "content": [{ "text": "Describe the best way to learn programming" }, { "text": "Add additional context here for the prompt that meets the minimum token requirement for your chosen model.", "cachePoint": { "type": "default" } }] }], "inferenceConfig": { "maxTokens": 300, "topP": 0.1, "topK": 20, "temperature": 0.3 } }

Weitere Informationen zum Senden einer InvokeModel-Anfrage finden Sie unter So senden Sie einen einzelnen Prompt mit InvokeModel.

In einem Chat-Playground der Amazon-Bedrock-Konsole können Sie die Prompt-Caching-Option aktivieren, sodass Amazon Bedrock automatisch Cache-Checkpoints für Sie erstellt.

Folgen Sie den Anweisungen unter Generieren von Antworten in der Konsole mithilfe von Playgrounds, um mit dem Erstellen von Prompts in einem Amazon-Bedrock-Playground zu beginnen. Bei unterstützten Modellen wird das Prompt-Caching im Playground automatisch aktiviert. Ist dies jedoch nicht der Fall, gehen Sie wie folgt vor, um das Prompt-Caching zu aktivieren:

  1. Öffnen Sie im linken Seitenbereich das Menü Konfigurationen.

  2. Aktivieren Sie die Option Prompt-Caching.

  3. Führen Sie Ihre Prompts aus.

Nachdem Ihre kombinierten Eingabe- und Modellantworten die für einen Checkpoint erforderliche Mindestanzahl an Token erreicht haben (die je nach Modell unterschiedlich ist), erstellt Amazon Bedrock automatisch den ersten Cache-Checkpoint für Sie. Während Sie weiter chatten, wird bei jedem weiteren Erreichen der Mindestanzahl an Token ein neuer Checkpoint erstellt, bis zu der für das Modell maximal zulässigen Anzahl von Checkpoints. Sie können Ihre Cache-Checkpoints jederzeit einsehen, indem Sie neben der Option Prompt-Caching die Option Cache-Checkpoints anzeigen auswählen, wie im folgenden Screenshot gezeigt.

Benutzeroberflächen-Umschalter für Prompt-Caching in einer Text-Playground von Amazon Bedrock

Sie können sehen, wie viele Token aufgrund jeder Interaktion mit dem Modell aus dem Cache gelesen und in den Cache geschrieben werden, indem Sie das Popup-Fenster mit den Caching-Metriken ( The metrics icon shown in model responses when prompt caching is enabled. ) in den Playground-Antworten aufrufen.

Feld für Caching-Metriken, in dem die Anzahl der Token angezeigt wird, die aus dem Cache gelesen und in den Cache geschrieben wurden.

Wenn Sie während einer Konversation den Umschalter für Prompt-Caching deaktivieren, können Sie den Chat mit dem Model fortsetzen.