Crea applicazioni di IA generativa utilizzando Cloud SQL

Questa pagina fornisce una panoramica delle funzionalità offerte da Cloud SQL per PostgreSQL per aiutarti a creare applicazioni di AI generativa. Per iniziare a utilizzare un'applicazione di esempio, consulta Inizia a utilizzare Cloud SQL per applicazioni di AI generativa.

La Retrieval-Augmented Generation (RAG) è una tecnica per ottimizzare l'output di un modello linguistico di grandi dimensioni (LLM) facendo riferimento a una knowledge base autorevole prima di generare una risposta. La RAG migliora le applicazioni di AI generativa migliorandone l'accuratezza. I database Cloud SQL offrono funzionalità curate per le applicazioni RAG e di AI generativa, come spiegato in questa pagina.

Genera vector embedding

I vector embedding sono essenziali per la RAG perché consentono una comprensione semantica e una ricerca di somiglianze efficiente. Questi embedding sono rappresentazioni numeriche di testo, immagini, audio e video. I modelli di embedding generano i vector embedding in modo che, se due contenuti sono semanticamente simili, i rispettivi embedding si trovino vicini nello spazio vettoriale di embedding.

Cloud SQL si integra con Vertex AI. Puoi utilizzare i modelli ospitati da Vertex AI per generare vector embedding utilizzando query SQL.

Cloud SQL estende la sintassi PostgreSQL con una funzione di embedding per generare vector embedding di testo. Dopo aver generato questi embedding, puoi archiviarli in un database Cloud SQL senza bisogno di un database vettoriale separato.

Puoi anche utilizzare Cloud SQL per archiviare vector embedding generati al di fuori di Cloud SQL. Ad esempio, puoi archiviare vector embedding generati utilizzando modelli preaddestrati in Vertex AI Model Garden. Puoi utilizzare questi vector embedding come input per le funzioni pgvector per le ricerche di somiglianze e semantiche.

Archivia, indicizza ed esegui query su vector embedding con pgvector

Puoi archiviare, indicizzare ed eseguire query su vector embedding in Cloud SQL utilizzando l'estensione PostgreSQL pgvector.

Per saperne di più sulla configurazione di questa estensione, consulta Configurare le estensioni PostgreSQL. Per saperne di più sull'archiviazione, l'indicizzazione e l'esecuzione di query su vector embedding, consulta Archiviare un embedding generato ed Eseguire query e indicizzare gli embedding utilizzando pgvector.

Richiama le previsioni online utilizzando query SQL

Puoi richiamare le previsioni online utilizzando i modelli archiviati in Vertex AI Model Garden utilizzando query SQL.

Utilizza l'integrazione con LangChain

Cloud SQL si integra con LangChain, un framework di orchestrazione LLM open source, per semplificare lo sviluppo di applicazioni di AI generativa. Puoi utilizzare i seguenti pacchetti LangChain:

Migliora il rendimento della ricerca vettoriale

Puoi migliorare il rendimento di una ricerca vettoriale utilizzando quanto segue:

  • Cache dei dati: utilizza una cache dei dati integrata che sfrutta un SSD locale veloce per archiviare le pagine di dati lette di frequente. Puoi ottenere un miglioramento fino a tre volte del rendimento di lettura rispetto alla lettura da un disco permanente.
  • Metriche della cache dei dati: ottimizza le query in base all'efficacia con cui la cache dei dati viene utilizzata in una ricerca vettoriale.

    Cloud SQL fornisce le seguenti metriche in Esplora metriche in Cloud Monitoring:

    Metrica Descrizione Etichetta della metrica
    Cache dei dati utilizzata L'utilizzo della cache dei dati (in byte) database/data_cache/bytes_used
    Quota della cache dei dati La dimensione massima della cache dei dati (in byte) database/data_cache/quota
    Conteggio successo della cache dei dati Il numero totale di operazioni di lettura con successo della cache dei dati per un'istanza database/postgresql/data_cache/hit_count
    Conteggio fallimento della cache dei dati Il numero totale di operazioni di lettura di fallimenti della cache dei dati per un'istanza database/postgresql/data_cache/miss_count
    Percentuale successi cache dati Il rapporto tra le operazioni di lettura con successo della cache dei dati e le operazioni di lettura con fallimento della cache dei dati per un'istanza
    database/postgresql/data_cache/hit_ratio
  • System Insights: fornisce metriche di sistema come l'utilizzo della CPU, l'utilizzo del disco e la velocità effettiva per aiutarti a monitorare l'integrità delle istanze e risolvere i problemi che influiscono sul rendimento delle tue applicazioni di AI generativa. Per visualizzare queste metriche, utilizza la dashboard di Cloud SQL System Insights.

  • Query Insights: rileva, diagnostica e previene i problemi di rendimento delle query. Questo è utile per migliorare il rendimento della ricerca vettoriale nelle tue applicazioni di AI generativa.

    Puoi utilizzare la dashboard di Cloud SQL Query Insights per osservare il rendimento delle query principali e analizzarle utilizzando i piani di query visivi. Puoi anche monitorare il rendimento a livello di applicazione e tracciare l'origine di una query problematica nello stack dell'applicazione al database utilizzando SQLcommenter. Si tratta di una libreria di instrumentazione automatica di mapping relazionale a oggetti (ORM) open source.

    Query Insights può anche aiutarti a integrarti con gli strumenti di monitoraggio delle applicazioni (APM) esistenti in modo da poter risolvere i problemi delle query utilizzando strumenti che conosci.

Vantaggi dell'utilizzo di Cloud SQL per applicazioni di AI generativa

L'utilizzo di Cloud SQL per creare applicazioni di AI generativa offre i seguenti vantaggi:

  • Utilizza PostgreSQL per creare applicazioni di AI generativa. Cloud SQL per PostgreSQL supporta pgvector e si integra sia con Vertex AI sia con LangChain.
  • Utilizza un servizio attendibile con protezione, sicurezza e governance dei dati di livello enterprise. Utilizzando Cloud SQL, ottieni i seguenti vantaggi:
    • Uno SLA di alta affidabilità del 99,99%, inclusa la manutenzione
    • Un servizio gestito che ti fornisce funzionalità come backup automatici, replica, patch, crittografia e aumenti automatici della capacità di archiviazione
    • Funzionalità di sicurezza, governance e conformità
  • Combina con dati operativi contestuali. Utilizza join e filtri sui dati operativi mentre utilizzi i vector embedding per ottenere risposte contestuali, accurate e aggiornate nelle tue applicazioni di AI generativa.
  • Riduci le attività operative. Utilizza Cloud SQL come database vettoriale per ridurre le attività operative associate all'esportazione dei dati in un database vettoriale separato.
  • Accedi ai modelli di AI generativa più recenti. Utilizza query SQL per accedere ai modelli di AI più recenti ospitati in Vertex AI.

Inizia a utilizzare Cloud SQL per applicazioni di AI generativa

Per iniziare a creare applicazioni di AI generativa, utilizza questa app di esempio. L'app utilizza Cloud SQL, Vertex AI e Google Kubernetes Engine (GKE) o Cloud Run. Puoi utilizzare l'app per creare un'API chatbot di base che:

  • Integra GKE o Cloud Run con Cloud SQL, Vertex AI e pgvector
  • Mostra la connettività a Cloud SQL utilizzando Private Service Connect in un Virtual Private Cloud (VPC)
  • Utilizza Terraform per configurare l'infrastruttura
  • Utilizza Python con asyncpg e FastAPI
  • Supporta la configurazione di Cloud SQL e di un'app in esecuzione su GKE o Cloud Run in progetti separati Google Cloud

La soluzione contiene i seguenti contenuti:

  • Modelli Terraform per configurare l'infrastruttura con le best practice per la sicurezza
  • Un'app di esempio per un chatbot basato su LLM che puoi eseguire il deployment su GKE o Cloud Run

Passaggi successivi