É preciso criar um cache de contexto antes de usá-lo. O cache de contexto que você create contém uma grande quantidade de dados que você pode usar em várias solicitações para um modelo do Gemini. O conteúdo em cache é armazenado na região em que você faz o para criar o cache.
O conteúdo em cache pode ser qualquer um dos tipos MIME compatíveis com o multimodal do Gemini. e modelos de ML. Por exemplo, é possível armazenar em cache uma grande quantidade de texto, áudio ou vídeo. Você podem especificar mais de um arquivo para armazenar em cache. Para mais informações, consulte os seguintes requisitos de mídia:
Você especifica o conteúdo a ser armazenado em cache usando um blob, texto ou um caminho para um arquivo armazenadas em um bucket do Cloud Storage. Se o tamanho do conteúdo armazenado em cache for maior que 10 MB, especifique-o usando o URI de um arquivo armazenadas em um bucket do Cloud Storage.
O conteúdo armazenado em cache tem uma vida útil finita. O prazo de validade padrão de um contexto
que é criado depois de 60 minutos. Se você quiser um prazo de validade diferente,
é possível especificar um prazo de validade diferente usando ttl
ou expire_time
.
propriedade quando você cria um cache de contexto. Também é possível atualizar a data de validade
tempo para um cache de contexto não expirado. Para mais informações sobre como especificar
ttl
e expire_time
, consulte
Atualize o prazo de validade.
Depois que um cache de contexto expira, ele não está mais disponível. Se você quiser referenciar o conteúdo em um cache de contexto expirado em solicitações de solicitações futuras será preciso recriar o cache de contexto.
Limites do cache de contexto
O conteúdo armazenado em cache precisa seguir os seguintes limites:
Limites de armazenamento em cache contextual | |
---|---|
Tamanho mínimo de um cache |
32.769 tokens |
Tamanho máximo de conteúdo que pode ser armazenado em cache usando um blob ou texto |
10 MB |
Tempo mínimo antes de um cache expirar após ser criado |
1 minuto |
O tempo máximo para que um cache expire após ser criado |
Não há uma duração máxima de cache |
Exemplo de criação de cache de contexto
Os exemplos a seguir mostram como criar um cache de contexto.
Gen AI SDK for Python
Instalar
pip install --upgrade google-genai
Defina variáveis de ambiente para usar o SDK de IA generativa com a 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=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
SDK da Vertex AI para 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.
Go
Antes de testar esse exemplo, siga as instruções de configuração para Go no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Go.
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.
C#
Antes de testar esse exemplo, siga as instruções de configuração para C# no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para C#.
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.
REST
É possível usar o REST para criar um cache de contexto usando a API Vertex AI para enviar uma POST para o endpoint do modelo do publisher. O exemplo a seguir mostra como criar um cache de contexto usando um arquivo armazenado em uma instância do Cloud Storage do Cloud Storage.
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 para processar a solicitação e onde o conteúdo em cache é armazenado. Para conferir uma lista de regiões aceitas, consulte Regiões disponíveis.
- CACHE_DISPLAY_NAME: um nome de exibição significativo para descrever e ajudar a identificar cada cache de contexto.
- MIME_TYPE: o tipo MIME do conteúdo a ser armazenado em cache.
- CONTENT_TO_CACHE_URI: o URI do Cloud Storage do conteúdo a ser armazenado em cache.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents
Corpo JSON da solicitação:
{ "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-pro-002", "displayName": "CACHE_DISPLAY_NAME", "contents": [{ "role": "user", "parts": [{ "fileData": { "mimeType": "MIME_TYPE", "fileUri": "CONTENT_TO_CACHE_URI" } }] }, { "role": "model", "parts": [{ "text": "This is sample text to demonstrate explicit caching." }] }] }
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 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents"
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 POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Exemplo de comando curl
LOCATION="us-central1"
MODEL_ID="gemini-1.5-pro-002"
PROJECT_ID="test-project"
MIME_TYPE="video/mp4"
CACHED_CONTENT_URI="gs://path-to-bucket/video-file-name.mp4"
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}/cachedContents -d \
'{
"model":"projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}",
"contents": [
{
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "${MIME_TYPE}",
"fileUri": "${CACHED_CONTENT_URI}"
}
}
]
}
]
}'
A seguir
- Saiba como usar um cache de contexto.
- Saiba como atualizar o prazo de validade de um cache de contexto.