RAG di IA generativa con Cloud SQL

Questa guida ti aiuta a comprendere il modello RAG di AI generativa con Cloud SQL, che è un modello fornito da Google per un'app di chat. Questo modello mostra come creare un'applicazione di chat che utilizza la generazione aumentata dal recupero (RAG). Quando gli utenti pongono domande nell'app, questa fornisce risposte basate sulle informazioni memorizzate come vettori in un database.

Prodotti utilizzati

L'applicazione contiene i seguenti prodotti Google Cloud :

  • Cloud Load Balancing (facoltativo): un servizio che fornisce un bilanciamento del carico scalabile e ad alte prestazioni su Google Cloud.
  • Vertex AI: una piattaforma di machine learning (ML) che ti consente di addestrare ed eseguire il deployment di modelli ML e applicazioni AI e personalizzare LLM da utilizzare nelle applicazioni.
  • Cloud SQL: un servizio basato sul cloud per database MySQL, PostgreSQL e SQL Server completamente gestito sull'infrastruttura Google Cloud .
  • Cloud Run: un servizio completamente gestito che ti consente di creare ed eseguire il deployment di app containerizzate serverless.Google Cloud gestisce lo scaling e altre attività dell'infrastruttura.
  • Secret Manager: sistema di archiviazione pratico e sicuro per chiavi API, password, certificati e altri dati sensibili.

Architettura

La seguente immagine mostra i componenti e le connessioni nell'applicazione:

Un'applicazione RAG di AI generativa nel canvas di progettazione. L'applicazione include componenti di frontend, recupero, AI, gestione dei secret e database.

Di seguito è riportato il flusso di elaborazione delle richieste dell'applicazione:

  1. Carichi i dati in un database PostgreSQL in Cloud SQL.
  2. Vertex AI crea incorporamenti dei campi di testo e li archivia come vettori.
  3. Un frontend di Cloud Load Balancing riceve le richieste esterne e distribuisce il traffico al backend di Cloud Load Balancing.
  4. Il backend di Cloud Load Balancing distribuisce il traffico al servizio di frontend Cloud Run.
  5. Il servizio di frontend comunica con il servizio di recupero per una chiamata di AI generativa.
  6. Il servizio di backend converte la richiesta in un embedding e cerca gli embedding esistenti.
  7. Il servizio di recupero invia i risultati in linguaggio naturale della ricerca degli incorporamenti, insieme al prompt originale, a Vertex AI per creare una risposta.

Passaggi successivi