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 por recuperação (RAG) usando a Pesquisa vetorial. A Pesquisa de vetor é um serviço totalmente gerenciado Google Cloud que oferece uma 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 disponibilização.
- O subsistema de ingestão de dados ingere dados enviados de fontes externas. O subsistema prepara os dados para RAG e interage com a Vertex AI para gerar embeddings dos dados ingeridos e criar e atualizar o índice de vetores.
- O subsistema de veiculaçã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 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 a 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 uma função do Cloud Run.
- A função do Cloud Run analisa os dados brutos, formata-os conforme necessário e divide em partes.
- A função usa a API Embeddings da Vertex AI para criar embeddings dos blocos usando um modelo de embedding que você especifica. A Vertex AI é compatível com modelos de embedding de texto e multimodal.
- Em seguida, a função cria e implanta um índice da Pesquisa de vetor dos embeddings.
Quando novos dados são ingeridos, as etapas anteriores são realizadas para eles, e o índice é atualizado usando atualizações por streaming.
Quando o subsistema de disponibilização processa solicitações de usuários, ele usa o índice do Vector Search para pesquisa de similaridade de vetores. A próxima seção descreve o fluxo de veiculação.
Subsistema de veiculaçã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 disponibilizaçã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 fazendo o seguinte:
- Converte a consulta em embeddings usando o mesmo modelo e parâmetros 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 da Pesquisa vetorial.
- Cria 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 solicitação, 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 ver 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álise 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 a um conjunto de comandos de amostra fornecidos por engenheiros de ML. A saída da avaliação inclui as respostas do modelo aos comandos de amostra, pontuações de métricas especificadas pelos engenheiros de ML e um conjunto de instruções otimizadas do sistema que você pode usar.
Produtos usados
Esta arquitetura de referência usa os seguintes produtos Google Cloud :
- 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 de vetor: um serviço de correspondência de similaridade de vetor 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.
- Funções do Cloud Run: uma plataforma de computação sem servidor que permite executar funções de propósito único diretamente no Google Cloud.
- 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 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
Nesta seção, apresentamos abordagens de design alternativas que você pode considerar 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 de 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 Ray, Hugging Face e LangChain, consulte Infraestrutura para um aplicativo de IA generativa com capacidade de RAG usando o GKE e o Cloud SQL.
Opções de hospedagem de aplicativos
Na arquitetura mostrada neste documento, o Cloud Run é o host do aplicativo de IA generativa e do processamento de dados. O Cloud Run é uma plataforma de aplicativos totalmente gerenciada e focada em desenvolvedores. Se você precisar de mais flexibilidade de configuração e controle sobre a infraestrutura de computação, implante o 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 compensações entre flexibilidade de configuração e esforço de gerenciamento. Com a opção sem servidor do Cloud Run, você implanta o 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 embasamento que podem ser usadas em aplicativos de IA generativa noGoogle Cloud, consulte Escolher modelos e infraestrutura para seu aplicativo de IA generativa.
Considerações sobre o design
Esta seção descreve fatores, práticas recomendadas e 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 seu aplicativo e dos produtos e recursos do Google Cloud e de terceiros que você usa, pode haver outros fatores de design e compensações que você precisa considerar.
Segurança, compliance e privacidade
Nesta seção, descrevemos considerações e recomendações de design para criar 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 é compatível com controles de segurança Google Cloud que podem ser usados para atender aos 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 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 usados 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 fornece ferramentas e controles de segurança para ajudar você a proteger seus 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: Proteção de 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 fazer o balanceamento de carga do tráfego de entrada para o aplicativo, o balanceador de carga processa o gerenciamento de certificados 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 nessa arquitetura não precisa de acesso da 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 uma 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 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 segurança de contêineres, consulte Dicas gerais de desenvolvimento do 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 é compatível com dois métodos para controlar o acesso dos usuários aos seus buckets e objetos: Identity and Access Management (IAM) e 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 atividade administrativa: o registro de atividade administrativa é ativado por padrão para todos os serviços do 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 do Google Cloud . Auditoria de acesso a dados: a geração de registros de eventos de acesso a dados está ativada por padrão para o 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 |
Reduza o risco de exfiltração de dados: para diminuir o risco de exfiltração de dados, crie um perímetro do VPC Service Controls em torno da infraestrutura. O VPC Service Controls é compatível com todos os serviços usados nesta arquitetura de referência. Otimização pós-implantação: depois de implantar o 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 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. Controle de acesso: siga o princípio do menor privilégio para cada serviço de nuvem. |
Para orientações gerais sobre segurança para implantações de IA e ML em Google Cloud, consulte os seguintes recursos:
- (Blog) Apresentação do framework de IA segura do Google (em inglês)
- (Documentação) Perspectiva de segurança de IA e ML no Google Cloud Well-Architected Framework
- (Documentação) Responsabilidade compartilhada da Vertex AI
- (Artigo técnico) IA generativa, privacidade e Google Cloud
- (Vídeo) Como proteger dados sensíveis em apps de IA
Confiabilidade
Nesta seção, descrevemos 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 consultas: para garantir que o índice da pesquisa vetorial possa lidar com aumentos na carga de consultas, configure o escalonamento automático para o endpoint do índice. Quando a carga de consultas 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 interrupções 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. Em caso de interrupção do serviço na zona, o Cloud Run continua em execução 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. |
Cloud Storage | Disponibilidade de dados: é possível criar buckets do Cloud Storage em um dos três tipos de local: regional, birregional ou multirregional. Os dados armazenados em buckets regionais são replicados de maneira 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 transitórios no tráfego de mensagens, limite a taxa de solicitações de publicação configurando o controle de fluxo nas configurações do editor. Tratamento 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 carregados no BigQuery são armazenados de maneira 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 recursos de confiabilidade no BigQuery, consulte Entenda a confiabilidade. |
Todos os produtos na arquitetura | Otimização pós-implantação: depois de implantar o aplicativo em Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais a confiabilidade dos recursos de nuvem. Revise 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 bem arquitetado.
Otimização de custos
Nesta seção, você encontra 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 tipo de máquina dos nós usados para o endpoint do índice. Para cargas de trabalho de alta QPS, o agrupamento em lote das consultas pode ajudar a reduzir o custo. Para informações sobre 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, configure o escalonamento automático para o endpoint de í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 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 o limite de memória. Para mais informações, consulte a seguinte documentação: Se você conseguir prever os requisitos de CPU e memória dos serviços 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 Standard 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 o aplicativo em Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais o custo dos seus recursos de nuvem. Revise 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ços doGoogle 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 bem arquitetado.
Otimização de desempenho
Nesta seção, descrevemos considerações e recomendações de design para criar uma topologia em 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 performance. Escolha um tipo de máquina adequado e defina o número máximo de nós com base na carga de consultas esperada. Para mais informações, consulte Configurações de implantação que afetam o desempenho.
Configure os parâmetros de consulta para o índice da Pesquisa do Vertex 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 de vetor usando atualizações em lote ou por streaming. Com as atualizações de streaming, você pode fazer consultas quase em tempo real sobre 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 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, 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 cobradas a um preço menor. Para mais orientações sobre otimização de performance, 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 o aplicativo em Google Cloud, use o serviço Active Assist para receber recomendações e otimizar ainda mais a performance dos recursos de nuvem. Revise 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 performance específicos para cargas de trabalho de IA e ML, consulte Perspectiva de IA e ML: otimização de performance no Well-Architected Framework.
Implantação
Para implantar uma topologia baseada nessa arquitetura de referência, faça o download e use a configuração de exemplo do Terraform disponível em um repositório no GitHub. Siga as instruções no README do repositório. O exemplo de código não se destina a casos de uso de produção.
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 e o Cloud SQL
- Para uma visão geral dos princípios e recomendações de arquitetura específicos para cargas de trabalho de IA e ML no Google Cloud, consulte a perspectiva de IA e ML no framework bem arquitetado.
- 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
- Katie McLaughlin | Engenheira sênior de relações com desenvolvedores
- Mark Schlagenhauf | Redator técnico, Rede
- Megan O'Keefe | Diretor de concorrência do setor, equipe de avaliações do Cloud Platform
- Nicholas McNamara | Principal de estratégia de produto e comercialização
- Preston Holmes | Gerente de produtos externos – App Acceleration
- 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