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 AI 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 LLM complessi.

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

Cloud SQL per MySQL offre le seguenti interfacce LangChain:

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

Vector Store per Cloud SQL per MySQL

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 vettoriale in Cloud SQL per MySQL, utilizza la classe MySQLVectorStore.

Per ulteriori informazioni, consulta la documentazione del prodotto LangChain Vector Stores.

Guida alla procedura del negozio Vector

La guida di Cloud SQL per MySQL per vettore spiega come eseguire le seguenti operazioni:

  • Installa il pacchetto di integrazione e LangChain
  • Crea un oggetto MySQLEngine e configura un pool di connessioni al database Cloud SQL per MySQL
  • Inizializzare una tabella
  • Creare un oggetto di incorporamento utilizzando VertexAIEmbeddings
  • Inizializzare un MySQLVectorStore predefinito
  • Aggiungi testi
  • Eliminare i messaggi
  • Cercare documenti
  • Cercare documenti per vettore
  • Aggiungi un indice per accelerare le query di ricerca di vettori
  • Rimuovere un indice
  • Creare un negozio di vettori personalizzato
  • Cercare documenti con un filtro dei metadati

Caricatore di documenti per Cloud SQL per MySQL

Il caricamento dei 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 dal caricatore di documenti in Cloud SQL per MySQL, utilizza la classe MySQLLoader. I metodi MySQLLoader restituiscono uno o più documenti da una tabella. Utilizza la classe MySQLDocumentSaver 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 Cloud SQL per MySQL per il caricamento di documenti mostra come eseguire le seguenti operazioni:

  • 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 costruzione del documento specificando i contenuti e i metadati dei clienti
  • Come utilizzare e personalizzare un MySQLDocumentSaver per archiviare ed eliminare i documenti

Cronologia dei messaggi della chat per Cloud SQL per MySQL

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.

Cloud SQL per MySQL estende questa classe con MySQLChatMessageHistory.

Guida alla procedura per la cronologia dei messaggi di Chat

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

  • Installa LangChain e autenticati su Google Cloud
  • Crea un oggetto MySQLEngine e configura un pool di connessioni al database Cloud SQL per MySQL
  • Inizializzare una tabella
  • Inizializza la classe MySQLChatMessageHistory per aggiungere ed eliminare i messaggi
  • Crea una catena per la cronologia dei messaggi utilizzando il linguaggio di espressioni LangChain (LCEL) e i modelli di chat di Vertex AI di Google