Puedes actualizar cuando vence una caché de contexto. El tiempo de vencimiento predeterminado de una caché de contexto es de 60 minutos después de su hora de creación. Una caché de contexto vencida se borra durante un proceso de recolección de elementos no utilizados y no se puede usar ni actualizar. Para actualizar la hora en que vence una caché de contexto sin vencer, actualiza una de las siguientes propiedades:
ttl
: Es la cantidad de segundos y nanosegundos que vive la caché después de que se crea o después de que se actualizattl
antes de que venza. Cuando configuras elttl
, se actualiza elexpireTime
de la caché.expire_time
: Es unTimestamp
que especifica la fecha y hora absolutas en las que vence la caché de contexto.
Actualiza la caché de contexto con su parámetro ttl
El siguiente es un ejemplo de un comando curl que actualiza su tiempo de vencimiento en 3,600 segundos.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.
Respuestas de transmisión y sin transmisión
Puedes elegir si el modelo genera respuestas de transmisión o sin transmisión. Para las respuestas de transmisión, recibirás cada respuesta en cuanto se genere su token de salida. En el caso de las respuestas sin transmisión continua, recibes todas las respuestas después de que se generan todos los tokens de salida.
Para una respuesta de transmisión, usa el parámetro stream
en generate_content
.
response = model.generate_content(contents=[...], stream = True)
Para una respuesta sin transmisión, quita el parámetro o configúralo como False
.
Código de muestra
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración de Go en la guía de inicio rápido de Vertex AI. Si deseas obtener más información, consulta la documentación de referencia del SDK de Java de Vertex AI para Gemini.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Respuestas de transmisión y sin transmisión
Puedes elegir si el modelo genera respuestas de transmisión o sin transmisión. Para las respuestas de transmisión, recibirás cada respuesta en cuanto se genere su token de salida. En el caso de las respuestas sin transmisión continua, recibes todas las respuestas después de que se generan todos los tokens de salida.
Para una respuesta de transmisión, usa el método GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Para una respuesta sin transmisión, usa el método GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Código de muestra
REST
Puedes usar REST para crear una actualización de la caché de contexto mediante la API de Vertex AI para enviar una solicitud PATCH al extremo del modelo del publicador. En el siguiente ejemplo, se muestra cómo actualizar la fecha de vencimiento con el parámetro ttl
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región en la que se procesó la solicitud para crear la caché de contexto.
- CACHE_ID: El ID de la caché de contexto. El ID de caché de contexto se muestra cuando creas la caché de contexto. También puedes encontrar los ID de caché de contexto si enumeras las cachés de contexto de un proyecto de Google Cloud. Para obtener más información, consulta Crea una caché de contexto y Enumera cachés de contexto.
- SECONDS: Es un
float
que especifica el componente de segundos de la duración antes de que venza la caché. - NANOSECONDS: Un
float
que especifica el componente de nanosegundos de la duración antes de que venza la caché.
Método HTTP y URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Cuerpo JSON de la solicitud:
{ "seconds":"SECONDS", "nanos":"NANOSECONDS" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Ejemplo del comando curl
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"}
}'
Actualiza la caché de contexto con su parámetro expire_time
El siguiente es un ejemplo de un comando curl que usa el parámetro expire_time
para actualizar su hora de vencimiento a las 9 a.m. del 30 de junio de 2024.
REST
Puedes usar REST para crear una actualización de la caché de contexto mediante la API de Vertex AI para enviar una solicitud PATCH al extremo del modelo del publicador. En el siguiente ejemplo, se muestra cómo actualizar la fecha de vencimiento con el parámetro expire_time
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región en la que se procesó la solicitud para crear la caché de contexto.
- CACHE_ID: El ID de la caché de contexto. Puedes encontrar el ID en la respuesta cuando creas la caché de contexto.
- EXPIRE_TIME: Es un
Timestamp
que especifica la hora en la que vence la caché de contexto.
Método HTTP y URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Cuerpo JSON de la solicitud:
{ "expire_time":"EXPIRE_TIME" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Ejemplo del comando curl
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"
}'
¿Qué sigue?
- Obtén más información sobre cómo usar una caché de contexto.
- Descubre cómo obtener información sobre todas las caché de contexto asociadas con un proyecto de Google Cloud.