Infraestrutura RAG para IA generativa com o Vertex AI e a pesquisa vetorial

Last reviewed 2025-03-07 UTC

Este documento fornece uma arquitetura de referência que pode usar para criar a infraestrutura de uma aplicação de IA generativa com geração aumentada de recuperação (RAG) usando a pesquisa vetorial. A pesquisa vetorial é um serviço totalmente gerido Google Cloud que oferece uma infraestrutura de publicação otimizada para a correspondência de similaridade vetorial em grande escala.

O público-alvo deste documento inclui arquitetos, programadores e administradores de aplicações de IA generativa. O documento pressupõe uma compreensão básica dos conceitos de IA, aprendizagem automática (AA) e modelo de linguagem (conteúdo extenso) (MDI/CE). Este documento não fornece orientações sobre como criar e desenvolver uma aplicação de IA generativa.

Arquitetura

O diagrama seguinte mostra uma vista de alto nível da arquitetura que este documento apresenta:

Uma vista de alto nível dos fluxos de carregamento e publicação de dados na arquitetura.

A arquitetura no diagrama anterior tem dois subsistemas: carregamento de dados e publicação.

  • O subsistema de obtenção de dados obtém dados carregados a partir de origens externas. O subsistema prepara os dados para a RAG e interage com a Vertex AI para gerar incorporações para os dados carregados e para criar e atualizar o índice de vetores.
  • O subsistema de publicação contém os serviços de front-end e back-end da aplicação de IA generativa.
    • O serviço de front-end processa o fluxo de consulta-resposta com os utilizadores da aplicação e encaminha as consultas para o serviço de back-end.
    • O serviço de back-end usa o Vertex AI para gerar incorporações de consultas, realizar pesquisas de similaridade vetorial e aplicar filtros de segurança e instruções do sistema de IA responsável.

O diagrama seguinte mostra uma vista detalhada da arquitetura:

Uma vista detalhada dos fluxos de carregamento e publicação de dados na arquitetura.

As secções seguintes descrevem o fluxo de dados em cada subsistema do diagrama de arquitetura anterior.

Subsistema de carregamento de dados

O subsistema de obtenção de dados obtém dados de origens externas e prepara-os para a RAG. Seguem-se os passos no fluxo de carregamento e preparação de dados:

  1. Os dados são carregados de origens externas para um contentor do Cloud Storage. As origens externas podem ser aplicações, bases de dados ou serviços de streaming.
  2. Quando os dados são carregados para o Cloud Storage, é publicada uma mensagem num tópico do Pub/Sub.
  3. Quando o tópico Pub/Sub recebe uma mensagem, aciona uma função do Cloud Run.
  4. A função do Cloud Run analisa os dados não processados, formata-os conforme necessário e divide-os em partes.
  5. A função usa a API Vertex AI Embeddings para criar incorporações dos fragmentos através de um modelo de incorporação que especifica. A Vertex AI suporta modelos de incorporação de texto e multimodais.
  6. Em seguida, a função cria um índice do Vector Search das incorporações e, depois, implementa o índice.

Quando são carregados novos dados, os passos anteriores são realizados para os novos dados e o índice é atualizado através de atualizações de streaming.

Quando o subsistema de publicação processa pedidos de utilizadores, usa o índice de pesquisa vetorial para a pesquisa de semelhança vetorial. A secção seguinte descreve o fluxo de publicação.

Subsistema de publicação

O subsistema de publicação processa o fluxo de consulta-resposta entre a aplicação de IA generativa e os respetivos utilizadores. Seguem-se os passos no fluxo de publicação:

  1. Um utilizador envia uma consulta de linguagem natural a um serviço do Cloud Run que fornece uma interface de front-end (como um chatbot) para a aplicação de IA generativa.
  2. O serviço de front-end encaminha a consulta do utilizador para um serviço do Cloud Run de back-end.
  3. O serviço de back-end processa a consulta da seguinte forma:
    1. Converte a consulta em incorporações através do mesmo modelo de incorporações e dos mesmos parâmetros que o subsistema de carregamento de dados usa para gerar incorporações dos dados carregados.
    2. Obtém dados de fundamentação relevantes através da realização de uma pesquisa de similaridade vetorial para as incorporações de consultas no índice de pesquisa vetorial.
    3. Constrói um comando aumentado combinando a consulta original com os dados de fundamentação.
    4. Envia o comando aumentado para um MDG implementado no Vertex AI.
  4. O MDI gera uma resposta.
  5. Para cada comando, o Vertex AI aplica os filtros de segurança da IA responsável que configurou e, em seguida, envia a resposta filtrada e as classificações de segurança da IA para o serviço de back-end do Cloud Run.
  6. A aplicação envia a resposta ao utilizador através do serviço de frontend do Cloud Run.

Pode armazenar e ver registos da atividade de consulta-resposta no Cloud Logging, e pode configurar a monitorização baseada em registos através do Cloud Monitoring. Também pode carregar as respostas geradas para o BigQuery para análise offline.

O otimizador de comandos da Vertex AI ajuda a melhorar os comandos em grande escala, tanto durante a conceção inicial dos comandos como para o ajuste contínuo dos comandos. O otimizador de comandos avalia a resposta do seu modelo a um conjunto de comandos de exemplo fornecidos por engenheiros de ML. O resultado da avaliação inclui as respostas do modelo aos comandos de exemplo, as classificações das métricas que os engenheiros de ML especificam e um conjunto de instruções do sistema otimizadas que pode considerar usar.

Produtos usados

Esta arquitetura de referência usa os seguintes produtos Google Cloud :

  • Vertex AI: uma plataforma de ML que lhe permite preparar e implementar modelos de ML e aplicações de IA, bem como personalizar MDIs/CE para utilização em aplicações com tecnologia de IA.
  • Vector Search: um serviço de correspondência de semelhanças vetoriais que lhe permite armazenar, indexar e pesquisar dados semanticamente semelhantes ou relacionados.
  • Cloud Run: uma plataforma de computação sem servidor que lhe permite executar contentores diretamente na infraestrutura escalável da Google.
  • Funções do Cloud Run: uma plataforma de computação sem servidor que lhe permite executar funções de finalidade única diretamente no Google Cloud.
  • Cloud Storage: um serviço de armazenamento de objetos de baixo custo e sem limite para diversos tipos de dados. Os dados podem ser acedidos a partir do interior e do exterior Google Cloud, e são replicados em várias localizações para redundância.
  • Pub/Sub: um serviço de mensagens assíncrono e escalável que desassocia os serviços que produzem mensagens dos serviços que processam essas mensagens.
  • Cloud Logging: um sistema de gestão de registos em tempo real com armazenamento, pesquisa, análise e alertas.
  • Cloud Monitoring: um serviço que oferece visibilidade do desempenho, da disponibilidade e do estado das suas aplicações e infraestrutura.
  • BigQuery: um armazém de dados empresariais que ajuda a gerir e analisar os seus dados com funcionalidades integradas, como aprendizagem automática, análise geoespacial e Business Intelligence.

Exemplos de utilização

A RAG é uma técnica eficaz para melhorar a qualidade do resultado gerado a partir de um LLM. Esta secção apresenta exemplos de utilização para os quais pode usar aplicações de IA generativa com capacidade de RAG.

Recomendações personalizadas de produtos

Um site de compras online pode usar um chatbot com tecnologia de MDIs para ajudar os clientes a encontrar produtos ou receber ajuda relacionada com compras. As perguntas de um utilizador podem ser melhoradas através da utilização de dados do histórico sobre o comportamento de compra do utilizador e os padrões de interação com o Website. Os dados podem incluir críticas e feedback dos utilizadores armazenados num arquivo de dados não estruturado ou métricas relacionadas com a pesquisa armazenadas num data warehouse de estatísticas da Web. A pergunta aumentada pode ser processada pelo MDG para gerar respostas personalizadas que o utilizador pode considerar mais apelativas e convincentes.

Sistemas de assistência clínica

Os médicos nos hospitais precisam de analisar e diagnosticar rapidamente o estado de saúde de um paciente para tomar decisões sobre os cuidados e a medicação adequados. Uma aplicação de IA generativa que usa um MDI/CE médico, como o Med-PaLM, pode ser usada para ajudar os médicos no respetivo processo de diagnóstico clínico. As respostas que a aplicação gera podem basear-se em registos de pacientes históricos, contextualizando os comandos dos médicos com dados da base de dados de registos de saúde eletrónicos (RSE) do hospital ou de uma base de conhecimentos externa, como o PubMed.

A pesquisa jurídica baseada em IA generativa permite que os advogados consultem rapidamente grandes volumes de estatutos e leis de casos para identificar precedentes legais relevantes ou resumir conceitos jurídicos complexos. O resultado desta pesquisa pode ser melhorado através do aumento dos comandos de um advogado com dados obtidos do conjunto de dados proprietário de contratos, comunicações legais anteriores e registos de casos internos do escritório de advogados. Esta abordagem de design garante que as respostas geradas são relevantes para o domínio jurídico em que o advogado se especializa.

Alternativas de design

Esta secção apresenta abordagens de design alternativas que pode considerar para a sua aplicação de IA generativa com capacidade de RAG no Google Cloud.

Alternativas de infraestrutura de IA

Se quiser tirar partido das capacidades de armazenamento de vetores de uma base de dados Google Cloud totalmente gerida, como o AlloyDB para PostgreSQL ou o Cloud SQL para a sua aplicação RAG, consulte o artigo Infraestrutura RAG para IA generativa com o Vertex AI e o AlloyDB para PostgreSQL.

Se quiser criar e implementar rapidamente aplicações de IA generativa com capacidade de RAG usando ferramentas e modelos de código aberto Ray, Hugging Face e LangChain, consulte o artigo Infraestrutura de RAG para IA generativa com o GKE e o Cloud SQL.

Opções de alojamento de aplicações

Na arquitetura apresentada neste documento, o Cloud Run é o anfitrião da aplicação de IA generativa e do processamento de dados. O Cloud Run é uma plataforma de aplicações totalmente gerida e orientada para programadores. Se precisar de maior flexibilidade de configuração e controlo sobre a infraestrutura de computação, pode implementar a sua aplicação em clusters do GKE ou em VMs do Compute Engine.

A decisão de usar o Cloud Run, o GKE ou o Compute Engine como anfitrião da aplicação envolve cedências entre a flexibilidade da configuração e o esforço de gestão. Com a opção do Cloud Run sem servidor, implementa a sua aplicação num ambiente pré-configurado que requer um esforço de gestão mínimo. Com as MVs do Compute Engine e os contentores do GKE, é responsável pela gestão dos recursos de computação subjacentes, mas tem maior flexibilidade e controlo de configuração. Para mais informações sobre a escolha de um serviço de alojamento de aplicações adequado, consulte os seguintes documentos:

Outras opções

Para ver informações sobre outras opções de infraestrutura, modelos suportados e técnicas de fundamentação que pode usar para aplicações de IA generativa noGoogle Cloud, consulte o artigo Escolha modelos e infraestrutura para a sua aplicação de IA generativa.

Considerações de design

Esta secção descreve os fatores de design, as práticas recomendadas e as recomendações de design que deve considerar quando usa esta arquitetura de referência para desenvolver uma topologia que cumpra os seus requisitos específicos de segurança, fiabilidade, custo e desempenho.

As orientações nesta secção não são exaustivas. Consoante os requisitos específicos da sua aplicação e os produtos e funcionalidades de terceiros que usa, podem existir fatores de design e compromissos adicionais que deve considerar. Google Cloud

Segurança, conformidade e privacidade

Esta secção descreve as considerações e as recomendações de design para criar uma topologia no Google Cloud que cumpra os requisitos de segurança e conformidade das suas cargas de trabalho. Google Cloud

Produto Considerações e recomendações de design
Vertex AI

Controlos de segurança: o Vertex AI suporta Google Cloud controlos de segurança que pode usar para cumprir os seus requisitos de residência de dados, encriptação de dados, segurança de rede e transparência de acesso. Para mais informações, consulte os Controlos de segurança para a Vertex AI e os Controlos de segurança para a IA generativa.

Acesso ao modelo: pode configurar políticas da organização para limitar o tipo e as versões dos MDIs que podem ser usados num Google Cloud projeto. Para mais informações, consulte o artigo Controle o acesso aos modelos do Model Garden.

Responsabilidade partilhada: o Vertex AI protege a infraestrutura subjacente e fornece ferramentas e controlos de segurança para ajudar a proteger os seus dados, código e modelos. Para mais informações, consulte o artigo Responsabilidade partilhada da Vertex AI.

Proteção de dados: use a API Cloud Data Loss Prevention para descobrir e desidentificar dados sensíveis, como informações de identificação pessoal (PII), nos comandos e nas respostas, bem como nos dados de registo. Para mais informações, consulte este vídeo: Proteger dados confidenciais em apps de IA.

Cloud Run

Segurança de entrada (serviço de front-end): para controlar o acesso externo à aplicação, desative o URL run.app predefinido do serviço de front-end do Cloud Run e configure um Application Load Balancer externo regional. Além de equilibrar a carga do tráfego recebido para a aplicação, o balanceador de carga processa a gestão de certificados SSL. Para maior proteção, pode usar as políticas de segurança do Google Cloud Armor para fornecer filtragem de pedidos, proteção contra DDoS e limitação de taxa para o serviço.

Segurança de entrada (serviço de back-end): o serviço do Cloud Run para o back-end da aplicação nesta arquitetura não precisa de acesso à Internet. Para garantir que apenas os clientes internos podem aceder ao serviço, defina o parâmetro ingress como internal. Para mais informações, consulte o artigo Restrinja a entrada de rede para o Cloud Run.

Encriptação de dados: por predefinição, o Cloud Run encripta os dados através de uma Google-owned and Google-managed encryption key. Para proteger os seus contentores através de uma chave que controla, pode usar chaves de encriptação geridas pelo cliente (CMEK). Para mais informações, consulte o artigo Usar chaves de encriptação geridas pelo cliente.

Segurança de imagens de contentores: para garantir que apenas as imagens de contentores autorizadas são implementadas nos serviços do Cloud Run, pode usar a autorização binária.

Residência dos dados: o Cloud Run ajuda a cumprir os requisitos de residência dos dados. As instâncias de contentores do Cloud Run são executadas na região que selecionar.

Para mais orientações sobre a segurança de contentores, consulte as sugestões gerais de desenvolvimento do Cloud Run.

Cloud Storage

Encriptação de dados: por predefinição, os dados armazenados no Cloud Storage são encriptados através de Google-owned and Google-managed encryption keys. Se necessário, pode usar CMEKs ou as suas próprias chaves que gere através de um método de gestão externo, como chaves de encriptação fornecidas pelo cliente (CSEKs). Para mais informações, consulte as Opções de encriptação de dados.

Controlo de acesso: o Cloud Storage suporta dois métodos para controlar o acesso dos utilizadores aos seus contentores e objetos: gestão de identidade e de acesso (IAM) e listas de controlo de acesso (ACLs). Na maioria dos casos, recomendamos a utilização da IAM, que lhe permite conceder autorizações ao nível do contentor e do projeto. Para mais informações, consulte o artigo Vista geral do controlo de acesso.

Proteção de dados: os dados que carrega para o subsistema de carregamento de dados através do Cloud Storage podem incluir dados confidenciais. Para proteger esses dados, pode usar a proteção de dados confidenciais para descobrir, classificar e desidentificar os dados. Para mais informações, consulte o artigo Usar a proteção de dados confidenciais com o Cloud Storage.

Controlo de rede: para mitigar o risco de exfiltração de dados do Cloud Storage, pode criar um perímetro de serviço através dos VPC Service Controls.

Residência dos dados: o Cloud Storage ajuda a cumprir os requisitos de residência dos dados. Os dados são armazenados ou replicados nas regiões que especificar.

Pub/Sub

Encriptação de dados: por predefinição, o Pub/Sub encripta todas as mensagens, tanto em repouso como em trânsito, através da Google-owned and Google-managed encryption keys. O Pub/Sub suporta a utilização de CMEKs para a encriptação de mensagens na camada de aplicação. Para mais informações, consulte o artigo Configure a encriptação de mensagens.

Residência dos dados: se tiver requisitos de residência dos dados, para garantir que os dados das mensagens são armazenados em localizações específicas, pode configurar políticas de armazenamento de mensagens.

Cloud Logging

Auditoria da atividade administrativa: o registo da atividade administrativa está ativado por predefinição para todos os Google Cloud serviços usados nesta arquitetura de referência. Pode aceder aos registos através do Cloud Logging e usá-los para monitorizar chamadas API ou outras ações que modifiquem a configuração ou os metadados dos Google Cloud recursos.

Auditoria de acesso aos dados: o registo de eventos de acesso aos dados está ativado por predefinição para o BigQuery. Para os outros serviços que são usados nesta arquitetura, pode ativar os registos de auditoria de acesso a dados. Pode usar estes registos para monitorizar o seguinte:

  • Chamadas API que leem a configuração ou os metadados dos recursos.
  • Pedidos do utilizador para criar, modificar ou ler dados de recursos fornecidos pelo utilizador.

Segurança dos dados de registo: a Google não acede nem utiliza os dados no Cloud Logging.

Residência dos dados: para ajudar a cumprir os requisitos de residência dos dados, pode configurar o Cloud Logging para armazenar dados de registo na região que especificar. Para mais informações, consulte o artigo Regionalize os seus registos.

Todos os produtos na arquitetura

Mitigue o risco de exfiltração de dados: para reduzir o risco de exfiltração de dados, crie um perímetro dos VPC Service Controls em torno da infraestrutura. O VPC Service Controls suporta todos os serviços usados nesta arquitetura de referência.

Otimização pós-implementação: depois de implementar a sua aplicação no Google Cloud, use o serviço Active Assist para receber recomendações que podem ajudar a otimizar ainda mais a segurança dos seus recursos na nuvem. Reveja as recomendações e aplique-as conforme adequado para o seu ambiente. Para mais informações, consulte o artigo Encontre recomendações no Centro de Recomendações.

Controlo de acesso: siga o princípio do menor privilégio para todos os serviços na nuvem.

Para orientações gerais sobre a segurança das implementações de IA e ML no Google Cloud, consulte os seguintes recursos:

Fiabilidade

Esta secção descreve as considerações e as recomendações de design para criar e operar uma infraestrutura fiável para a sua implementação no Google Cloud.

Produto Considerações e recomendações de design
Vector Search

Dimensionamento de consultas: para garantir que o índice de pesquisa vetorial consegue processar aumentos na carga de consultas, pode configurar o dimensionamento automático para o ponto final do índice. Quando a carga de consultas aumenta, o número de nós é aumentado automaticamente até ao máximo especificado. Para mais informações, consulte o artigo Ative o dimensionamento automático.

Cloud Run

Robustez perante interrupções da infraestrutura: O Cloud Run é um serviço regional. Os dados são armazenados de forma síncrona em várias zonas numa região. O tráfego é automaticamente balanceado por carga nas zonas. Se ocorrer uma indisponibilidade de uma zona, o Cloud Run continua a ser executado e os dados não são perdidos. Se ocorrer uma indisponibilidade regional, o Cloud Run deixa de ser executado até que a Google resolva a indisponibilidade.

Cloud Storage Disponibilidade dos dados: pode criar contentores do Cloud Storage num de três tipos de localização: regional, de duas regiões ou multirregional. Os dados armazenados em contentores regionais são replicados de forma síncrona em várias zonas numa região. Para uma maior disponibilidade, pode usar contentores de duas regiões ou multirregionais, em que os dados são replicados de forma assíncrona entre regiões.
Pub/Sub

Controlo da taxa: para evitar erros durante períodos de picos transitórios no tráfego de mensagens, pode limitar a taxa de pedidos de publicação configurando o controlo de fluxo nas definições do publicador.

Processamento de falhas: para processar tentativas de publicação com falhas, ajuste as variáveis de pedido de nova tentativa conforme necessário. Para mais informações, consulte o artigo Tentar novamente os pedidos.

BigQuery Robustez em caso de falhas de infraestrutura: os dados que carrega no BigQuery são armazenados de forma síncrona em duas zonas na região que especificar. Esta redundância ajuda a garantir que os seus dados não são perdidos quando ocorre uma indisponibilidade de zona. Para mais informações sobre as funcionalidades de fiabilidade no BigQuery, consulte o artigo Compreender a fiabilidade.
Todos os produtos na arquitetura Otimização pós-implementação: depois de implementar a sua aplicação no Google Cloud, use o serviço Active Assist para receber recomendações que lhe permitam otimizar ainda mais a fiabilidade dos seus recursos na nuvem. Reveja as recomendações e aplique-as conforme adequado para o seu ambiente. Para mais informações, consulte o artigo Encontre recomendações no Centro de Recomendações.

Para ver princípios e recomendações de fiabilidade específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: fiabilidade no Well-Architected Framework.

Otimização de custos

Esta secção fornece orientações para otimizar o custo de configuração e funcionamento de uma topologia que cria através desta arquitetura de referência. Google Cloud

Produto Considerações e recomendações de design
Vector Search

A faturação da pesquisa vetorial depende do tamanho do seu índice, das consultas por segundo (CPS) e do número e tipo de máquina dos nós que usa para o ponto final do índice. Para cargas de trabalho de CPS elevado, o processamento em lote das consultas pode ajudar a reduzir o custo. Para informações sobre como pode estimar o custo da pesquisa vetorial, consulte os exemplos de preços da pesquisa vetorial.

Para melhorar a utilização dos nós de computação nos quais o índice de pesquisa vetorial está implementado, pode configurar o dimensionamento automático para o ponto final do índice. Quando a procura é baixa, o número de nós é reduzido automaticamente ao mínimo que especificar. Para mais informações, consulte o artigo Ative o ajuste de escala automático.

Cloud Run

Quando cria serviços do Cloud Run, especifica a quantidade de memória e CPU a atribuir à instância do contentor. Para controlar os custos, comece com as atribuições de CPU e memória predefinidas (mínimas). Para melhorar o desempenho, pode aumentar a atribuição configurando o limite de CPU e o limite de memória. Para mais informações, consulte a seguinte documentação:

Se conseguir prever os requisitos de CPU e memória dos seus serviços do Cloud Run, pode poupar dinheiro recebendo descontos por utilização comprometida. Para mais informações, consulte os descontos de utilização comprometida do Cloud Run.

Cloud Storage Para o contentor do Cloud Storage que usa para carregar dados para o subsistema de carregamento de dados, escolha uma classe de armazenamento adequada. Quando escolhe a classe de armazenamento, considere os requisitos de retenção de dados e frequência de acesso das suas cargas de trabalho. Por exemplo, para controlar os custos de armazenamento, pode escolher a classe Standard e usar a Gestão do ciclo de vida de objetos. Ao fazê-lo, permite a mudança automática de objetos para uma classe de armazenamento de custo inferior ou a eliminação de objetos com base nas condições que definir.
Cloud Logging

Para controlar o custo do armazenamento de registos, pode fazer o seguinte:

  • Reduza o volume de registos excluindo ou filtrando entradas do registo desnecessárias. Para mais informações, consulte o artigo Filtros de exclusão.
  • Reduza o período durante o qual as entradas de registo são retidas. Para mais informações, consulte o artigo Configure a retenção personalizada.
BigQuery O BigQuery permite-lhe estimar o custo das consultas antes de as executar. Para otimizar os custos das consultas, tem de otimizar o armazenamento e o cálculo das consultas. Para mais informações, consulte o artigo Estime e controle os custos.
Todos os produtos na arquitetura Depois de implementar a sua aplicação no Google Cloud, use o serviço Active Assist para receber recomendações que lhe permitam otimizar ainda mais o custo dos seus recursos na nuvem. Reveja as recomendações e aplique-as conforme adequado para o seu ambiente. Para mais informações, consulte o artigo Encontre recomendações no Centro de Recomendações.

Para estimar o custo dos seus Google Cloud recursos, use a Google Cloud calculadora de preços.

Para ver princípios e recomendações de otimização de custos específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: otimização de custos no Well-Architected Framework.

Otimização do desempenho

Esta secção descreve as considerações e as recomendações de design para criar uma topologia no Google Cloud que cumpra os requisitos de desempenho das suas cargas de trabalho.

Produto Considerações e recomendações de design
Vector Search

Quando criar o índice, defina o tamanho do fragmento, o tipo de medida de distância e o número de incorporações para cada nó folha com base nos requisitos de desempenho. Por exemplo, se a sua aplicação for extremamente sensível à variabilidade da latência, recomendamos um tamanho de fragmento grande. Para mais informações, consulte o artigo Parâmetros de configuração que afetam o desempenho.

Quando configurar a capacidade de computação dos nós nos quais o índice de pesquisa vetorial está implementado, tenha em conta os seus requisitos de desempenho. Escolha um tipo de máquina adequado e defina o número máximo de nós com base na carga de consultas que espera. Para mais informações, consulte o artigo Definições de implementação que afetam o desempenho.

Configure os parâmetros de consulta para o índice do Vertex Search com base nos seus requisitos de desempenho, disponibilidade e custo das consultas. Por exemplo, o parâmetro approximateNeighborsCount especifica o número de vizinhos que têm de ser obtidos antes de ser feita a reordenação exata. Diminuir o valor deste parâmetro pode ajudar a reduzir a latência e o custo. Para mais informações, consulte o artigo Definições de tempo de consulta que afetam o desempenho.

Um índice atualizado ajuda a melhorar a precisão das respostas geradas. Pode atualizar o índice de pesquisa vetorial através de atualizações em lote ou de streaming. As atualizações de streaming permitem-lhe fazer consultas quase em tempo real sobre dados atualizados. Para mais informações, consulte o artigo Atualize e recrie um índice ativo.

Cloud Run

Por predefinição, a cada instância de contentor do Cloud Run é atribuída uma CPU e 512 MiB de memória. Consoante os requisitos de desempenho, pode configurar o limite de CPU e o limite de memória. Para mais informações, consulte a seguinte documentação:

Para garantir uma latência ideal, mesmo após um período sem tráfego, pode configurar um número mínimo de instâncias. Quando essas instâncias estão inativas, a CPU e a memória alocadas às instâncias são faturadas a um preço mais baixo.

Para mais orientações sobre a otimização do desempenho, consulte as sugestões gerais de desenvolvimento do Cloud Run.

Cloud Storage Para carregar ficheiros grandes, pode usar um método denominado carregamentos compostos paralelos. Com esta estratégia, o ficheiro grande é dividido em blocos. Os fragmentos são carregados para o Cloud Storage em paralelo e, em seguida, os dados são recompostos na nuvem. Quando a largura de banda da rede e a velocidade do disco não são fatores limitativos, os carregamentos compostos paralelos podem ser mais rápidos do que as operações de carregamento normais. No entanto, esta estratégia tem algumas limitações e implicações de custos. Para mais informações, consulte o artigo Carregamentos compostos paralelos.
BigQuery

O BigQuery fornece um gráfico de execução de consultas que pode usar para analisar o desempenho das consultas e obter estatísticas de desempenho para problemas como a contenção de slots e a quota de mistura insuficiente. Para mais informações, consulte o artigo Obtenha estatísticas de desempenho das consultas.

Depois de resolver os problemas que identificar através das estatísticas de desempenho das consultas, pode otimizar ainda mais as consultas usando técnicas como a redução do volume de dados de entrada e saída. Para mais informações, consulte o artigo Otimize o cálculo de consultas.

Todos os produtos na arquitetura Depois de implementar a sua aplicação no Google Cloud, use o serviço Active Assist para receber recomendações que otimizem ainda mais o desempenho dos seus recursos na nuvem. Reveja as recomendações e aplique-as conforme adequado para o seu ambiente. Para mais informações, consulte o artigo Encontre recomendações no Centro de Recomendações.

Para ver princípios e recomendações de otimização do desempenho específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: otimização do desempenho no Well-Architected Framework.

Implementação

Para implementar uma topologia baseada nesta arquitetura de referência, pode transferir e usar a configuração de exemplo do Terraform disponível num repositório no GitHub. Siga as instruções no ficheiro README do repositório. O código de exemplo não se destina a exemplos de utilização em produção.

O que se segue?

Colaboradores

Autor: Kumar Dhanagopal | Cross-Product Solution Developer

Outros colaboradores: