Criar um cache de contexto

Crie um cache de contexto para reduzir os custos com solicitações repetidas que contêm a mesma entrada de contagem de tokens.

Exemplo de código

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.


using Google.Cloud.AIPlatform.V1Beta1;
using Google.Protobuf.WellKnownTypes;
using System;
using System.Threading.Tasks;

public class CreateContextCache
{
    public async Task<CachedContentName> Create(string projectId)
    {
        var client = await new GenAiCacheServiceClientBuilder
        {
            Endpoint = "us-central1-aiplatform.googleapis.com"
        }.BuildAsync();

        var request = new CreateCachedContentRequest
        {
            Parent = $"projects/{projectId}/locations/us-central1",
            CachedContent = new CachedContent
            {
                Model = $"projects/{projectId}/locations/us-central1/publishers/google/models/gemini-2.5-flash",
                SystemInstruction = new Content
                {
                    Parts =
                    {
                        new Part { Text = "You are an expert researcher. You always stick to the facts in the sources provided and"
                            + " never make up new facts. Now look at these research papers, and answer the following questions." }
                    }
                },
                Contents =
                {
                    new Content
                    {
                        Role = "USER",
                        Parts =
                        {
                            new Part { FileData = new() { MimeType = "application/pdf", FileUri = "gs://cloud-samples-data/generative-ai/pdf/2312.11805v3.pdf" } },
                            new Part { FileData = new() { MimeType = "application/pdf", FileUri = "gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf" } }
                        }
                    }
                },
                Ttl = Duration.FromTimeSpan(TimeSpan.FromMinutes(60))
            }
        };

        var cachedContent = await client.CreateCachedContentAsync(request);
        Console.WriteLine($"Created cache: {cachedContent.CachedContentName}");
        return cachedContent.CachedContentName;
    }
}

A seguir

Para pesquisar e filtrar exemplos de código de outros Google Cloud produtos, consulte a Google Cloud pesquisa de exemplos de código.