Crea applicazioni basate su LLM utilizzando LangChain

Il collegamento di LangChain a Bigtable consente di creare e scalare applicazioni di AI generativa basate su LLM e workflow di Retrieval-Augmented Generation (RAG). Le panoramiche dei componenti in questo documento rimandano alle procedure di implementazione 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 LLM complessi.

Per saperne di più su LangChain, consulta la pagina Google LangChain. Per saperne di più sul framework LangChain, consulta la documentazione del prodotto LangChain.

Componenti LangChain per Bigtable

Bigtable offre le seguenti interfacce LangChain:

Scopri come utilizzare LangChain con la Guida rapida di LangChain per Bigtable. 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.

Datastore vettoriale per Bigtable

Puoi utilizzare l'archivio vettoriale per salvare documenti di testo insieme ai relativi incorporamenti vettoriali e altri metadati in una tabella Bigtable. In questo modo, puoi:

  • Cerca nei tuoi documenti con tecniche come la ricerca di similarità vettoriale o la ricerca di massima pertinenza marginale (MMR).
  • Esegui un ulteriore filtro sui risultati della ricerca vettoriale con i metadati dei documenti.

Per saperne di più, consulta l'argomento LangChain vector stores.

Guida alla procedura di datastore vettoriale

La guida Bigtable per gli archivi di vettori mostra come:

  • Installa il pacchetto di integrazione e LangChain
  • Configura il servizio di incorporamento
  • Crea e configura l'archivio Bigtable
  • Personalizza la connessione e l'autenticazione
  • Esegui una query nell'archivio con l'algoritmo k-NN e filtra i risultati in base ai metadati del documento

Archivio coppia chiave-valore per Bigtable

Bigtable fornisce un archivio chiave-valore per LangChain sotto forma di una classe ByteStore che consente di lavorare con documenti o incorporamenti archiviati come oggetti byte. Questo approccio può aiutarti a ridurre significativamente i costi e la latenza quando esegui attività come la memorizzazione nella cache e l'indicizzazione degli incorporamenti per query ripetute.

Per maggiori informazioni, consulta l'argomento Archivi di coppie chiave-valore di LangChain.

Guida alla procedura dell'archivio coppia chiave-valore

La guida Bigtable per gli archivi coppia chiave-valore mostra come:

  • Installa il pacchetto di integrazione e LangChain
  • Inizializza il motore e le tabelle richiesti
  • Personalizza la connessione e l'autenticazione
  • Come utilizzare BigtableByteStore come livello di memorizzazione nella cache per i vector embedding

Document Loader per Bigtable

Il caricatore di documenti salva, carica ed elimina gli oggetti Document di LangChain. Ad esempio, puoi caricare i dati da elaborare negli incorporamenti e archiviarli nel vector store o utilizzarli come strumento per fornire un contesto specifico alle catene.

Per caricare documenti dal caricatore di documenti in Bigtable, utilizza la classe BigtableLoader. I metodi BigtableLoader restituiscono uno o più documenti da una tabella. Utilizza la classe BigtableSaver per salvare ed eliminare i documenti.

Per saperne di più, consulta l'argomento Caricatori di documenti LangChain.

Guida alla procedura di caricamento dei documenti

La guida Bigtable per il caricatore di documenti 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
  • Personalizza la creazione di documenti specificando contenuti e metadati del cliente
  • Come utilizzare e personalizzare un BigtableSaver per archiviare ed eliminare documenti

Cronologia dei messaggi chat per Bigtable

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 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.

Bigtable estende questa classe con BigtableChatMessageHistory.

Guida alla procedura per la cronologia dei messaggi di chat

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

  • Installa LangChain ed esegui l'autenticazione su Google Cloud
  • Inizializza lo schema Bigtable
  • Inizializza la classe BigtableChatMessageHistory per aggiungere ed eliminare messaggi
  • Utilizzare un client per personalizzare la connessione e l'autenticazione