É possível atualizar quando um cache de contexto expira. O tempo de expiração padrão de um contexto de armazenamento em cache 60 minutos após o horário de criação. Um cache de contexto expirado excluídos durante um processo de coleta de lixo e não podem ser usados ou atualizados. Para atualizar o horário em que um cache de contexto não expirado expirar, atualizar um dos seguintes propriedades:
ttl
: o número de segundos e nanossegundos que o cache permanece depois criado ou depois que ottl
for atualizado antes de expirar. Quando você definettl
, oexpireTime
do cache será atualizado.expire_time
: umaTimestamp
que especifica a data e a hora absolutas em que o cache de contexto expira.
Atualizar o cache de contexto usando o parâmetro ttl
Este é um exemplo de um comando curl que atualiza seu prazo de validade em 3.600 segundos.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Respostas com e sem streaming
Escolha se o modelo vai gerar respostas de streaming ou sem streaming. Para respostas de streaming, você recebe cada resposta assim que o token de saída for gerado. Para respostas que não são de streaming, você recebe todas as respostas depois que todos os tokens de saída forem gerados.
Para uma resposta de streaming, use o parâmetro stream
em
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Para uma resposta que não seja de streaming, remova o parâmetro ou defina-o como False
.
Código de amostra
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido da Vertex AI. Para mais informações, consulte a documentação de referência do SDK da Vertex AI para Go para Gemini.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Respostas com e sem streaming
Escolha se o modelo vai gerar respostas de streaming ou sem streaming. Para respostas de streaming, você recebe cada resposta assim que o token de saída for gerado. Para respostas que não são de streaming, você recebe todas as respostas depois que todos os tokens de saída forem gerados.
Para uma resposta de streaming, use o 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 uma resposta que não seja de streaming, use o método GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Código de amostra
REST
É possível usar REST para criar uma atualização do cache de contexto usando a
a API Vertex AI para enviar uma solicitação PATCH ao endpoint do modelo do publisher. O
o exemplo a seguir mostra como atualizar a data de validade usando a
Parâmetro ttl
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região onde a solicitação para criar o cache de contexto foi processado.
- CACHE_ID: o ID do cache de contexto. O ID do cache de contexto é retornado quando você o cria. Você também pode encontrar IDs de cache de contexto listando os caches de contexto de um projeto do Google Cloud usando. Para mais informações, consulte criar um cache de contexto e listar caches de contexto.
- SECONDS: uma
float
que especifica o componente de segundos da duração antes de o cache expirar. - NANOSECONDS: uma
float
que especifica o componente de nanossegundos da duração antes do cache expirar.
Método HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Corpo JSON da solicitação:
{ "seconds":"SECONDS", "nanos":"NANOSECONDS" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
Exemplo de 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"}
}'
Atualizar o cache de contexto usando o parâmetro expire_time
Veja a seguir um exemplo de comando curl que usa a expire_time
para atualizar o prazo de validade para as 9h em 30 de junho de 2024.
REST
É possível usar REST para criar uma atualização do cache de contexto usando a
a API Vertex AI para enviar uma solicitação PATCH ao endpoint do modelo do publisher. O
o exemplo a seguir mostra como atualizar a data de validade usando a
Parâmetro expire_time
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região onde a solicitação para criar o cache de contexto foi processado.
- CACHE_ID: o ID do cache de contexto. Encontre o ID na resposta ao criar o cache de contexto.
- EXPIRE_TIME: uma
Timestamp
que especifica o horário em que o cache de contexto expira.
Método HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID
Corpo JSON da solicitação:
{ "expire_time":"EXPIRE_TIME" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
Exemplo de 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"
}'
A seguir
- Saiba como usar um cache de contexto.
- Saiba como receber informações sobre todos os caches de contexto associados a um projeto do Google Cloud.