Puoi eseguire l'aggiornamento alla scadenza di una cache di contesto. La scadenza predefinita di un 60 minuti dopo la creazione. Una cache di contesto scaduta è eliminate durante un processo di garbage collection e non possono essere utilizzate o aggiornate. Per aggiornare la data di scadenza di una cache di contesto non scaduta, aggiorna una delle seguenti proprietà:
ttl
: il numero di secondi e nanosecondi di vita della cache dopo la sua creazione o dopo l'aggiornamento dittl
prima della scadenza. Quando impostittl
, ilexpireTime
della cache è stato aggiornato.expire_time
: unTimestamp
che specifica la data e l'ora assolute di scadenza della cache di contesto.
Aggiorna la cache del contesto utilizzando il relativo parametro ttl
Di seguito è riportato un esempio di comando curl che aggiorna la scadenza di 3600 secondi.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello deve generare risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo la generazione di tutti i token di output.
Per una risposta in modalità flusso, utilizza il parametro stream
in
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Per una risposta non in streaming, rimuovi il parametro o impostalo su False
.
Codice di esempio
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida introduttiva di Vertex AI. Per ulteriori informazioni, consulta la sezione Vertex AI documentazione di riferimento dell'SDK Go per Gemini.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la sezione Configurazione per un ambiente di sviluppo locale.
Risposte dinamiche e non dinamiche
Puoi scegliere se il modello deve generare risposte in streaming oppure risposte non in streaming. Per le risposte dinamiche, ricevi ogni risposta non appena viene generato il relativo token di output. Per le risposte non dinamiche, ricevi tutte le risposte dopo che sono stati generati tutti i token di output.
Per una risposta dinamica, utilizza il metodo
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Per una risposta non in streaming, utilizza il metodo GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Codice di esempio
REST
Puoi utilizzare REST per creare un aggiornamento della cache di contesto utilizzando
API Vertex AI per inviare una richiesta PATCH all'endpoint del modello del publisher. La
l'esempio seguente mostra come aggiornare la data di scadenza utilizzando il
Parametro ttl
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui viene inviata la richiesta crea la cache di contesto è stato elaborato.
- CACHE_ID: l'ID della cache di contesto. L'ID della cache di contesto viene restituito quando crei la cache di contesto. Puoi anche trovare gli ID cache di contesto elencando le cache di contesto per un progetto Google Cloud in uso. Per ulteriori informazioni, vedi creare una cache di contesto e elencare le cache contestuali.
- SECONDS: un
float
che specifica il componente secondi della durata prima della scadenza della cache. - NANOSECONDS: un
float
che specifica il componente dei nanosecondi della durata prima della scadenza della cache.
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Corpo JSON della richiesta:
{ "seconds":"SECONDS", "nanos":"NANOSECONDS" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Comando curl di esempio
PROJECT_NUMBER="PROJECT_NUMBER"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"
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_NUMBER}/locations/${LOCATION}/cachedContents/${CACHE_ID}" -d \
'{
"ttl": {"seconds":"3600","nanos":"0"}
}'
Aggiorna la cache del contesto utilizzando il relativo parametro expire_time
Di seguito è riportato un esempio di un comando curl che utilizza expire_time
per aggiornare la relativa ora di scadenza alle 09:00 del 30 giugno 2024.
REST
Puoi utilizzare REST per creare un aggiornamento della cache di contesto utilizzando
API Vertex AI per inviare una richiesta PATCH all'endpoint del modello del publisher. L'esempio seguente mostra come aggiornare la data di scadenza utilizzando il parametro expire_time
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui è stata elaborata la richiesta di creazione della cache di contesto.
- CACHE_ID: l'ID della cache del contesto. Puoi trovare l'ID nella risposta quando crei la cache del contesto.
- EXPIRE_TIME: un
Timestamp
che specifica l'ora in cui scade la cache contestuale.
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Corpo JSON della richiesta:
{ "expire_time":"EXPIRE_TIME" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Comando curl di esempio
PROJECT_NUMBER="PROJECT_NUMBER"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"
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_NUMBER}/locations/${LOCATION}/cachedContents/${CACHE_ID}" -d \
'{
"expire_time":"2024-06-30T09:00:00.000000Z"
}'
Passaggi successivi
- Scopri come utilizzare una cache di contesto.
- Scopri come ricevere informazioni su tutte le cache di contesto associate a un progetto Google Cloud.