Crea applicazioni basate su LLM utilizzando LangChain

Questa pagina illustra come creare applicazioni basate su LLM utilizzando LangChain. Le panoramiche in questa pagina rimandano alle guide alle procedure su 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 LLM complessi.

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 Cloud SQL per PostgreSQL

Cloud SQL per PostgreSQL offre le seguenti interfacce LangChain:

Scopri come utilizzare LangChain con la guida rapida di LangChain per Cloud SQL per PostgreSQL.

Archivio vettoriale per Cloud SQL per PostgreSQL

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 vettori di embedding più simili all'embedding della richiesta di ricerca. In LangChain, un archivio vettoriale si occupa di archiviare i dati incorporati ed eseguire la ricerca vettoriale per te.

Per utilizzare l'archivio vettoriale in Cloud SQL per PostgreSQL, utilizza la classe PostgresVectorStore.

Per ulteriori informazioni, consulta la documentazione del prodotto Archivi vettoriali di LangChain.

Guida alla procedura dell'archivio vettoriale

La guida di Cloud SQL per PostgreSQL per l'archivio vettoriale mostra come eseguire le seguenti operazioni:

  • Installare il pacchetto di integrazione e LangChain
  • Creare un oggetto PostgresEngine e configurare un pool di connessioni al database Cloud SQL per PostgreSQL
  • Inizializzare una tabella
  • Creare un oggetto di embedding utilizzando VertexAIEmbeddings
  • Inizializzare un PostgresVectorStore predefinito
  • Aggiungere testi
  • Eliminare testi
  • Cercare documenti
  • Cercare documenti per vettore
  • Aggiungere un indice per accelerare le query di ricerca vettoriale
  • Reindicizzare
  • Rimuovere un indice
  • Creare un archivio vettoriale personalizzato
  • Cercare documenti con un filtro di metadati

Loader per documenti per Cloud SQL per PostgreSQL

Il loader per 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 dal loader per documenti in Cloud SQL per PostgreSQL, utilizza la classe PostgresLoader. PostgresLoader 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. Utilizza la classe PostgresDocumentSaver per salvare ed eliminare i documenti.

Per ulteriori informazioni, consulta l'argomento Loader per documenti di LangChain.

Guida alla procedura del loader per documenti

La guida di Cloud SQL per PostgreSQL per il loader per documenti mostra come eseguire le seguenti operazioni:

  • 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
  • Come utilizzare e personalizzare un PostgresDocumentSaver per archiviare ed eliminare i documenti

Cronologia dei messaggi di chat per Cloud SQL per PostgreSQL

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.

Cloud SQL per PostgreSQL estende questa classe con PostgresChatMessageHistory.

Guida alla procedura della cronologia dei messaggi di chat

La guida di Cloud SQL per PostgreSQL per la cronologia dei messaggi chat mostra come eseguire le seguenti operazioni:

  • Installare LangChain ed eseguire l'autenticazione a Google Cloud
  • Creare un oggetto PostgresEngine e configurare un pool di connessioni al database Cloud SQL per PostgreSQL
  • Inizializzare una tabella
  • Inizializzare la classe PostgresChatMessageHistory per aggiungere ed eliminare i messaggi
  • Creare una catena per la cronologia dei messaggi utilizzando il linguaggio di espressione LangChain (LCEL) e i modelli di chat Vertex AI di Google

Passaggi successivi