Puoi utilizzare le API REST o l'SDK Python per fare riferimento ai contenuti archiviati in una cache di contesto in un'applicazione di AI generativa. Prima di poterla utilizzare, devi prima creare la cache di contesto.
L'oggetto di memorizzazione nella cache del contesto che utilizzi nel codice include le seguenti proprietà:
name- Il nome della risorsa di memorizzazione nella cache del contesto. Il formato èprojects/PROJECT_NUMBER/locations/LOCATION/cachedContents/CACHE_ID. Quando crei una cache di contesto, il nome della risorsa viene restituito nella risposta. Il numero del progetto è un identificatore univoco del progetto. L'ID cache è un ID per la cache. Quando specifichi una cache di contesto nel codice, devi utilizzare il nome completo della risorsa cache di contesto. Di seguito è riportato un esempio che mostra come specificare il nome di una risorsa di contenuti memorizzati nella cache nel corpo di una richiesta:"cached_content": "projects/123456789012/locations/us-central1/123456789012345678"model- Il nome della risorsa per il modello utilizzato per creare la cache. Il formato èprojects/PROJECT_NUMBER/locations/LOCATION/publishers/PUBLISHER_NAME/models/MODEL_ID.createTime- UnTimestampche specifica l'ora di creazione della cache di contesto.updateTime- UnTimestampche specifica l'ora dell'ultimo aggiornamento di una cache di contesto. Dopo la creazione di una memorizzazione nella cache del contesto e prima dell'aggiornamento,createTimeeupdateTimesono uguali.expireTime- UnTimestampche specifica la scadenza di una memorizzazione nella cache del contesto. Il valore predefinito diexpireTimeè 60 minuti dopocreateTime. Puoi aggiornare la cache con una nuova ora di scadenza. Per saperne di più, consulta Aggiornare la cache di contesto. Una volta scaduta, la cache viene contrassegnata per l'eliminazione e non devi presupporre che possa essere utilizzata o aggiornata. Se devi utilizzare una cache di contesto scaduta, devi ricrearla con un'ora di scadenza appropriata.
Limitazioni di utilizzo della memorizzazione nella cache del contesto
Se le seguenti funzionalità sono specificate quando crei una memorizzazione nella cache del contesto, non devi specificarle di nuovo nella richiesta:
La proprietà
GenerativeModel.system_instructions. Questa proprietà viene utilizzata per specificare le istruzioni al modello prima che riceva le istruzioni da un utente. Per saperne di più, consulta Istruzioni di sistema.La proprietà
GenerativeModel.tool_config. La proprietàtool_configviene utilizzata per specificare gli strumenti utilizzati dal modello Gemini, ad esempio uno strumento utilizzato dalla funzionalità di chiamata di funzione.La proprietà
GenerativeModel.tools. La proprietàGenerativeModel.toolsviene utilizzata per specificare le funzioni per creare un'applicazione di chiamata di funzione. Per saperne di più, consulta Chiamata di funzione.
Utilizzare un esempio di memorizzazione nella cache del contesto
Di seguito viene mostrato come utilizzare la memorizzazione nella cache del contesto. Quando utilizzi la memorizzazione nella cache del contesto, non puoi specificare le seguenti proprietà:
GenerativeModel.system_instructionsGenerativeModel.tool_configGenerativeModel.tools
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# 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
Scopri come installare o aggiornare Go.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# 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
Scopri come installare o aggiornare Java.
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# 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
Installa
npm install @google/genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# 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
Puoi utilizzare REST per utilizzare una memorizzazione nella cache del contesto con un prompt utilizzando l' API Agent Platform per inviare una richiesta POST all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: Il tuo ID progetto. .
- LOCATION: la regione in cui è stata elaborata la richiesta di creazione della memorizzazione nella cache del contesto.
- PROMPT_TEXT: il prompt testuale da inviare al modello.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-3.5-flash:generateContent
Corpo JSON della richiesta:
{
"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"
}
],
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
e quindi esegui il comando seguente:
$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
Dovresti ricevere una risposta JSON simile alla seguente.
Comando curl di esempio
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"
}
],
}'
Passaggi successivi
- Scopri come aggiornare l'ora di scadenza di una cache di contesto.
- Scopri come creare una nuova cache di contesto.
- Scopri come ottenere informazioni su tutte le cache di contesto associate a un Google Cloud progetto.
- Scopri come eliminare una cache di contesto.