Kontext-Cache aktualisieren

Sie können eine Aktualisierung vornehmen, wenn ein Kontext-Cache abläuft. Die Standardablaufzeit eines Kontext-Caches beträgt 60 Minuten nach seiner Erstellung. Ein abgelaufener Kontext-Cache wird während der automatischen Speicherbereinigung gelöscht und kann nicht mehr verwendet oder aktualisiert werden. Wenn Sie die Ablaufzeit eines noch nicht abgelaufenen Kontext-Caches aktualisieren möchten, aktualisieren Sie eine der folgenden Eigenschaften:

  • ttl: Die Anzahl der Sekunden und Nanosekunden, die der Cache nach der Erstellung oder nach der Aktualisierung von ttl gültig ist, bevor er abläuft. Wenn Sie die ttl festlegen, wird die expireTime des Caches aktualisiert.

  • expire_time: Ein Timestamp, das das absolute Datum und die absolute Uhrzeit angibt, zu dem der Kontext-Cache abläuft.

Kontext-Cache mit dem Parameter ttl aktualisieren

Im folgenden Beispiel wird die Ablaufzeit eines cURL-Befehls um 3.600 Sekunden aktualisiert.

Gen AI SDK for Python

Installieren

pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das 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=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from datetime import datetime as dt
from datetime import timezone as tz
from datetime import timedelta

from google import genai
from google.genai.types import HttpOptions, UpdateCachedContentConfig

client = genai.Client(http_options=HttpOptions(api_version="v1beta1"))

# Get content cache by name
# cache_name = "projects/111111111111/locations/us-central1/cachedContents/1111111111111111111"
content_cache = client.caches.get(name=cache_name)
print("Expire time", content_cache.expire_time)
# Example response
#   Expire time 2025-02-20 15:50:18.434482+00:00

# Update expire time using TTL
content_cache = client.caches.update(
    name=cache_name, config=UpdateCachedContentConfig(ttl="36000s")
)
time_diff = content_cache.expire_time - dt.now(tz.utc)
print("Expire time(after update):", content_cache.expire_time)
print("Expire time(in seconds):", time_diff.seconds)
# Example response
#   Expire time(after update): 2025-02-14 01:51:42.571696+00:00
#   Expire time(in seconds): 35999

# Update expire time using specific time stamp
next_week_utc = dt.now(tz.utc) + timedelta(days=7)
content_cache = client.caches.update(
    name=cache_name, config=UpdateCachedContentConfig(expireTime=next_week_utc)
)
print("Expire time(after update):", content_cache.expire_time)
# Example response
#   Expire time(after update): 2025-02-20 15:51:42.614968+00:00

REST

Sie können mit REST einen Kontext-Cache erstellen oder aktualisieren. Dazu senden Sie mit der Vertex AI API eine PATCH-Anfrage an den Endpunkt des Publisher-Modells. Im folgenden Beispiel wird gezeigt, wie das Ablaufdatum mit dem Parameter ttl aktualisiert wird.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage zum Erstellen des Kontext-Cache verarbeitet wurde.
  • CACHE_ID: Die ID des Kontext-Caches. Die Kontext-Cache-ID wird zurückgegeben, wenn Sie den Kontext-Cache erstellen. Sie können Kontext-Cache-IDs auch finden, indem Sie die Kontext-Caches für ein Google Cloud-Projekt auflisten. Weitere Informationen finden Sie unter Kontext-Cache erstellen und Kontext-Caches auflisten.
  • SECONDS: Ein float, das die Sekundenkomponente der Dauer angibt, bevor der Cache abläuft.
  • NANOSECONDS: Ein float, das die Nanosekundenkomponente der Dauer angibt, bevor der Cache abläuft.

HTTP-Methode und URL:

PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID

JSON-Text der Anfrage:

{
  "seconds":"SECONDS",
  "nanos":"NANOSECONDS"
}

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 PATCH \
-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/CACHE_ID"

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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

Beispiel: cURL-Befehls

PROJECT_ID="PROJECT_ID"
LOCATION="us-central1"
CACHE_ID="CACHE_ID"

curl \
-X PATCH \
-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/${CACHE_ID}" -d \
'{
   "ttl": {"seconds":"3600","nanos":"0"}
}'

Kontext-Cache mit dem Parameter expire_time aktualisieren

Im folgenden Beispiel wird ein curl-Befehl mit dem Parameter expire_time verwendet, um das Ablaufdatum auf den 30. Juni 2024 um 9:00 Uhr zu aktualisieren.

REST

Sie können mit REST einen Kontext-Cache erstellen oder aktualisieren. Dazu senden Sie mit der Vertex AI API eine PATCH-Anfrage an den Endpunkt des Publisher-Modells. Im folgenden Beispiel wird gezeigt, wie das Ablaufdatum mit dem Parameter expire_time aktualisiert wird.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage zum Erstellen des Kontext-Cache verarbeitet wurde.
  • CACHE_ID: Die ID des Kontext-Caches. Sie finden die ID in der Antwort, wenn Sie den Kontext-Cache erstellen.
  • EXPIRE_TIME: Ein Timestamp, das den Zeitpunkt angibt, zu dem der Kontext-Cache abläuft.

HTTP-Methode und URL:

PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID

JSON-Text der Anfrage:

{
   "expire_time":"EXPIRE_TIME"
}

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 PATCH \
-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/CACHE_ID"

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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

Beispiel: cURL-Befehls

PROJECT_ID="PROJECT_ID"
LOCATION="us-central1"
CACHE_ID="CACHE_ID"

curl \
-X PATCH \
-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/${CACHE_ID}" -d \
'{
   "expire_time":"2024-06-30T09:00:00.000000Z"
}'

Nächste Schritte