RAG de IA generativa com o Cloud SQL

Este guia ajuda você a entender o modelo RAG de IA generativa com o Cloud SQL, que é fornecido pelo Google para um app de chat. Ele demonstra como criar um aplicativo de chat que usa a geração aumentada de recuperação (RAG). Quando os usuários fazem perguntas no app, ele fornece respostas com base nas informações armazenadas como vetores em um banco de dados.

Produtos usados

O aplicativo contém os seguintes produtos Google Cloud :

  • Cloud Load Balancing (opcional): um serviço que oferece balanceamento de carga escalonável e de alto desempenho no Google Cloud.
  • Vertex AI: uma plataforma de machine learning (ML) que permite treinar e implantar modelos de ML e aplicativos de IA, além de personalizar LLMs para uso em aplicativos.
  • Cloud SQL: um serviço baseado na nuvem para bancos de dados MySQL, PostgreSQL e SQL Server totalmente gerenciado na infraestrutura doGoogle Cloud .
  • Cloud Run: um serviço totalmente gerenciado que permite criar e implantar apps conteinerizados sem servidor. OGoogle Cloud processa o escalonamento e outras tarefas de infraestrutura.
  • Secret Manager: sistema de armazenamento seguro e conveniente para chaves de API, senhas, certificados e outros dados sensíveis.

Arquitetura

A imagem a seguir mostra os componentes e as conexões no aplicativo:

Um aplicativo de RAG de IA generativa na tela de design. O aplicativo inclui componentes de front-end, recuperação, IA, gerenciamento de secrets e banco de dados.

Confira a seguir o fluxo de processamento de solicitações do aplicativo:

  1. Você carrega dados em um banco de dados PostgreSQL no Cloud SQL.
  2. A Vertex AI cria embeddings de campos de texto e os armazena como vetores.
  3. Um front-end do Cloud Load Balancing recebe solicitações externas e distribui o tráfego para o back-end do Cloud Load Balancing.
  4. O back-end do Cloud Load Balancing distribui o tráfego para o serviço de front-end do Cloud Run.
  5. O serviço de front-end se comunica com o serviço de recuperação para uma chamada de IA generativa.
  6. O serviço de back-end converte a solicitação em um embedding e pesquisa embeddings existentes.
  7. O serviço de recuperação envia os resultados da pesquisa de embeddings em linguagem natural e o comando original à Vertex AI para criar uma resposta.

A seguir