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 o Google Agentspace e a Vertex AI. Esta arquitetura de referência demonstra como usar serviços geridos e implementar um único agente de IA para facilitar um fluxo de dados RAG completo. O Google Agentspace funciona como a plataforma unificada para a orquestração de agentes em toda a empresa. O Vertex AI acelera o desenvolvimento e a implementação de agentes personalizados e fornece repositórios de dados geridos para facilitar a obtenção eficiente para a RAG.
O público-alvo deste documento inclui arquitetos, programadores e administradores de aplicações de IA generativa. O documento pressupõe que tem 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. Para ver informações sobre como criar uma aplicação, consulte o artigo Desenvolva uma aplicação de IA generativa.
Arquitetura
O diagrama seguinte mostra uma vista de alto nível da arquitetura que este documento apresenta:
A arquitetura no diagrama anterior tem dois subsistemas: carregamento de dados e publicação.
- O subsistema de carregamento de dados carrega e prepara dados de origens externas para utilização na RAG. O subsistema gera incorporações para os dados carregados e usa-as para criar e manter um índice de vetores pesquisável num arquivo de dados gerido.
- 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 Google Agentspace e a Vertex AI para criar e implementar o seu agente de IA para orquestrar o processo de RAG. Este processo usa os dados vetoriais indexados para gerar respostas contextualmente fundamentadas e que cumprem os filtros de segurança da IA responsável.
O diagrama seguinte mostra uma vista detalhada da 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:
- Os engenheiros de dados carregam dados de origens externas para um segmento do Cloud Storage. As origens externas podem ser aplicações, bases de dados ou serviços de streaming.
- Após a conclusão, o Cloud Storage publica uma mensagem num tópico do Pub/Sub.
- O tópico Pub/Sub aciona uma tarefa de processamento para ser executada nas funções do Cloud Run.
- As funções do Cloud Run processam os dados não processados gerando e armazenando os metadados como ficheiros JSON Lines (JSONL). Os ficheiros JSONL são armazenados num contentor do Cloud Storage separado.
- Após a conclusão, as funções do Cloud Run publicam uma mensagem num tópico do Pub/Sub.
- O tópico do Pub/Sub aciona uma tarefa de processamento para ser executada no repositório de dados gerido no Google Agentspace. A tarefa de processamento extrai os dados e os metadados carregados brutos dos contentores do Cloud Storage e, em seguida, analisa e divide os dados em partes para uma obtenção eficiente durante a publicação. O Google Agentspace gera automaticamente incorporações vetoriais sem necessidade de configuraçã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:
- Um utilizador da aplicação envia uma consulta através de um dos serviços de front-end do Cloud Run. Pode personalizar estes serviços para diferentes experiências, como uma IU de chatbot, uma página de pesquisa ou uma aplicação para dispositivos móveis.
- O serviço de front-end recebe a consulta e, em seguida, encaminha-a para um serviço de back-end do Cloud Run centralizado. Este back-end fornece um ponto final único e unificado para suportar todos os diferentes clientes de front-end. O serviço de back-end também realiza o pré-processamento necessário, que pode incluir a criação de filtros para a consulta de pesquisa. Esta abordagem mantém a lógica transparente para os front-ends.
- O serviço de back-end envia o pedido preparado para o Google Agentspace através do ponto final da API Google Agentspace para iniciar o fluxo de trabalho RAG.
- Para processar a consulta, o Google Agentspace usa a pesquisa empresarial e o agente personalizado para
realizar as seguintes tarefas:
- Crie uma incorporação da consulta do utilizador.
- Realizar uma pesquisa semântica nos dados indexados no Managed datastore para encontrar as informações mais relevantes.
- Aumentar a consulta original com os dados obtidos do repositório de dados gerido para criar um comando detalhado e contextual.
- Gerar uma resposta final com base no comando aumentado.
- O Google Agentspace envia a resposta gerada para o serviço de back-end do Cloud Run.
- O serviço de back-end devolve a resposta final ao serviço de front-end que enviou o pedido original. O serviço de front-end apresenta a resposta ao utilizador da aplicação.
Produtos usados
Esta arquitetura de referência usa os seguintes produtos Google Cloud :
- Google Agentspace: uma plataforma gerida que funciona como um registo central e um hub de interação para todos os seus agentes de IA numa empresa, e permite uma deteção, uma gestão e uma utilização perfeitas por parte das aplicações.
-
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.
- Vertex AI Agent Engine: uma plataforma que lhe permite executar, gerir e dimensionar agentes de IA em produção.
- Cloud Run: uma plataforma de computação sem servidor que lhe permite executar contentores diretamente na infraestrutura escalável da Google.
- 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 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.
Exemplos de utilização
Esta arquitetura foi concebida para cenários empresariais em que a sua aplicação de IA generativa precisa de aceder às informações mais atuais e requer uma compreensão contextual profunda para fornecer respostas precisas.
A arquitetura inclui um subsistema de carregamento de dados personalizado para responder a dois requisitos empresariais importantes:
- Disponibilidade de dados em tempo real: o pipeline orientado por eventos processa novos dados assim que estiverem disponíveis na sua organização, por exemplo, um novo guia de produtos ou um relatório atualizado. O pipeline também disponibiliza as informações no seu repositório de dados gerido. Este design ajuda a mitigar a obsolescência das informações porque garante que existe um atraso mínimo entre a disponibilidade e a utilização dos dados.
- Pesquisa contextual enriquecida: a tarefa de processamento personalizada permite que a sua organização aplique a sua própria lógica empresarial para enriquecer os dados com metadados valiosos. A função do Cloud Run pode etiquetar cada documento com atributos específicos, como linha de produtos, autor, localização ou tipo de documento. Estes metadados detalhados ajudam o agente a restringir a pesquisa e a fornecer respostas mais precisas e sensíveis ao contexto.
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.
Investigação jurídica eficiente
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 precisar de uma arquitetura que use um produto de pesquisa vetorial totalmente gerido, pode usar a Vertex AI e a pesquisa vetorial, que fornecem uma infraestrutura de apresentação otimizada para pesquisas vetoriais em grande escala. Para mais informações, consulte o artigo Infraestrutura de RAG para IA generativa com a Vertex AI e a pesquisa vetorial.
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, consulte o artigo Infraestrutura de 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 através de ferramentas e modelos de código aberto, como o Ray, o Hugging Face e o 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 aplicação focada no programador e totalmente gerida. Também pode implementar a sua aplicação em Vertex AI Agent Engine, clusters do GKE, ou em VMs do Compute Engine.
Para escolher um anfitrião da aplicação, considere as seguintes contrapartidas entre a flexibilidade da configuração e o esforço de gestão:
- Com a opção do Cloud Run sem servidor, implementa os seus serviços personalizados num ambiente gerido e pré-configurado. Para alojar os serviços de front-end e a lógica de back-end personalizada para o pré-processamento de pedidos, esta arquitetura requer a capacidade de implementar aplicações personalizadas.
- Com a opção Vertex AI Agent Engine, usa uma plataforma totalmente gerida concebida para a publicação de agentes. O Vertex AI Agent Engine reduz a sobrecarga de gestão e garante uma integração estreita com o Google Agentspace.
- Com as VMs 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:
- A minha app é adequada para o Cloud Run?
- Selecione um ambiente de tempo de execução de contentores gerido
- Alojamento de aplicações em Google Cloud
Outras opções de infraestrutura
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 fornece orientações para ajudar a desenvolver uma arquitetura de IA generativa com capacidade de RAG que cumpra os seus requisitos específicos de segurança e conformidade, fiabilidade, custo e desempenho. Google Cloud As orientações nesta secção não são exaustivas. Consoante os requisitos específicos da sua aplicação de IA generativa e os Google Cloud produtos e funcionalidades que usa, pode ter de considerar fatores de design e compromissos adicionais.
Para uma vista geral dos princípios e recomendações de arquitetura específicos das cargas de trabalho de IA e ML no Google Cloud, consulte aperspetiva de IA e ML no Well-Architected Framework.
Segurança, privacidade e conformidade
Esta secção descreve as considerações e as recomendações de design para criar uma topologia que cumpra os requisitos de segurança e conformidade da sua carga de trabalho. Google Cloud
Produto |
Considerações e recomendações de design |
---|---|
Vertex AI |
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 a seguinte documentação: O Google Agentspace Enterprise elimina os dados pedidos pelo utilizador no prazo de 60 dias. Para mais informações, consulte o artigo Eliminação de dados no Google Cloud. Os modelos de IA generativa podem produzir respostas prejudiciais, especialmente quando são explicitamente solicitadas para tal. Para melhorar a segurança e mitigar o potencial uso indevido, pode configurar filtros de conteúdo para atuarem como barreiras a respostas prejudiciais. Para mais informações, consulte o artigo Segurança e filtros de conteúdo. |
Cloud Run |
Por predefinição, o Cloud Run encripta os dados através da Google-owned and Google-managed encryption keys. Para proteger os seus contentores através de chaves que controla, pode usar chaves de encriptação geridas pelo cliente (CMEKs). Para mais informações, consulte o artigo Usar chaves de encriptação geridas pelo cliente. Para garantir que apenas as imagens de contentores autorizadas são implementadas no Cloud Run, pode usar a autorização binária. O Cloud Run ajuda a cumprir os requisitos de residência dos dados. As suas funções do Cloud Run são executadas na região selecionada. |
Cloud Storage |
Por predefinição, o Cloud Storage encripta os dados que armazena 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 Opções de encriptação de dados. O Cloud Storage suporta dois métodos para conceder aos utilizadores acesso 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 que use o 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. Os dados que carrega para o subsistema de carregamento de dados através do Cloud Storage podem incluir dados confidenciais. Pode usar a proteção de dados confidenciais para descobrir, classificar e remover a identificação de dados confidenciais. Para mais informações, consulte o artigo Usar a proteção de dados confidenciais com o Cloud Storage. O Cloud Storage ajuda a cumprir os requisitos de residência dos dados. O Cloud Storage armazena ou replica dados na região que especificar. |
Pub/Sub |
Por predefinição, o Pub/Sub encripta todas as mensagens, incluindo as mensagens em repouso e em trânsito, através da utilização de 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. Se tiver requisitos de residência de dados, para garantir que os dados das mensagens são armazenados em localizações específicas, pode configurar políticas de armazenamento de mensagens. |
Para ver princípios e recomendações de segurança específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: segurança no Well-Architected Framework.
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 |
---|---|
Vertex AI |
O Vertex AI garante a residência dos dados em repouso. A Vertex AI armazena os seus dados de origem, que incluem dados para a RAG no arquivo de dados gerido, na Google Cloud localização que selecionou. Esta separação do processamento do armazenamento é um aspeto fundamental de como a plataforma oferece fiabilidade e conformidade elevadas. |
Cloud Run |
O Cloud Run é um serviço regional que armazena dados de forma síncrona em várias zonas de uma região. O serviço equilibra automaticamente a carga do tráfego nas zonas. Se ocorrer uma indisponibilidade da zona, as tarefas do Cloud Run continuam a ser executadas e os dados não são perdidos. Se ocorrer uma indisponibilidade regional, as tarefas do Cloud Run param de ser executadas até que a Google resolva a indisponibilidade. As tarefas ou os trabalhos individuais do Cloud Run podem falhar. Para lidar com essas falhas, pode usar novas tentativas de tarefas e pontos de verificação. Para mais informações, consulte as práticas recomendadas para repetições e pontos de verificação de tarefas. |
Cloud Storage |
Pode criar contentores do Cloud Storage num de três tipos de localizações: regional, de duas regiões ou multirregional. Para dados em contentores regionais, o Cloud Storage replica esses dados de forma síncrona em várias zonas numa região. Para uma maior disponibilidade, pode usar contentores de duas regiões ou multirregionais, onde o Cloud Storage replica dados de forma assíncrona em várias regiões. Certifique-se de que a sua escolha está alinhada com os requisitos de conformidade. |
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 |
---|---|
Vertex AI |
O modelo de IA subjacente que o agente invoca pode influenciar diretamente o custo de utilização desse agente. O preço é calculado com base no número de tokens de entrada e saída para cada pedido. Para mais informações, consulte as cotas e os limites do sistema da IA generativa na Vertex AI e a Google Cloudcalculadora de preços. Para obter informações sobre como minimizar a contagem de tokens para reduzir o custo, consulte o artigo Otimize o comando e o comprimento da saída. |
Funções do Cloud Run |
Quando cria tarefas do Cloud Run, especifica a quantidade de memória e CPU a atribuir à instância do contentor. Para controlar os custos, comece pelas atribuições de CPU e memória predefinidas. Para melhorar o desempenho, pode aumentar a atribuição configurando o limite de CPU e o limite de memória. Se conseguir prever os requisitos de CPU e memória dos seus trabalhos do Cloud Run, pode poupar dinheiro com 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 no subsistema de carregamento de dados, escolha uma classe de armazenamento adequada com base nos requisitos de retenção de dados e frequência de acesso das suas cargas de trabalho. Por exemplo, pode escolher a classe de armazenamento Standard e usar a Gestão do ciclo de vida de objetos para controlar os custos de armazenamento. A gestão do ciclo de vida de objetos muda automaticamente os objetos para uma classe de armazenamento de custo inferior ou elimina objetos com base nas condições que definir. |
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 |
---|---|
Google Agentspace |
Para reduzir a latência durante a publicação, transmita respostas enviando respostas do modelo antes de o agente gerar o resultado completo. Isto permite o processamento em tempo real do resultado e pode atualizar imediatamente a sua interface do utilizador e realizar outras tarefas em simultâneo. O streaming melhora a capacidade de resposta percebida e cria uma experiência do utilizador mais interativa. Para mais informações, consulte o artigo Transmita respostas. |
Cloud Run |
Ajuste a atribuição de memória e CPU para as instâncias do Cloud Run com base nos seus requisitos de desempenho. Para mais informações, consulte os artigos Configure limites de CPU para tarefas e Configure limites de memória para serviços. |
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. Carrega os fragmentos para o Cloud Storage em paralelo e, em seguida, o Cloud Storage volta a montar os dados em Google Cloud. Os carregamentos compostos paralelos podem ser mais rápidos do que as operações de carregamento normais se tiver largura de banda de rede e velocidade do disco suficientes. No entanto, esta estratégia tem algumas limitações e implicações de custos. Para mais informações, consulte o artigo Carregamentos compostos paralelos. |
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 esta arquitetura de referência, use o exemplo do Terraform disponível no GitHub. Para mais informações, consulte o artigo Infraestrutura de RAG para aplicações de IA generativa com o Google Agentspace e a Vertex AI.
O que se segue?
- Saiba como o Google Agentspace divide os documentos em partes para a RAG.
- Saiba como alojar apps e agentes de IA no Cloud Run.
- Saiba mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Vertex AI.
- Saiba mais sobre as práticas recomendadas com grandes modelos de linguagem (GMLs).
- Para uma vista geral dos princípios e recomendações de arquitetura específicos das cargas de trabalho de IA e ML no Google Cloud, consulte aperspetiva de IA e ML no Well-Architected Framework.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autor: Samantha He | Redator técnico
Outros colaboradores:
- Deepak Michael | Customer Engineer especialista em redes
- Kumar Dhanagopal | Cross-Product Solution Developer
- Mark Schlagenhauf | Redator técnico, redes
- Victor Moreno | Gestor de produtos, redes na nuvem
- Yehia Elshater | Field Solutions Architect, IA generativa, Google Cloud
- Paarth Mahajan | Especialista em redes, Google Cloud