Sie können REST APIs oder das Python SDK verwenden, um in einer generativen KI-Anwendung auf Inhalte zu verweisen, die in einem Kontext-Cache gespeichert sind. Bevor Sie ihn verwenden können, müssen Sie zuerst den Kontext-Cache erstellen.
Das Kontext-Cache-Objekt, das Sie in Ihrem Code verwenden, enthält die folgenden Attribute:
name: Der Ressourcenname des Kontext-Cache. Das Format istprojects/PROJECT_NUMBER/locations/LOCATION/cachedContents/CACHE_ID. Wenn Sie einen Kontext-Cache erstellen, wird sein Ressourcenname in der Antwort zurückgegeben. Die Projektnummer ist eine eindeutige Kennung für Ihr Projekt. Die Cache-ID ist eine ID für Ihren Cache. Wenn Sie in Ihrem Code einen Kontext-Cache angeben, müssen Sie den vollständigen Ressourcennamen des Kontext-Cache verwenden. Das folgende Beispiel zeigt, wie Sie einen Ressourcennamen für zwischengespeicherte Inhalte in einem Anfragetext angeben:"cached_content": "projects/123456789012/locations/us-central1/123456789012345678"model: Der Ressourcenname für das Modell, das zum Erstellen des Cache verwendet wurde. Das Format istprojects/PROJECT_NUMBER/locations/LOCATION/publishers/PUBLISHER_NAME/models/MODEL_ID.createTime: EinTimestamp, der die Erstellungszeit des Kontext Cache angibt.updateTime: EinTimestamp, der die letzte Aktualisierungszeit eines Kontext-Cache angibt. Nachdem ein Kontext-Cache erstellt wurde und bevor er aktualisiert wird, sindcreateTimeundupdateTimeidentisch.expireTime: EinTimestamp, der angibt, wann ein Kontext-Cache abläuft. Die Standardeinstellung fürexpireTimeist 60 Minuten nachcreateTime. Sie können den Cache mit einer neuen Ablaufzeit aktualisieren. Weitere Informationen finden Sie unter Kontext-Cache aktualisieren. Nachdem ein Cache abgelaufen ist, wird er zur Löschung markiert. Sie sollten nicht davon ausgehen, dass er verwendet oder aktualisiert werden kann. Wenn Sie einen abgelaufenen Kontext-Cache verwenden müssen, müssen Sie ihn mit einer entsprechenden Ablaufzeit neu erstellen.
Nutzungsbeschränkungen für Kontext-Cache
Wenn die folgenden Funktionen beim Erstellen eines Kontext-Cache angegeben werden, sollten Sie sie in Ihrer Anfrage nicht noch einmal angeben:
Das Attribut
GenerativeModel.system_instructions. Mit diesem Attribut können Sie dem Modell Anweisungen geben, bevor es Anweisungen von einem Nutzer erhält. Weitere Informationen finden Sie unter Systemanweisungen.Das Attribut
GenerativeModel.tool_config. Mit demtool_configAttribut wird angegeben, welche Tools vom Gemini-Modell verwendet werden, z. B. ein Tool, das von der Funktion „Funktionsaufruf“ verwendet wird.Das Attribut
GenerativeModel.tools. Mit dem AttributGenerativeModel.toolskönnen Sie Funktionen angeben, um eine Anwendung für Funktionsaufrufe zu erstellen. Weitere Informationen finden Sie unter Funktionsaufruf.
Beispiel für die Verwendung eines Kontext-Cache
Im Folgenden wird gezeigt, wie ein Kontext-Cache verwendet wird. Wenn Sie einen Kontext-Cache verwenden, können Sie die folgenden Attribute nicht angeben:
GenerativeModel.system_instructionsGenerativeModel.tool_configGenerativeModel.tools
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Informationen zum Installieren oder Aktualisieren von Go
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Informationen zum Installieren oder Aktualisieren von Java
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Installieren
npm install @google/genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit Vertex AI zu verwenden:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Sie können REST verwenden, um einen Kontext-Cache mit einem Prompt zu verwenden. Dazu senden Sie mit der Agent Platform API eine POST-Anfrage an den Endpunkt des Publisher-Modells.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre [Projekt-ID](/resource-manager/docs/creating-managing-projects#identifiers). .
- LOCATION: Die Region, in der die Anfrage zum Erstellen des Kontext-Cache verarbeitet wurde.
- PROMPT_TEXT: Der Text-Prompt, der an das Modell gesendet werden soll.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-3.5-flash:generateContent
JSON-Text der Anfrage:
{
"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"
}
],
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/publishers/google/models/gemini-3.5-flash:generateContent"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Beispiel: cURL-Befehls
LOCATION="us-central1"
MODEL_ID="gemini-3.5-flash"
PROJECT_ID="test-project"
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}/publishers/google/models/${MODEL_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"
}
],
}'
Nächste Schritte
- Ablaufzeit eines Kontext-Cache aktualisieren
- Neuen Kontext-Cache erstellen
- Informationen zu allen Kontext-Caches abrufen, die mit einem Google Cloud Projekt verknüpft sind
- Kontext-Cache löschen