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 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à curate per le applicazioni RAG e di AI generativa, come spiegato in questa pagina.
Genera vector embedding
Gli incorporamenti vettoriali sono essenziali per la RAG perché consentono una comprensione semantica e una ricerca efficiente della somiglianza. 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 semanticamente simili, i rispettivi incorporamenti si trovino vicini nello spazio vettoriale di 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 PostgreSQL con una funzione di incorporamento per generare incorporamenti vettoriali del 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 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 incorporamenti vettoriali come input per le funzioni pgvector
per le ricerche semantiche e di somiglianza.
Archivia, indicizza ed esegui query su vector embedding con pgvector
Puoi archiviare, indicizzare ed eseguire query sugli incorporamenti vettoriali in Cloud SQL utilizzando l'estensione PostgreSQL pgvector
.
Per saperne di più sulla configurazione di questa estensione, vedi Configurare le estensioni PostgreSQL. Per ulteriori informazioni su come archiviare, indicizzare ed eseguire query sugli incorporamenti vettoriali, consulta Archiviare un incorporamento generato ed Eseguire query e indicizzare
gli incorporamenti utilizzando pgvector
.
Richiamare le previsioni online utilizzando query SQL
Puoi richiamare le previsioni online utilizzando i modelli archiviati in Vertex AI Model Garden tramite query SQL.
Utilizzare l'integrazione 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
- Archivi vettoriali: utilizza LangChain per abilitare la ricerca semantica
- Messaggi di chat: attiva le catene per ricordare le conversazioni precedenti
Migliorare 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 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 metrica Cache dati utilizzata Utilizzo della cache dei dati (in byte) database/data_cache/bytes_used
Quota della cache di 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 di successo della cache di dati per un'istanza database/postgresql/data_cache/hit_count
Conteggio fallimento della cache di dati Il numero totale di operazioni di lettura di fallimento della cache di dati per un'istanza database/postgresql/data_cache/miss_count
Percentuale successi cache di dati Il rapporto tra le operazioni di lettura di successo della cache dei dati e le operazioni di lettura di fallimento della cache dei dati per un'istanza
database/postgresql/data_cache/hit_ratio
System Insights: fornisci metriche di sistema come l'utilizzo della CPU, l'utilizzo del disco e il throughput per aiutarti a monitorare lo stato 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 previeni i problemi di prestazioni delle query. Ciò è utile per migliorare il rendimento della ricerca vettoriale nelle applicazioni di AI generativa.
Puoi utilizzare la dashboard di Cloud SQL Query Insights per osservare le prestazioni delle query principali e analizzarle utilizzando i piani di query visive. Puoi anche monitorare le prestazioni a livello di applicazione e tracciare l'origine di una query problematica nello stack di applicazioni al database utilizzando SQLcommenter. Si tratta di una libreria open source di mappatura relazionale a oggetti (ORM) e strumentazione automatica.
Query Insights può anche aiutarti a integrarti con gli strumenti di monitoraggio delle applicazioni (APM) esistenti, in modo da poter risolvere i problemi relativi alle 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 con Vertex AI e LangChain. - Utilizza un servizio attendibile con protezione, sicurezza e governance dei dati di livello aziendale. Utilizzando Cloud SQL, ottieni i seguenti vantaggi:
- Uno SLA ad alta disponibilità del 99,99% che include manutenzione
- Un servizio gestito che ti offre 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 gli embedding vettoriali per ottenere risposte contestuali, accurate e aggiornate nelle tue applicazioni di AI generativa.
- Ridurre le difficoltà operative. Utilizza Cloud SQL come database vettoriale per ridurre il lavoro operativo associato 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 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 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
eFastAPI
- Supporta la configurazione di Cloud SQL e di un'app eseguita su GKE o Cloud Run in progetti Google Cloud separati
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 in GKE o Cloud Run