Spanner e le sue funzionalità multi-modello si integrano con Google Cloud's servizi AI e LangChain, un framework open source, per aiutarti a creare applicazioni di AI generativa. Puoi migliorare le applicazioni con funzionalità come la ricerca di somiglianze, la generazione Retrieval-Augmented Generation (RAG) e i Knowledge Graph. Spanner basa questa funzionalità sulla sua base di scalabilità, disponibilità e coerenza.
Esegui ricerche di somiglianze con Vector Search
Utilizza Spanner con Vector Search per implementare la ricerca di somiglianze sui dati di testo non strutturati. Spanner si integra con servizi come Gemini Enterprise Agent Platform per richiamare la generazione di vector embedding da dati di testo non strutturati. Questi embedding sono rappresentazioni numeriche che riflettono il significato semantico del testo. Per trovare elementi concettualmente simili, utilizza le funzioni di distanza vettoriale per trovare i vector embedding più simili all'embedding della richiesta di ricerca. Questo processo ti consente di creare funzionalità come i suggerimenti di prodotti o contenuti.
Per iniziare,
genera e esegui il backfill dei vector embedding di Agent Platform
in blocco per i dati di testo esistenti. Puoi farlo utilizzando SQL e un
modello di embedding di Agent Platform, ad esempio il modello text-embedding,
descritto nella
documentazione dell'API Text Embeddings.
Spanner supporta l'utilizzo di
Approximate Nearest Neighbor (ANN)
e
K-Nearest Neighbor (KNN) con i
vector embedding delle query. ANN utilizza un indice vettoriale per una ricerca rapida e scalabile che restituisce risultati approssimativi. KNN esegue una ricerca esaustiva che restituisce risultati più accurati, ma può essere lenta per set di dati di grandi dimensioni. Puoi utilizzare
più funzioni di distanza vettoriale
per misurare la somiglianza, tra cui:
Distanza del coseno: misura il coseno dell'angolo tra due vettori, utile per trovare elementi con orientamento simile, indipendentemente dalla magnitudine.
Distanza euclidea: misura la distanza in linea retta tra due vettori.
Prodotto scalare: calcola il prodotto delle magnitudini dei vettori e il coseno dell'angolo tra di essi. Questa può essere l'opzione più efficiente dal punto di vista computazionale per i vettori normalizzati.
Per saperne di più, consulta i seguenti argomenti:
Genera previsioni di ML con SQL
Puoi utilizzare le query SQL in Spanner per richiamare i modelli linguistici di grandi dimensioni (LLM) di cui è stato eseguito il deployment in Agent Platform. L'accesso diretto agli LLM ti consente di eseguire previsioni per attività come l'analisi del sentiment, la classificazione del testo e la traduzione dei dati archiviati in Spanner.
Utilizzando la funzione
ML.PREDICT
(GoogleSQL) o
spanner.ML_PREDICT_ROW
(PostgreSQL), puoi generare previsioni di machine learning (ML)
senza dover spostare i dati o scrivere codice applicativo personalizzato per
interagire con l'LLM. In questo modo, semplifichi l'architettura dell'applicazione e avvicini le funzionalità di ML ai tuoi dati. Per saperne di più, consulta
Generare previsioni di ML utilizzando SQL.
Utilizza Model Context Protocol (MCP) per connetterti agli agenti LLM
Puoi connettere l'istanza Spanner agli IDE che supportano Model Context Protocol (MCP). MCP è un protocollo aperto che puoi utilizzare per connettere gli LLM ai tuoi dati in Spanner. Dopo la connessione, gli agenti LLM possono eseguire query e interagire con l'istanza Spanner. Per saperne di più, consulta Connettere l'IDE a Spanner.
Scopri gli approfondimenti con i grafici di Spanner
Per casi d'uso RAG più avanzati, Spanner Graph integra le funzionalità del database a grafo con i punti di forza principali di Spanner. Spanner Graph ti consente di modellare, archiviare ed eseguire query sui dati altamente connessi.
Integra Spanner Graph con LangChain per creare applicazioni GraphRAG. Questa integrazione può migliorare la RAG tradizionale. GraphRAG ti consente di creare applicazioni che acquisiscono relazioni complesse tra le entità, ad esempio un Knowledge Graph. L'integrazione utilizza le query sui grafici oltre a Vector Search per acquisire relazioni complesse e implicite nei dati. L'utilizzo combinato di query sui grafici e Vector Search può fornire risposte più accurate e pertinenti dall'LLM rispetto all'utilizzo di Vector Search da solo.
Per saperne di più, consulta Infrastruttura GraphRAG per l'AI generativa che utilizza Agent Platform e Spanner Graph.
Crea applicazioni basate su LLM con LangChain
Spanner fornisce diverse classi per lavorare in modo programmatico con LangChain. LangChain è un framework di orchestrazione LLM che fornisce la struttura, gli strumenti e i componenti per semplificare i workflow LLM complessi. Utilizza LangChain per creare applicazioni di AI generativa e workflow RAG. Le classi LangChain disponibili per Spanner includono:
SpannerVectorStore: archivia e cerca i vector embedding per abilitare la ricerca di somiglianze all'interno dell'applicazione con la classe.SpannerLoader: carica i dati da Spanner da utilizzare negli embedding o per fornire un contesto specifico alle catene LLM con la classe.SpannerChatMessageHistory: abilita le applicazioni di AI conversazionale archiviando la cronologia delle conversazioni in un database Spanner.
Per saperne di più, consulta Creare applicazioni basate su LLM utilizzando LangChain e la libreria client Spanner per LangChain.
Esplora i casi d'uso
Utilizza le funzionalità di AI di Spanner per creare applicazioni intelligenti per casi d'uso come i seguenti:
Motori per suggerimenti per l'e-commerce: genera vector embedding per le descrizioni dei prodotti per alimentare un motore per suggerimenti. Questo motore può suggerire articoli simili ai clienti, migliorando la loro esperienza di acquisto e aumentando le vendite. Per saperne di più, consulta Utilizzare l'AI generativa per ricevere suggerimenti personalizzati in un'applicazione di e-commerce.
Gestisci la cronologia dei messaggi di chat: utilizza Spanner e LangChain per archiviare e recuperare la cronologia delle conversazioni. Spanner archivia questi dati in un database e fornisce la classe
SpannerChatMessageHistory. Questa classe estende una classe base LangChain per salvare e recuperare i messaggi da un database. Per saperne di più, consulta Cronologia dei messaggi di chat con Spanner.Rilevamento di frodi finanziarie: utilizza Spanner Graph per analizzare le relazioni complesse tra utenti, account e transazioni per identificare pattern e anomalie sospette difficili da rilevare con i database relazionali tradizionali.
Customer 360: con Spanner Graph, ottieni una visione olistica dei clienti monitorando le relazioni, le preferenze e le cronologie degli acquisti. In questo modo, puoi fornire suggerimenti personalizzati, campagne di marketing mirate e migliorare le esperienze di assistenza clienti.
Social network: modella le attività e le interazioni degli utenti con Spanner Graph per fornire suggerimenti di amici e scoprire contenuti nei social network.
Passaggi successivi
Per saperne di più sull'implementazione delle funzionalità di AI in Spanner, consulta i seguenti argomenti:
- Generare ed eseguire il backfill dei vector embedding
- Trovare i risultati vicini K-nearest
- Migliorare il rendimento della ricerca vettoriale con i risultati vicini approssimativi
- Integrazione con LangChain
- Panoramica di Spanner Graph