Questa pagina illustra come creare applicazioni basate su LLM utilizzando LangChain. Le panoramiche in questa pagina rimandano alle guide alle procedure in GitHub.
Che cos'è LangChain?
LangChain è un framework di orchestrazione LLM che aiuta gli sviluppatori a creare applicazioni di IA generativa o flussi di lavoro di generazione basata sul recupero (RAG). Fornisce la struttura, gli strumenti e i componenti per semplificare i flussi di lavoro LLM complessi.
Per ulteriori informazioni su LangChain, consulta la pagina Google LangChain. Per ulteriori informazioni sul framework LangChain, consulta la documentazione del prodotto LangChain.
Componenti LangChain per Spanner
Spanner offre le seguenti interfacce LangChain:
- Negozio di vettori
- Caricatore di documenti
- Cronologia dei messaggi di Chat
- Graph Store
- Controllo qualità dei grafici
Scopri come utilizzare questi componenti in un'applicazione con la guida introduttiva di LangChain per Spanner.
Negozio di vettori per Spanner
Il repository di vettori recupera e archivia documenti e metadati da un database vettoriale. Il repository di vettori consente a un'applicazione di eseguire ricerche semantiche che interpretino il significato di una query dell'utente. Questo tipo di ricerca è chiamata ricerca vettoriale e può trovare argomenti che corrispondono concettualmente alla query. Al momento della query, lo spazio vettoriale recupera gli embedding più simili a quello della richiesta di ricerca. In LangChain, un datastore vettoriale si occupa di archiviare i dati incorporati ed eseguire la ricerca vettoriale per te.
Per lavorare con lo spazio vettoriale in Spanner, utilizza la classe
SpannerVectorStore
.
Per ulteriori informazioni, consulta la documentazione del prodotto LangChain Vector Stores.
Guida alla procedura per i datastore vettoriali
La guida di Spanner per la tabella vettoriale illustra come:
- Installa il pacchetto di integrazione e LangChain
- Inizializza una tabella per il datastore vettoriale
- Configurare un servizio di incorporamento utilizzando
VertexAIEmbeddings
- Inizializza
SpannerVectorStore
- Aggiungere ed eliminare documenti
- Cercare documenti simili
- Crea un repository di vettori personalizzato da collegare a un database Spanner preesistente che contiene una tabella con embedding di vettori
Caricatore di documenti per Spanner
Il caricatore di documenti salva, carica ed elimina gli oggetti Document
LangChain. Ad esempio, puoi caricare i dati per l'elaborazione negli embedding e immagazzinarli nel repository di vettori o utilizzarli come strumento per fornire un contesto specifico alle catene.
Per caricare i documenti da Spanner, utilizza la classe SpannerLoader
.
Utilizza la classe SpannerDocumentSaver
per salvare ed eliminare i documenti.
Per ulteriori informazioni, consulta l'argomento Caricatori di documenti di LangChain.
Guida alla procedura di caricamento dei documenti
La guida di Spanner per il caricamento di documenti illustra come:
- Installa il pacchetto di integrazione e LangChain
- Caricare documenti da una tabella
- Aggiungere un filtro al caricatore
- Personalizzare la connessione e l'autenticazione
- Personalizzare la costruzione del documento specificando i contenuti e i metadati dei clienti
- Come utilizzare e personalizzare un
SpannerDocumentSaver
per archiviare ed eliminare i documenti
Cronologia dei messaggi di Chat per Spanner
Le applicazioni di domande e risposte richiedono una cronologia delle cose dette nella conversazione per fornire il contesto dell'applicazione per rispondere ad altre domande dell'utente. La classe LangChain ChatMessageHistory
consente all'applicazione di salvare i messaggi in un database e recuperarli quando necessario per formulare ulteriori risposte. Un messaggio può essere una domanda, una risposta, un'affermazione, un saluto o qualsiasi altro testo fornito dall'utente o dall'applicazione durante la conversazione.
ChatMessageHistory
memorizza ogni messaggio e li collega per ogni
conversazione.
Spanner estende questa classe con SpannerChatMessageHistory
.
Guida alla procedura per la cronologia dei messaggi di Chat
La guida di Spanner per la cronologia dei messaggi di chat illustra come:
- Installa LangChain e autenticati su Google Cloud
- Inizializzare una tabella
- Inizializza la classe
SpannerChatMessageHistory
per aggiungere ed eliminare i messaggi - Utilizzare un client per personalizzare la connessione e l'autenticazione
- Elimina la sessione
SpannerChatMessageHistory
Graph Store per Spanner
Il graph store recupera e memorizza i nodi e gli archi da un database di grafici. Utilizza la raccolta di grafici per consentire a un'applicazione di:
- Aggiungere nodi ed archi a un grafico
- Eseguire attraversamenti e analisi su un grafo
- Ispezionare lo schema di un grafo
Puoi anche utilizzare Graph Store con la catena di QA dei grafici per creare un'applicazione che possa chattare con un grafico.
Per utilizzare l'archivio di grafo con Spanner Graph, utilizza la classe
SpannerGraphStore
.
per archiviare i nodi e gli archi estratti dai documenti. SpannerGraphStore
supporta il linguaggio Graph Query Language (GQL).
Guida alla procedura per i negozi di grafici
La guida di Spanner per il graph store spiega come:
- Installa il pacchetto di integrazione e LangChain
- Preparare i grafici da varie origini dati
- Inizializzare
SpannerGraphStore
con un database Spanner Graph esistente - Aggiungere nodi ed archi a Spanner Graph
- Esegui attraversamenti utilizzando una query GQL
- Visualizzare i risultati della query sul grafico
- Pulire il grafico
Catena di QA del grafo per Spanner
La catena di QA del grafo per Spanner utilizza un grafo Spanner per rispondere alle domande. Il flusso di lavoro di QA del grafico per rispondere a una domanda è il seguente:
- La funzionalità di controllo qualità del grafo utilizza un modello LLM LangChain per tradurre una domanda in linguaggio naturale in una query GQL.
- Spanner Graph utilizza l'interfaccia del repository di grafici per eseguire la query GQL.
- I risultati della query GQL vengono inviati nuovamente all'LLM.
- L'LLM genera e restituisce la risposta alla domanda.
Guida alla procedura di QA dei grafici
La guida di Spanner per il QA dei grafici dimostra come utilizzare Spanner e il QA dei grafici per rispondere a una domanda mostrando come eseguire le seguenti operazioni:
- Crea un grafico da blob di testo non strutturato utilizzando
LLMGraphTransformer
. - Memorizza il grafo in Spanner Graph utilizzando la classe
SpannerGraphStore
. - Inizializza un'istanza
SpannerGraphQAChain
. - Genera una risposta a una domanda in linguaggio naturale utilizzando l'archivio di grafo in Spanner Graph.