Crea applicazioni di AI 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 Iniziare a utilizzare Cloud SQL per le 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. RAG migliora le applicazioni di AI generativa aumentandone l'accuratezza. I database Cloud SQL offrono funzionalità selezionate per le applicazioni di RAG e AI generativa, come spiegato in questa pagina.

Genera incorporamenti vettoriali

Gli incorporamenti vettoriali sono essenziali per la RAG perché consentono una comprensione semantica e una ricerca di somiglianza efficiente. Questi incorporamenti sono rappresentazioni numeriche di testo, immagini, audio e video. I modelli di incorporamento generano gli incorporamenti vettoriali in modo che, se due contenuti sono simili dal punto di vista semantico, i rispettivi incorporamenti si trovino vicini nello spazio vettoriale dell'incorporamento.

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

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

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

Archivia, indicizza ed esegui query sugli embedding vettoriali con pgvector

Puoi archiviare, indicizzare ed eseguire query sugli incorporamenti vettoriali in Cloud SQL utilizzando l'pgvectorestensione PostgreSQL.

Per ulteriori informazioni sulla configurazione di questa estensione, vedi Configurare le estensioni PostgreSQL. Per ulteriori informazioni su archiviazione, indicizzazione e query degli incorporamenti vettoriali, consulta Archiviare un embedding generato ed Eseguire query e indicizzare gli incorporamenti utilizzando pgvector.

Esegui previsioni online utilizzando query SQL

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

Utilizzare l'integrazione di 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:

Migliorare le prestazioni della ricerca vettoriale

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

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

    Cloud SQL fornisce le seguenti metriche in Metrics Explorer in Cloud Monitoring:

    Metrica Descrizione Etichetta della metrica
    Cache di dati utilizzata L'utilizzo della cache dei dati (in byte) database/data_cache/bytes_used
    Quota della cache di dati Le dimensioni massime della cache dati (in byte) database/data_cache/quota
    Conteggio successo della cache di dati Il numero totale di operazioni di lettura di successo della cache di dati per un'istanza database/postgresql/data_cache/hit_count
    Conteggio fallimento della cache dati Il numero totale di operazioni di lettura fallimento della cache dati per un'istanza database/postgresql/data_cache/miss_count
    Percentuale successi cache di 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
  • Approfondimenti sul sistema: forniscono metriche di sistema come utilizzo della CPU, utilizzo del disco e throughput per aiutarti a monitorare l'integrità delle istanze e risolvere i problemi che influiscono sulle prestazioni delle tue applicazioni di AI generativa. Per visualizzare queste metriche, utilizza la dashboard Cloud SQL System Insights.

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

    Puoi utilizzare la dashboard Query Insights di Cloud SQL per osservare le prestazioni delle query principali e analizzarle utilizzando i piani di query visivi. Puoi anche monitorare le prestazioni a livello di applicazione e risalire all'origine di una query problematica nello stack dell'applicazione fino al database utilizzando SQLcommenter. Si tratta di una libreria di automazione open source per la mappatura a oggetti relazionali (ORM).

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

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

L'utilizzo di Cloud SQL per creare applicazioni di AI generativa offre quanto segue:

  • 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. L'utilizzo di Cloud SQL offre i seguenti vantaggi:
    • Uno SLA ad alta disponibilità del 99,99% che include la manutenzione
    • Un servizio gestito che offre funzionalità come backup automatici, replica, patch, crittografia e aumenti automatici della capacità di archiviazione
    • Funzionalità di sicurezza, governance e conformità
  • Combinali con dati operativi contestuali. Utilizza join e filtri sui dati operativi e allo stesso tempo gli embedding vettoriali per ottenere risposte contestuali, accurate e aggiornate nelle tue applicazioni di AI generativa.
  • Riduci le difficoltà di gestione. Utilizza Cloud SQL come database vettoriale per ridurre le complessità operative associate all'esportazione dei dati in un database vettoriale separato.
  • Accedi ai modelli di AI generativa più recenti. Utilizza le query SQL per accedere agli ultimi modelli di IA ospitati in Vertex AI.

Inizia a utilizzare Cloud SQL per le 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 di chatbot di base che:

  • Integra GKE o Cloud Run con Cloud SQL, Vertex AI e pgvector
  • Dimostra 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 che viene eseguita su GKE o Cloud Run in progetti Google Cloud distinti

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 in GKE o Cloud Run

Passaggi successivi