Questa pagina fornisce una panoramica delle funzionalità offerte da Cloud SQL per PostgreSQL per aiutarti a creare applicazioni di IA generativa. Per iniziare a utilizzare un'applicazione di esempio, consulta Iniziare a utilizzare Cloud SQL per le applicazioni di AI generativa.
RAG (Retrieval-Augmented Generation) è 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 IA generativa aumentandone l'accuratezza. I database Cloud SQL offrono funzionalità selezionate per applicazioni RAG e di 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 incorporamenti, puoi archiviarli in un database Cloud SQL senza bisogno di un database vettoriale separato.
Puoi anche utilizzare Cloud SQL per archiviare gli incorporamenti vettoriali generati al di fuori di Cloud SQL. Ad esempio, puoi archiviare gli incorporamenti 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'estensione PostgreSQL pgvector
.
Per ulteriori informazioni sulla configurazione di questa estensione, vedi Configurare le estensioni PostgreSQL. Per ulteriori informazioni su come archiviare, indicizzare ed eseguire query sugli incorporamenti vettoriali, vedi Archiviare un incorporamento generato e Query e indice
incorporamenti utilizzando pgvector
.
Esegui previsioni online utilizzando query SQL
Puoi richiamare le previsioni online utilizzando modelli archiviati in Vertex AI Model Garden utilizzando 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:
- Caricatori di documenti: caricano e archiviano le informazioni dai documenti
- Negozi di vettori: utilizza LangChain per attivare la ricerca semantica
- Messaggi di chat: abilita le catene per richiamare le conversazioni precedenti
Migliorare le prestazioni della ricerca vettoriale
Puoi migliorare il rendimento di una ricerca di vettori utilizzando quanto segue:
- Cache dei dati: utilizza una cache di dati integrata che sfrutta un SSD locale veloce per archiviare le pagine di dati lette di frequente. Puoi ottenere fino a tre volte il miglioramento 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
Numero di successo della cache dei dati Il numero totale di operazioni di lettura 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 mancate della cache dati per un'istanza database/postgresql/data_cache/miss_count
Percentuale di hit della cache dei dati Il rapporto tra le operazioni di lettura con hit della cache dei dati e le operazioni di lettura con miss 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 IA generativa. Per visualizzare queste metriche, utilizza la dashboard degli insight sul sistema di Cloud SQL.
Query Insights: consente di rilevare, diagnosticare e prevenire problemi di prestazioni delle query. Questo è utile per migliorare le prestazioni della ricerca vettoriale nelle applicazioni di IA generativa.
Puoi utilizzare la dashboard di 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 consente inoltre di integrare gli strumenti di monitoraggio delle applicazioni (APM) esistenti in modo da poter risolvere i problemi relativi alle query utilizzando strumenti che conoscono.
Vantaggi dell'utilizzo di Cloud SQL per le applicazioni di AI generativa
L'utilizzo di Cloud SQL per creare applicazioni di IA generativa offre quanto segue:
- Utilizza PostgreSQL per creare applicazioni di IA generativa. Cloud SQL per PostgreSQL supporta
pgvector
e si integra con Vertex AI e LangChain. - Utilizza un servizio attendibile con protezione, sicurezza e governance dei dati di livello enterprise. Utilizzando Cloud SQL, ottieni 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 i dati operativi contestuali. Utilizza join e filtri sui dati operativi e, contemporaneamente, gli embedding vettoriali per ottenere risposte contestuali, accurate e aggiornate nelle tue applicazioni di IA generativa.
- Riduci il lavoro manuale. Utilizza Cloud SQL come database vettoriale per ridurre il lavoro manuale associato all'esportazione dei dati in un database vettoriale separato.
- Accedi ai più recenti modelli di IA generativa. Utilizza le query SQL per accedere ai modelli di IA più recenti ospitati in Vertex AI.
Inizia a utilizzare Cloud SQL per le applicazioni di IA 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 la tua infrastruttura
- Utilizza Python con
asyncpg
eFastAPI
- Supporta la configurazione di Cloud SQL e di un'app che viene eseguita su GKE o Cloud Run in progetti Google Cloud separati
La soluzione include i seguenti contenuti:
- Modelli Terraform per configurare la tua infrastruttura con best practice per la sicurezza
- Un'app di esempio per un chatbot basato su LLM di cui puoi eseguire il deployment su GKE o Cloud Run