Neste documento, apresentamos uma arquitetura de referência que pode ser usada para projetar a infraestrutura de um aplicativo de IA generativa com geração aumentada de recuperação (RAG, na sigla em inglês) usando a Pesquisa de vetor. A Pesquisa vetorial é um serviço Google Cloud totalmente gerenciado que oferece infraestrutura de veiculação otimizada para correspondência de similaridade de vetores em grande escala.
O público-alvo deste documento inclui arquitetos, desenvolvedores e administradores de aplicativos de IA generativa. Este documento considera uma compreensão básica dos conceitos de IA, machine learning (ML) e modelo de linguagem grande (LLM). Neste documento, não fornecemos orientações sobre como projetar e desenvolver um aplicativo de IA generativa.
Arquitetura
O diagrama a seguir mostra uma visão geral da arquitetura apresentada neste documento:
A arquitetura no diagrama anterior tem dois subsistemas: ingestão de dados e exibição.
- O subsistema de ingestão de dados ingere dados enviados de fontes externas. O subsistema prepara os dados para o RAG e interage com a Vertex AI para gerar embeddings dos dados ingeridos e criar e atualizar o índice de vetores.
- O subsistema de disponibilização contém os serviços de front-end e back-end do aplicativo de IA generativa.
- O serviço de front-end lida com o fluxo de consulta/resposta com os usuários do aplicativo e encaminha consultas para o serviço de back-end.
- O serviço de back-end usa a Vertex AI para gerar embeddings de consulta, realizar pesquisas de similaridade vetorial e aplicar filtros de segurança e instruções do sistema da IA responsável.
O diagrama a seguir mostra uma visão detalhada da arquitetura:
As seções a seguir descrevem o fluxo de dados em cada subsistema do diagrama de arquitetura anterior.
Subsistema de ingestão de dados
O subsistema de ingestão de dados ingere dados de fontes externas e os prepara para o RAG. Confira a seguir as etapas do fluxo de ingestão e preparação de dados:
- Os dados são enviados de fontes externas para um bucket do Cloud Storage. As fontes externas podem ser aplicativos, bancos de dados ou serviços de streaming.
- Quando os dados são enviados para o Cloud Storage, uma mensagem é publicada em um tópico do Pub/Sub.
- Quando o tópico do Pub/Sub recebe uma mensagem, ele aciona um job do Cloud Run.
- O job do Cloud Run analisa os dados brutos, os formata conforme necessário e os divide em partes.
- O job do Cloud Run usa a API Vertex AI Embeddings para criar embeddings dos blocos usando um modelo de embedding especificado. A Vertex AI oferece suporte a modelos de embeddings de texto e multimodais.
- O job do Cloud Run cria um índice da Pesquisa de vetor dos embeddings e o implanta.
Quando novos dados são ingeridos, as etapas anteriores são realizadas para os novos dados e o índice é atualizado usando atualizações de streaming.
Quando o subsistema de disponibilização processa solicitações de usuários, ele usa o índice de pesquisa vetorial para pesquisas de similaridade vetorial. A próxima seção descreve o fluxo de veiculação.
Subsistema de disponibilização
O subsistema de disponibilização lida com o fluxo de consulta/resposta entre o aplicativo de IA generativa e os usuários. Confira a seguir as etapas do fluxo de veiculação:
- Um usuário envia uma consulta em linguagem natural para um serviço do Cloud Run que fornece uma interface de front-end (como um chatbot) para o aplicativo de IA generativa.
- O serviço de front-end encaminha a consulta do usuário para um serviço de back-end do Cloud Run.
- O serviço de back-end processa a consulta da seguinte maneira:
- Converte a consulta em embeddings usando o mesmo modelo e parâmetros de embeddings que o subsistema de ingestão de dados usa para gerar embeddings dos dados ingeridos.
- Recupera dados de embasamento relevantes realizando uma pesquisa de similaridade vetorial para os embeddings de consulta no índice de pesquisa vetorial.
- Constrói um comando aumentado combinando a consulta original com os dados de embasamento.
- Envia o comando aumentado para um LLM implantado na Vertex AI.
- O LLM gera uma resposta.
- Para cada comando, a Vertex AI aplica os filtros de segurança da IA responsável que você configurou e envia a resposta filtrada e as pontuações de segurança da IA para o serviço de back-end do Cloud Run.
- O aplicativo envia a resposta ao usuário pelo serviço de front-end do Cloud Run.
É possível armazenar e conferir registros da atividade de consulta/resposta no Cloud Logging e configurar o monitoramento com base em registros usando o Cloud Monitoring. Também é possível carregar as respostas geradas no BigQuery para análises off-line.
O otimizador de comandos da Vertex AI ajuda a melhorar os comandos em grande escala, tanto durante o design inicial quanto para o ajuste contínuo. O otimizador de comandos avalia a resposta do modelo em relação a um conjunto de comandos de amostra fornecidos pelos engenheiros de ML. A saída da avaliação inclui as respostas do modelo às instruções de exemplo, as pontuações das métricas que os engenheiros de ML especificam e um conjunto de instruções do sistema otimizadas que você pode usar.
Produtos usados
Esta arquitetura de referência usa os seguintes Google Cloud produtos:
- Vertex AI: uma plataforma de ML que permite treinar e implantar modelos de ML e aplicativos de IA, além de personalizar LLMs para uso em aplicativos com tecnologia de IA.
- Pesquisa vetorial: um serviço de correspondência de similaridade vetorial que permite armazenar, indexar e pesquisar dados semanticamente semelhantes ou relacionados.
- Cloud Run: uma plataforma de computação sem servidor que permite executar contêineres diretamente na infraestrutura escalonável do Google.
- Cloud Storage: um armazenamento de objetos de baixo custo e sem limite para diversos tipos de dados. Os dados podem ser acessados de dentro e de fora do Google Cloude são replicados entre locais para redundância.
- Pub/Sub: um serviço de mensagens assíncrono e escalonável que separa os serviços que produzem mensagens daqueles que processam essas mensagens.
- Cloud Logging: um sistema de gerenciamento de registros em tempo real com armazenamento, pesquisa, análise e alertas.
- Cloud Monitoring: um serviço que fornece visibilidade do desempenho, da disponibilidade e da integridade dos aplicativos e da infraestrutura.
- BigQuery: um data warehouse corporativo que ajuda a gerenciar e analisar seus dados com recursos integrados, como análise geoespacial de machine learning e Business Intelligence.
Casos de uso
A RAG é uma técnica eficaz para melhorar a qualidade da saída gerada por um LLM. Nesta seção, apresentamos exemplos de casos de uso em que é possível usar aplicativos de IA generativa com capacidade de RAG.
Recomendações de produtos personalizada
Um site de compras on-line pode usar um chatbot com tecnologia de LLM para ajudar os clientes a encontrar produtos ou receber ajuda relacionada a compras. As perguntas de um usuário podem ser aumentadas usando dados históricos sobre os padrões de interação no site e o comportamento de compra do usuário. Os dados podem incluir avaliações e feedback de usuários armazenados em um repositório de dados não estruturados ou métricas relacionadas à pesquisa que são armazenadas em um data warehouse de análise da Web. A pergunta aumentada pode ser processada pelo LLM para gerar respostas personalizadas que o usuário pode achar mais relevantes e convincentes.
Sistemas de assistência clínica
Médicos em hospitais precisam analisar e diagnosticar rapidamente a condição de saúde de um paciente para tomar decisões sobre tratamentos e medicamentos apropriados. Um aplicativo de IA generativa que usa um LLM médico, como o Med-PaLM, pode ser usado para ajudar médicos no processo de diagnóstico clínico. As respostas que o aplicativo gera podem ser fundamentadas por históricos dos pacientes contextualizando os comandos dos médicos com dados do banco de dados dos históricos de saúde eletrônicos (EHR, na sigla em inglês) do hospital ou de uma base de conhecimento externa, como o PubMed:
Pesquisa jurídica eficiente
A pesquisa jurídica com tecnologia de IA generativa permite que advogados consultem rapidamente grandes volumes de estatutos e jurisprudência para identificar precedentes legais relevantes ou resumir conceitos jurídicos complexos. O resultado dessa pesquisa pode ser aprimorado aumentando os comandos de um advogado com dados extraídos das comunicações legais anteriores, dos registros de casos internos e do corpus reservado de contratos do escritório de advocacia. Essa abordagem de desenvolvimento garante que as respostas geradas sejam relevantes para o domínio jurídico em que o advogado é especializado.
Alternativas de design
Esta seção apresenta abordagens de design alternativas que podem ser consideradas para seu aplicativo de IA generativa com capacidade de RAG em Google Cloud.
Alternativas de infraestrutura de IA
Se você quiser aproveitar os recursos de armazenamento de vetores de um banco de dados Google Cloud totalmente gerenciado, como o AlloyDB para PostgreSQL ou o Cloud SQL para seu aplicativo RAG, consulte Infraestrutura para um aplicativo de IA generativa com capacidade de RAG usando a Vertex AI e o AlloyDB para PostgreSQL.
Se você quiser criar e implantar rapidamente aplicativos de IA generativa com capacidade de RAG usando ferramentas e modelos de código aberto, como Ray, Hugging Face e LangChain, consulte Infraestrutura para um aplicativo de IA generativa com capacidade de RAG usando o Google Kubernetes Engine (GKE).
Opções de hospedagem de aplicativos
Na arquitetura mostrada neste documento, o Cloud Run é o host dos serviços de aplicativo de IA generativa e do job de processamento de dados. O Cloud Run é uma plataforma de aplicativos totalmente gerenciada e focada em desenvolvedores. Se você precisar de mais flexibilidade e controle de configuração sobre a infraestrutura de computação, implante seu aplicativo 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 host do aplicativo envolve uma troca entre flexibilidade de configuração e esforço de gerenciamento. Com a opção sem servidor do Cloud Run, você implanta seu aplicativo em um ambiente pré-configurado que requer esforço mínimo de gerenciamento. Com as VMs do Compute Engine e os contêineres do GKE, você é responsável por gerenciar os recursos de computação subjacentes, mas tem mais flexibilidade e controle de configuração. Para mais informações sobre como escolher um serviço de hospedagem de aplicativos adequado, consulte os seguintes documentos:
- Meu app é adequado para o Cloud Run?
- Selecionar um ambiente de execução do contêiner gerenciado
- Hospedagem de aplicativos no Google Cloud
Outras opções
Para informações sobre outras opções de infraestrutura, modelos compatíveis e técnicas de ancoragem que podem ser usadas para aplicativos de IA generativa em Google Cloud, consulte Escolher modelos e infraestrutura para seu aplicativo de IA generativa.
Considerações sobre o design
Esta seção descreve os fatores de design, as práticas recomendadas e as recomendações de design que você precisa considerar ao usar essa arquitetura de referência para desenvolver uma topologia que atenda aos seus requisitos específicos de segurança, confiabilidade, custo e desempenho.
As orientações desta seção não são completas. Dependendo dos requisitos específicos do aplicativo e dos produtos e recursos do Google Cloud e de terceiros que você usa, pode haver outros fatores de design e vantagens que você precisa considerar.
Segurança, compliance e privacidade
Esta seção descreve considerações e recomendações de design para projetar uma topologia no Google Cloud que atenda aos requisitos de segurança e conformidade das suas cargas de trabalho.
Produto | Considerações e recomendações de design |
---|---|
Vertex AI |
Controles de segurança: a Vertex AI oferece suporte a Google Cloud controles de segurança que podem ser usados para atender aos seus requisitos de residência de dados, criptografia de dados, segurança de rede e transparência no acesso. Para mais informações, consulte Controles de segurança para a Vertex AI e Controles de segurança para a IA generativa. Acesso ao modelo: é possível configurar políticas da organização para limitar o tipo e as versões de LLMs que podem ser usadas em um projeto Google Cloud . Para mais informações, consulte Controlar o acesso aos modelos do Model Garden. Responsabilidade compartilhada: a Vertex AI protege a infraestrutura subjacente e oferece ferramentas e controles de segurança para ajudar a proteger dados, códigos e modelos. Para mais informações, consulte Responsabilidade compartilhada 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 respostas e nos dados de registro. Para mais informações, assista a este vídeo: Como proteger dados sensíveis em apps de IA. |
Cloud Run |
Segurança de entrada (serviço de front-end): para controlar o acesso externo ao aplicativo, desative o URL run.app padrão do serviço de front-end do Cloud Run e configure um balanceador de carga de aplicativo externo regional. Além de balancear o tráfego de entrada para o aplicativo, o balanceador de carga gerencia o certificado SSL. Para mais proteção, use as políticas de segurança do Google Cloud Armor para fornecer filtragem de solicitações, 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 do aplicativo nesta arquitetura não precisa de acesso pela Internet. Para garantir
que apenas clientes internos possam acessar o serviço, defina o
parâmetro Criptografia de dados: por padrão, o Cloud Run criptografa os dados usando um Google-owned and Google-managed encryption key. Para proteger os contêineres usando uma chave controlada por você, use chaves de criptografia gerenciadas pelo cliente (CMEK). Para mais informações, consulte Como usar chaves de criptografia gerenciadas pelo cliente. Segurança da imagem do contêiner: para garantir que apenas imagens de contêiner autorizadas sejam implantadas nos jobs e serviços do Cloud Run, use a autorização binária. Residência de dados: o Cloud Run ajuda você a atender aos requisitos de residência de dados. As instâncias de contêiner do Cloud Run são executadas na região selecionada. Para mais orientações sobre a segurança de contêineres, consulte Dicas gerais de desenvolvimento para o Cloud Run. |
Cloud Storage |
Criptografia de dados: por padrão, os dados armazenados no Cloud Storage são criptografados usando Google-owned and Google-managed encryption keys. Se necessário, use CMEKs ou suas próprias chaves gerenciadas utilizando um método de gerenciamento externo, como chaves de criptografia fornecidas pelo cliente (CSEKs). Para mais informações, consulte Opções de criptografia de dados. Controle de acesso: o Cloud Storage oferece suporte a dois métodos para controlar o acesso dos usuários aos buckets e objetos: o Identity and Access Management (IAM) e as listas de controle de acesso (ACLs). Na maioria dos casos, recomendamos usar o IAM, que permite conceder permissões no nível do bucket e do projeto. Para mais informações, consulte Visão geral do controle de acesso. Proteção de dados: os dados carregados no subsistema de ingestão de dados pelo Cloud Storage podem incluir dados sensíveis. Para proteger esses dados, use a Proteção de Dados Sensíveis para descobrir, classificar e desidentificar os dados. Para mais informações, consulte Como usar a Proteção de Dados Sensíveis com o Cloud Storage. Controle de rede: para reduzir o risco de exfiltração de dados do Cloud Storage, crie um perímetro de serviço usando o VPC Service Controls. Residência de dados: o Cloud Storage ajuda você a atender aos requisitos de residência de dados. Os dados são armazenados ou replicados nas regiões especificadas. |
Pub/Sub |
Criptografia de dados: por padrão, o Pub/Sub criptografa todas as mensagens, em repouso e em trânsito, usando Google-owned and Google-managed encryption keys. O Pub/Sub pode usar CMEKs para criptografia de mensagens na camada do aplicativo. Para mais informações, consulte Configurar a criptografia de mensagens. Residência de dados: se você tiver requisitos de residência de dados, para garantir que os dados das mensagens sejam armazenados em locais específicos, configure políticas de armazenamento de mensagens. |
Cloud Logging |
Auditoria de atividades administrativas: a geração de registros de atividades administrativas é ativada por padrão para todos os serviços Google Cloud usados nesta arquitetura de referência. É possível acessar os registros pelo Cloud Logging e usá-los para monitorar chamadas de API ou outras ações que modifiquem a configuração ou os metadados dos recursos Google Cloud . Auditoria de acesso a dados: o registro de eventos de acesso a dados é ativado por padrão no BigQuery. Para os outros serviços usados nesta arquitetura, é possível ativar os registros de auditoria de acesso a dados. É possível usar esses registros para monitorar o seguinte:
Segurança dos dados de registro: o Google não acessa nem usa os dados no Cloud Logging. Residência de dados: para ajudar a atender aos requisitos de residência de dados, configure o Cloud Logging para armazenar dados de registro na região especificada. Para mais informações, consulte Regionalizar seus registros. |
Todos os produtos na arquitetura |
Reduzir o risco de exfiltração de dados: para reduzir o risco de exfiltração de dados, crie um perímetro do VPC Service Controls em torno da infraestrutura. O VPC Service Controls oferece suporte a todos os serviços usados nesta arquitetura de referência. Otimização pós-implantação: depois de implantar seu aplicativo em 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. Analise as recomendações e aplique-as conforme apropriado para seu ambiente. Para mais informações, consulte Encontrar recomendações no Hub de recomendações. Controle de acesso: siga o princípio do menor privilégio para cada serviço de nuvem. |
Para orientações gerais sobre a segurança de implantações de IA e ML em Google Cloud, consulte os seguintes recursos:
- (Blog) Apresentação do framework de IA segura do Google
- (Documentação) Perspectiva de segurança de IA e ML no Google Cloud Framework de arquitetura
- (Documentação) Responsabilidade compartilhada da Vertex AI
- (Whitepaper) IA generativa, privacidade e Google Cloud
- (Vídeo) Como proteger dados sensíveis em apps de IA
Confiabilidade
Esta seção descreve considerações e recomendações de design para criar e operar uma infraestrutura confiável para sua implantação em Google Cloud.
Produto | Considerações e recomendações de design |
---|---|
Vector Search |
Escalonamento de consulta: para garantir que o índice do Vector Search possa lidar com aumentos na carga de consulta, configure o escalonamento automático para o endpoint do índice. Quando a carga de consulta aumenta, o número de nós é aumentado automaticamente até o máximo especificado. Para mais informações, consulte Ativar o escalonamento automático. |
Cloud Run |
Robustez contra falhas de infraestrutura: O Cloud Run é um serviço regional. Os dados são armazenados de forma síncrona em várias zonas dentro de uma região. É feito o balanceamento de carga automático no tráfego entre as zonas. Se ocorrer uma interrupção do serviço na zona, o Cloud Run continua a ser executado e os dados não são perdidos. Se ocorrer uma interrupção do serviço na região, o Cloud Run vai parar de ser executado até que o Google resolva essa interrupção. Gerenciamento de falhas: jobs ou tarefas individuais do Cloud Run podem falhar. Para lidar com essas falhas, use novas tentativas de tarefa e checkpoints. Para mais informações, consulte Práticas recomendadas de novas tentativas de jobs e checkpoints. |
Cloud Storage | Disponibilidade de dados: é possível criar buckets do Cloud Storage em um destes três tipos de local: regional, birregional ou multirregional. Os dados armazenados em buckets regionais são replicados de forma síncrona em várias zonas dentro de uma região. Para maior disponibilidade, use buckets birregionais ou multirregionais, em que os dados são replicados de forma assíncrona entre regiões. |
Pub/Sub |
Controle de taxa: para evitar erros durante períodos de picos temporários no tráfego de mensagens, é possível limitar a taxa de solicitações de publicação configurando o controle de fluxo nas configurações do editor. Gerenciamento de falhas: para lidar com tentativas de publicação com falha, ajuste as variáveis de solicitação de nova tentativa conforme necessário. Para mais informações, consulte Repetir solicitações. |
BigQuery | Robustez contra falhas de infraestrutura: os dados que você carrega no BigQuery são armazenados de forma síncrona em duas zonas na região especificada. Essa redundância ajuda a garantir que seus dados não sejam perdidos quando ocorrer uma interrupção do serviço na zona. Para mais informações sobre os recursos de confiabilidade no BigQuery, consulte Entenda a confiabilidade. |
Todos os produtos na arquitetura | Otimização pós-implantação: depois de implantar seu aplicativo no Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais a confiabilidade dos seus recursos de nuvem. Analise as recomendações e aplique-as conforme apropriado para seu ambiente. Para mais informações, consulte Encontrar recomendações no Hub de recomendações. |
Para princípios e recomendações de confiabilidade específicos para cargas de trabalho de IA e ML, consulte Perspectiva de IA e ML: confiabilidade no Framework de arquitetura.
Otimização de custos
Esta seção fornece orientações para otimizar o custo de configuração e operação de uma topologia Google Cloud criada usando essa arquitetura de referência.
Produto | Considerações e recomendações de design |
---|---|
Vector Search |
O faturamento da Pesquisa Vetorial depende do tamanho do seu índice, das consultas por segundo (QPS) e do número e do tipo de máquina dos nós usados para o endpoint do índice. Para cargas de trabalho com QPS alto, o agrupamento de consultas pode ajudar a reduzir custos. Para saber como estimar o custo da Pesquisa Vetorial, consulte Exemplos de preços da Pesquisa Vetorial. Para melhorar a utilização dos nós de computação em que o índice de pesquisa vetorial é implantado, é possível configurar o escalonamento automático para o endpoint do índice. Quando a demanda é baixa, o número de nós é reduzido automaticamente para o mínimo especificado. Para mais informações, consulte Ativar o escalonamento automático. |
Cloud Run |
Ao criar jobs e serviços do Cloud Run, você especifica a quantidade de memória e CPU que será alocada para a instância do contêiner. Para controlar os custos, comece com as alocações padrão (mínimas) de CPU e memória. Para melhorar o desempenho, aumente a alocação configurando o limite de CPU e de memória. Para mais informações, consulte a documentação a seguir:
Se você conseguir prever os requisitos de CPU e memória dos seus serviços e jobs do Cloud Run, será possível economizar dinheiro com descontos por compromisso de uso. Para mais informações, consulte Descontos por uso contínuo do Cloud Run. |
Cloud Storage | Para o bucket do Cloud Storage usado para carregar dados no subsistema de ingestão de dados, escolha uma classe de armazenamento adequada. Ao escolher 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, escolha a classe padrão e use o Gerenciamento do ciclo de vida de objetos. Isso permite o downgrade automático de objetos para uma classe de armazenamento de menor custo ou a exclusão de objetos com base nas condições que você definir. |
Cloud Logging |
Para controlar o custo de armazenamento de registros, faça isto:
|
BigQuery | O BigQuery permite estimar o custo das consultas antes de executá-las. Para otimizar os custos de consulta, é preciso otimizar o armazenamento e a computação de consultas. Para mais informações, consulte Estimar e controlar custos. |
Todos os produtos na arquitetura | Depois de implantar seu aplicativo no Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais o custo dos seus recursos de nuvem. Analise as recomendações e aplique-as conforme apropriado para seu ambiente. Para mais informações, consulte Encontrar recomendações no Hub de recomendações. |
Para estimar o custo dos seus recursos do Google Cloud , use a calculadora de preçosGoogle Cloud .
Para princípios e recomendações de otimização de custos específicos para cargas de trabalho de IA e ML, consulte Perspectiva de IA e ML: otimização de custos no Framework de arquitetura.
Otimização de desempenho
Esta seção descreve considerações e recomendações de design para projetar uma topologia no Google Cloud que atenda aos requisitos de desempenho das suas cargas de trabalho.
Produto | Considerações e recomendações de design |
---|---|
Vector Search |
Ao criar o índice, defina o tamanho do fragmento, o tipo de medida de distância e o número de embeddings para cada nó de folha com base nos requisitos de desempenho. Por exemplo, se o aplicativo for extremamente sensível à variabilidade de latência, recomendamos um tamanho de fragmento grande. Para mais informações, consulte Parâmetros de configuração que afetam a performance. Ao configurar a capacidade de computação dos nós em que o índice do Vector Search é implantado, considere 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 consulta esperada. Para mais informações, consulte Configurações de implantação que afetam a performance.
Configure os parâmetros de consulta para o índice da Pesquisa de vetor com base
nos seus requisitos de desempenho, disponibilidade e custo da consulta.
Por exemplo, o parâmetro Um índice atualizado ajuda a melhorar a precisão das respostas geradas. É possível atualizar o índice da Pesquisa vetorial usando atualizações em lote ou por streaming. As atualizações de streaming permitem realizar consultas quase em tempo real em dados atualizados. Para mais informações, consulte Atualizar e recriar um índice ativo. |
Cloud Run |
Por padrão, cada instância de contêiner do Cloud Run recebe uma única CPU e 512 MiB de memória. Dependendo dos requisitos de desempenho, é possível configurar o limite de CPU e de memória. Para mais informações, consulte a seguinte documentação:
Para garantir a latência ideal mesmo após um período sem tráfego, você pode configurar um número mínimo de instâncias. Quando essas instâncias estão ociosas, a CPU e a memória alocadas a elas são faturadas a um preço mais baixo. Para mais orientações sobre a otimização de desempenho, consulte Dicas gerais de desenvolvimento do Cloud Run. |
Cloud Storage | Para fazer upload de arquivos grandes, use um método chamado uploads compostos paralelos. Com essa estratégia, o arquivo grande é dividido em fragmentos. Esses fragmentos são transferidos 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 limitantes, os uploads compostos paralelos podem ser mais rápidos do que as operações de upload normais. No entanto, essa estratégia tem algumas limitações e implicações de custo. Para mais informações, consulte Uploads compostos paralelos. |
BigQuery |
O BigQuery oferece um gráfico de execução de consulta que pode ser usado para analisar o desempenho da consulta e receber insights de desempenho sobre problemas como contenção de slots e cota de embaralhamento insuficiente. Para mais informações, consulte Receber insights de desempenho de consulta. Depois de resolver os problemas identificados com os insights de desempenho de consulta, 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 Otimizar a computação de consultas. |
Todos os produtos na arquitetura | Depois de implantar seu aplicativo no Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais o desempenho dos recursos da nuvem. Analise as recomendações e aplique-as conforme apropriado para seu ambiente. Para mais informações, consulte Encontrar recomendações no Hub de recomendações. |
Para princípios e recomendações de otimização de desempenho específicos para cargas de trabalho de IA e ML, consulte Perspectiva de IA e ML: otimização de desempenho no Framework de arquitetura.
A seguir
- Escolher modelos e infraestrutura para seu aplicativo de IA generativa
- Infraestrutura para um aplicativo de IA generativa com capacidade de RAG usando a Vertex AI e o AlloyDB para PostgreSQL
- Infraestrutura para um aplicativo de IA generativa com capacidade para RAG usando o GKE
- Para ter uma visão geral dos princípios e recomendações de arquitetura específicos para cargas de trabalho de IA e ML em Google Cloud, consulte a perspectiva de IA e ML no Framework de arquitetura.
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.
Colaboradores
Autor: Kumar Dhanagopal | Desenvolvedor de soluções de vários produtos
Outros colaboradores:
- Assaf Namer | Arquiteto principal de segurança de nuvem
- Deepak Michael | Engenheiro de clientes especialista em rede
- Divam Anand | Líder de estratégia e operações de produtos
- Eran Lewis | Gerente sênior de produtos
- Jerome Simms | Diretor, gerenciamento de produtos
- Mark Schlagenhauf | Redator técnico, Rede
- Nicholas McNamara | Diretor de estratégia de produto e comercialização
- Preston Holmes | Gerente de produtos de saída: aceleração de apps
- Rob Edwards | Líder de prática de tecnologia, DevOps
- Victor Moreno | Gerente de produtos, Cloud Networking
- Wietse Venema | Engenheiro de relações com desenvolvedores