Creare applicazioni basate su LLM utilizzando LangChain

Questa pagina introduce come creare applicazioni basate su LLM utilizzando LangChain. Le panoramiche di 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 AI generativa o workflow di generazione RAG (Retrieval-Augmented Generation). Fornisce la struttura, gli strumenti e i componenti per semplificare i workflow complessi dei modelli linguistici di grandi dimensioni (LLM). Per saperne di più sugli LLM, sui loro casi d'uso e sui modelli e servizi specifici offerti da Google, consulta una panoramica dei concetti e dei servizi LLM in Google Cloud.

Per saperne di più su LangChain, consulta la pagina Google LangChain. 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.

Vector Store per AlloyDB

Vector Store recupera e archivia documenti e metadati da un database vettoriale. Il negozio di vettori offre a un'applicazione la possibilità 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 alla query a livello concettuale. Al momento della query, il vector store 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 il vector store in AlloyDB, utilizza la classe AlloyDBVectorStore.

Per ulteriori informazioni, consulta la documentazione del prodotto LangChain vector stores.

Guida alla procedura del datastore vettoriale

La guida di AlloyDB per Vector Store mostra come:

  • Installa il pacchetto di integrazione e LangChain
  • Crea un oggetto AlloyDBEngine e configura un pool di connessioni al tuo database AlloyDB
  • Inizializza una tabella per il datastore vettoriale
  • Configura un servizio di incorporamento utilizzando VertexAIEmbeddings
  • Inizializza AlloyDBVectorStore
  • Aggiungere ed eliminare documenti
  • Cercare documenti simili
  • Aggiungi un indice vettoriale per migliorare le prestazioni di ricerca
  • Crea un archivio vettoriale personalizzato per connetterti a un database AlloyDB per PostgreSQL preesistente con una tabella con incorporamenti vettoriali

Document Loader per AlloyDB

Il caricatore di documenti salva, carica ed elimina gli oggetti Document LangChain. Ad esempio, puoi caricare i dati per l'elaborazione negli incorporamenti e archiviarli nell'archivio vettoriale o utilizzarli come strumento per fornire un contesto specifico alle catene.

Per caricare 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 contenuto 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 Caricatori di documenti LangChain.

Guida alla procedura di caricamento dei documenti

La guida di AlloyDB per Document Loader mostra come:

  • Installa il pacchetto di integrazione e LangChain
  • Caricare documenti da una tabella
  • Aggiungere un filtro al caricatore
  • Personalizza la connessione e l'autenticazione
  • Personalizzare la creazione del documento specificando i contenuti e i metadati del cliente
  • Come utilizzare e personalizzare un AlloyDBSaver per archiviare ed eliminare documenti

Cronologia dei messaggi di 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 che l'utente o l'applicazione forniscono durante la conversazione. ChatMessageHistory memorizza ogni messaggio e li concatena per ogni conversazione.

AlloyDB estende questa classe con AlloyDBChatMessageHistory.

Guida alla procedura per la cronologia dei messaggi di chat

La guida di AlloyDB per la cronologia dei messaggi di chat mostra come:

  • Installa il pacchetto di integrazione e LangChain
  • Crea un oggetto AlloyDBEngine e configura un pool di connessioni al tuo database AlloyDB
  • Inizializzare una tabella
  • Inizializza la classe AlloyDBChatMessageHistory per aggiungere ed eliminare messaggi
  • Crea una catena per la cronologia dei messaggi utilizzando LangChain Expression Language (LCEL)

Passaggi successivi