Creare 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 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 complessi dei modelli linguistici di grandi dimensioni (LLM). Per ulteriori informazioni sugli LLM, sui casi d'uso e sui modelli e servizi specifici offerti da Google, consulta la panoramica dei concetti e dei servizi LLM in Google Cloud.

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 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 film di Netflix per consentire agli utenti di interagire con i dati dei film.

Repository di vettori per AlloyDB

Il repository di vettori recupera e archivia documenti e metadati da un database vettoriale. Il Vector Store offre a un'applicazione la possibilità 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 l'archivio di vettori in AlloyDB, utilizza la classe AlloyDBVectorStore.

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

Guida alla procedura del negozio Vector

La guida di AlloyDB per la tabella vettoriale illustra come:

  • Installa il pacchetto di integrazione e LangChain
  • Crea un oggetto AlloyDBEngine e configura un pool di connessioni al database AlloyDB
  • Inizializza una tabella per l'archivio di vettori
  • Configurare un servizio di incorporamento utilizzando VertexAIEmbeddings
  • Inizializza AlloyDBVectorStore
  • Aggiungere ed eliminare documenti
  • Cercare documenti simili
  • Aggiungere un indice vettoriale per migliorare le prestazioni di ricerca
  • Crea un repository di vettori personalizzato per connetterti a un database AlloyDB per PostgreSQL preesistente con una tabella con embedding di vettori

Caricatore di documenti per AlloyDB

Il caricatore di documenti salva, carica ed elimina gli oggetti Document LangChain. Ad esempio, puoi caricare i dati per l'elaborazione negli embedding e archiviarli nel repository di vettori 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 contenuto della pagina e la seconda colonna come metadati JSON. Ogni riga diventa un documento. Le istruzioni per personalizzare queste impostazioni sono riportate nella guida alla procedura.

Utilizza la classe AlloyDBSaver 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 AlloyDB per il caricamento dei 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 creazione del documento specificando i contenuti e i metadati dei clienti
  • Come utilizzare e personalizzare un AlloyDBSaver per archiviare ed eliminare i documenti

Cronologia dei messaggi di Chat per AlloyDB

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.

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 illustra come:

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