L'integrazione di LangChain per AlloyDB per PostgreSQL ti consente di creare applicazioni di modelli linguistici di grandi dimensioni (LLM) e di Retrieval-Augmented Generation (RAG) supportate dal tuo database. Puoi utilizzare le LangChain per AlloyDB per eseguire la ricerca semantica con un archivio vettoriale, caricare e salvare documenti e conservare la cronologia dei messaggi di chat. Ogni panoramica dei componenti rimanda a una guida passo passo in GitHub.
Che cos'è LangChain?
LangChain è un framework di orchestrazione LLM che aiuta gli sviluppatori a creare applicazioni di AI generativa o workflow di Retrieval-Augmented Generation (RAG). Fornisce la struttura, gli strumenti e i componenti per semplificare i workflow complessi dei modelli linguistici di grandi dimensioni (LLM). Per ulteriori informazioni sugli LLM, sui relativi casi d'uso e sui modelli e servizi specifici offerti da Google, consulta un a panoramica dei concetti e dei servizi LLM in Google Cloud.
Per ulteriori informazioni su LangChain, consulta la Google LangChain pagina. Per ulteriori informazioni sul framework LangChain, consulta la documentazione del prodotto LangChain.
Componenti LangChain per AlloyDB
Scopri come utilizzare LangChain con la guida rapida di LangChain per AlloyDB. Questa guida rapida crea un'applicazione che accede a un set di dati di filmati Netflix in modo che gli utenti possano interagire con i dati dei film.
Archivio vettoriale per AlloyDB
L'archivio vettoriale recupera e archivia documenti e metadati da un database vettoriale. L'archivio vettoriale consente a un'applicazione di eseguire ricerche semantiche che interpretano il significato di una query utente. Questo tipo di ricerca è chiamato ricerca vettoriale e può trovare argomenti che corrispondono concettualmente alla query. Al momento della query, l'archivio vettoriale recupera i vector embedding più simili all'embedding della richiesta di ricerca. In LangChain, un archivio vettoriale si occupa di archiviare i dati incorporati ed eseguire la Vector Search per te.
Per utilizzare l'archivio vettoriale in AlloyDB, utilizza la classe AlloyDBVectorStore.
Per ulteriori informazioni, consulta la documentazione del prodotto degli archivi vettoriali LangChain.
Guida alla procedura dell'archivio vettoriale
La guida di AlloyDB per l'archivio vettoriale mostra come:
- Installare il pacchetto di integrazione e LangChain
- Creare un oggetto
AlloyDBEnginee configurare un pool di connessioni al database AlloyDB - Inizializzare una tabella per l'archivio vettoriale
- Configurare un servizio di embedding utilizzando
VertexAIEmbeddings - Inizializzare
AlloyDBVectorStore - Aggiungere ed eliminare documenti
- Cercare documenti simili
- Aggiungere un indice vettoriale per migliorare le prestazioni di ricerca
- Creare un archivio vettoriale personalizzato per connettersi a un database AlloyDB per PostgreSQL preesistente con una tabella con vector embedding
Loader di documenti per AlloyDB
Il loader di documenti salva, carica ed elimina gli oggetti Document di LangChain. Ad esempio, puoi caricare i dati per l'elaborazione negli embedding e archiviarli nell'archivio vettoriale o utilizzarli come strumento per fornire un contesto specifico alle catene.
Per caricare i documenti da AlloyDB, utilizza la classe AlloyDBLoader. AlloyDBLoader restituisce un elenco di documenti da una tabella utilizzando la prima colonna per i contenuti della pagina e tutte le altre colonne per i metadati. La tabella predefinita ha la prima colonna come contenuti della pagina e la seconda colonna come metadati JSON. Ogni riga diventa un documento. Le istruzioni per personalizzare queste
impostazioni sono disponibili nella guida alla procedura.
Utilizza la classe AlloyDBSaver per salvare ed eliminare i documenti.
Per ulteriori informazioni, consulta l'argomento Loader di documenti di LangChain.
Guida alla procedura del loader di documenti
La guida di AlloyDB per il loader di documenti mostra come:
- Installare il pacchetto di integrazione e LangChain
- Caricare i documenti da una tabella
- Aggiungere un filtro al loader
- Personalizzare la connessione e l'autenticazione
- Personalizzare la creazione di documenti specificando contenuti e metadati dei clienti
- Utilizzare e personalizzare un
AlloyDBSaverper archiviare ed eliminare i documenti
Cronologia dei messaggi chat per AlloyDB
Le applicazioni di domande e risposte richiedono una cronologia di ciò che è stato detto nella conversazione per fornire all'applicazione il contesto per rispondere a ulteriori domande dell'utente. La classe ChatMessageHistory di LangChain 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 archivia ogni messaggio e li concatena per ogni conversazione.
AlloyDB estende questa classe con AlloyDBChatMessageHistory.
Guida alla procedura della cronologia dei messaggi di chat
La guida di AlloyDB per la cronologia dei messaggi chat mostra come:
- Installare il pacchetto di integrazione e LangChain
- Creare un oggetto
AlloyDBEnginee configurare un pool di connessioni al database AlloyDB - Inizializzare una tabella
- Inizializzare la classe
AlloyDBChatMessageHistoryper aggiungere ed eliminare i messaggi - Creare una catena per la cronologia dei messaggi utilizzando LangChain Expression Language (LCEL)