In dieser Anleitung erfahren Sie, wie Sie Kontext-Caching mit Ihren abgestimmten Gemini-Modellen verwenden, um die Leistung zu verbessern und die Kosten für Prompts mit viel Kontext zu senken. Auf dieser Seite wird Folgendes beschrieben: Durch das Caching von häufig verwendetem Kontext vermeiden Sie, dass bei jeder Anfrage an Ihr feinabgestimmtes Modell große Datenmengen noch einmal gesendet werden müssen. Der Prozess zum Verwalten eines Kontext-Cache ( Das Zwischenspeichern von Kontext wird für Modelle unterstützt, die auf dem folgenden Basismodell feinabgestimmt wurden: Für den Start ist Folgendes erforderlich: Das Erstellen eines Kontext-Cache für ein fein abgestimmtes Modell ähnelt dem Verfahren für ein Basismodell. Eine allgemeine Anleitung finden Sie unter Kontext-Cache erstellen. Der Hauptunterschied besteht darin, dass Sie im Feld Im folgenden Beispiel wird gezeigt, wie ein Kontext-Cache mit einem optimierten Gemini-Modell erstellt wird.
Sie können mit REST einen Kontext-Cache erstellen. Dazu senden Sie mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells. Im folgenden Beispiel wird gezeigt, wie ein Kontext-Cache mithilfe einer in einem Cloud Storage-Bucket gespeicherten Datei erstellt wird.
Ersetzen Sie diese Werte in den folgenden Anfragedaten: HTTP-Methode und URL: JSON-Text der Anfrage: Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
Speichern Sie den Anfragetext in einer Datei mit dem Namen
Speichern Sie den Anfragetext in einer Datei mit dem Namen Sie sollten in etwa folgende JSON-Antwort erhalten:
Die Verwendung eines Kontext-Caches mit einem abgestimmten Modell ähnelt der Verwendung mit einem Basismodell. Eine allgemeine Anleitung finden Sie unter Kontext-Cache verwenden. Der wesentliche Unterschied besteht darin, dass Sie die Anfrage an den Endpunkt Ihres bereitgestellten optimierten Modells ( Wenn Sie einen Kontext-Cache verwenden, können Sie die folgenden Attribute in Ihrer Anfrage nicht angeben: Das folgende Codebeispiel zeigt, wie ein Kontext-Cache mit einem optimierten Gemini-Modell verwendet wird.
Sie können mit REST einen Kontext-Cache mit einem Prompt angeben. Dazu senden Sie mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells.
Ersetzen Sie diese Werte in den folgenden Anfragedaten: HTTP-Methode und URL: JSON-Text der Anfrage: Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
Speichern Sie den Anfragetext in einer Datei mit dem Namen
Speichern Sie den Anfragetext in einer Datei mit dem Namen Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Read, Update, Delete) ist für feinabgestimmte und Basismodelle von Gemini identisch. Auf dieser Seite werden die spezifischen Schritte zum Erstellen und Verwenden eines Caches mit einem feinabgestimmten Modell beschrieben.Unterstützte Modelle
gemini-2.0-flash-001Vorbereitung
Kontext-Cache für ein abgestimmtes Modell erstellen
model Ihre feinabgestimmte Modellversion anstelle des Basismodells angeben müssen. Verwenden Sie das Format projects/{PROJECT}/locations/{LOCATION}/models/{MODEL}@{VERSION}.REST
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents
{
"model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID@MODEL_VERSION",
"displayName": "CACHE_DISPLAY_NAME",
"contents": [{
"role": "user",
"parts": [{
"fileData": {
"mimeType": "MIME_TYPE",
"fileUri": "CONTENT_TO_CACHE_URI"
}
}]
},
{
"role": "model",
"parts": [{
"text": "This is sample text to demonstrate explicit caching."
}]
}]
}
curl
request.json und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents"PowerShell
request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents" | Select-Object -Expand ContentBeispiel: cURL-Befehls
LOCATION="us-central1"
MODEL_ID="model-id"
PROJECT_ID="test-project"
MODEL_VERSION=1
MIME_TYPE="video/mp4"
CACHED_CONTENT_URI="gs://path-to-bucket/video-file-name.mp4"
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/cachedContents -d \
'{
"model":"projects/${PROJECT_ID}/locations/${LOCATION}/models/${MODEL_ID}@${MODEL_VERSION}",
"contents": [
{
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "${MIME_TYPE}",
"fileUri": "${CACHED_CONTENT_URI}"
}
}
]
}
]
}'
Kontext-Cache für ein abgestimmtes Modell verwenden
.../endpoints/{ENDPOINT_ID}) und nicht an den Endpunkt des Basismodells (.../publishers/google/models/{MODEL}) senden.
GenerativeModel.system_instructionsGenerativeModel.tool_configGenerativeModel.toolsREST
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:generateContent
{
"cachedContent": "projects/PROJECT_NUMBER/locations/LOCATION/cachedContents/CACHE_ID",
"contents": [
{"role":"user","parts":[{"text":"PROMPT_TEXT"}]}
],
"generationConfig": {
"maxOutputTokens": 8192,
"temperature": 1,
"topP": 0.95,
},
"safetySettings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
],
}
curl
request.json und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:generateContent"PowerShell
request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand ContentBeispiel: cURL-Befehls
LOCATION="us-central1"
PROJECT_ID="test-project"
ENDPOINT_ID=987654321
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT_ID}:generateContent" -d \
'{
"cachedContent": "projects/${PROJECT_NUMBER}/locations/${LOCATION}/cachedContents/${CACHE_ID}",
"contents": [
{"role":"user","parts":[{"text":"What are the benefits of exercise?"}]}
],
"generationConfig": {
"maxOutputTokens": 8192,
"temperature": 1,
"topP": 0.95,
},
"safetySettings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
}
],
}'
Kontext-Caching für optimierte Gemini-Modelle
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-19 (UTC).