Spanner e le sue funzionalità multimodello si integrano con i servizi AI diGoogle Cloude LangChain, un framework open source, per aiutarti a creare applicazioni di AI generativa. Puoi migliorare le applicazioni con funzionalità come la ricerca per somiglianza, la Retrieval-Augmented Generation (RAG) e i grafi di conoscenza. Spanner si basa su 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 similarità su dati di testo non strutturati. Spanner si integra con servizi come Vertex AI per richiamare la generazione di incorporamenti vettoriali da dati di testo non strutturati. Questi incorporamenti sono rappresentazioni numeriche che riflettono il significato semantico del testo. Per trovare elementi concettualmente simili, utilizzi le funzioni di distanza vettoriale per trovare i vettori di incorporamento più simili all'incorporamento della richiesta di ricerca. Questo processo ti consente di creare funzionalità come consigli su prodotti o contenuti.
Per iniziare,
genera e riempi gli incorporamenti vettoriali di Vertex AI
in blocco per i dati testuali esistenti. Puoi farlo utilizzando SQL e un
modello di embedding Vertex AI, ad esempio il modello text-embedding
,
descritto nella
documentazione dell'API Text Embeddings.
Spanner supporta l'utilizzo di
Approximate Nearest Neighbors (ANN) e
K-Nearest Neighbors (KNN) con query
vector embedding. 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 magnitudo.
Distanza euclidea: misura la distanza in linea retta tra due vettori.
Prodotto scalare: calcola il prodotto delle magnitudo dei vettori e il coseno dell'angolo tra loro. Questa può essere l'opzione più efficiente dal punto di vista computazionale per i vettori normalizzati.
Per maggiori informazioni, consulta i seguenti argomenti:
Generare previsioni ML con SQL
Puoi utilizzare query SQL in Spanner per richiamare modelli linguistici di grandi dimensioni (LLM) di cui è stato eseguito il deployment in Vertex AI. L'accesso diretto agli LLM ti consente di eseguire previsioni per attività come l'analisi del sentiment, la classificazione del testo e la traduzione sui dati archiviati in Spanner.
Utilizzando la funzione
ML.PREDICT
(GoogleSQL) o la funzione
spanner.ML_PREDICT_ROW
(PostgreSQL), puoi generare previsioni di machine learning (ML)
senza dover spostare i dati o scrivere codice dell'applicazione personalizzato per
interagire con il LLM. In questo modo, l'architettura dell'applicazione viene semplificata e le funzionalità di ML vengono avvicinate ai dati. Per ulteriori informazioni, consulta
Generare previsioni di ML utilizzando SQL.
Utilizza il Model Context Protocol (MCP) per connetterti agli agenti LLM
Puoi connettere la tua istanza Spanner agli IDE che supportano il Model Context Protocol (MCP). MCP è un protocollo aperto che puoi utilizzare per connettere i LLM ai tuoi dati in Spanner. Una volta connessi, gli agenti LLM possono eseguire query e interagire con la tua istanza Spanner. Per saperne di più, vedi Connettere l'IDE a Spanner.
Scopri insight con i grafici di Spanner
Per casi d'uso RAG più avanzati, Spanner Graph integra le funzionalità del database di grafici con i punti di forza principali di Spanner. Spanner Graph consente di modellare, archiviare ed eseguire query su 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 entità, ad esempio un Knowledge Graph. L'integrazione utilizza query grafiche oltre alla ricerca vettoriale per acquisire relazioni complesse e implicite nei tuoi dati. L'utilizzo combinato di query grafiche e Vector Search può fornire risposte più accurate e pertinenti dal tuo LLM rispetto all'utilizzo di Vector Search da solo.
Per ulteriori informazioni, consulta Infrastruttura GraphRAG per l'AI generativa utilizzando Vertex AI 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
: Memorizza ed esegui ricerche di embedding vettoriali per attivare la ricerca di somiglianze all'interno della tua applicazione con la classe.SpannerLoader
: carica i dati da Spanner da utilizzare negli incorporamenti o per fornire un contesto specifico alle catene LLM con la classe.SpannerChatMessageHistory
: Attiva le applicazioni di AI conversazionale memorizzando la cronologia delle conversazioni in un database Spanner.
Per saperne di più, consulta Crea applicazioni basate su LLM utilizzando LangChain e Libreria client Spanner per LangChain.
Esplorazione dei 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 incorporamenti vettoriali 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 consigli 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 relazioni complesse tra utenti, account e transazioni per identificare pattern e anomalie sospette difficili da rilevare con database relazionali tradizionali.
Customer 360: con Spanner Graph, ottieni una visione olistica dei clienti monitorando relazioni, preferenze e cronologia degli acquisti. In questo modo, vengono forniti consigli personalizzati, campagne di marketing mirate e migliori esperienze di assistenza clienti.
Social network: modella le attività e le interazioni degli utenti con Spanner Graph per fornire consigli sugli amici e scoprire contenuti nei social network.
Passaggi successivi
Per scoprire di più sull'implementazione delle funzionalità di AI in Spanner, consulta i seguenti argomenti:
- Generare ed eseguire il backfill dei vector embedding
- Trova i vicini più prossimi
- Migliorare il rendimento della ricerca vettoriale con i vicini più prossimi approssimati
- Integrazione con LangChain
- Panoramica di Spanner Graph