Creazione di applicazioni basate su LLM utilizzando LangChain

Questa pagina introduce come creare applicazioni basate su LLM utilizzando LangChain. Le panoramiche in 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 flussi di lavoro RAG (retrieval-augmented Generation). 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.

Archivio vettoriale per Cloud SQL per MySQL

L'archivio vettoriale recupera e archivia documenti e metadati da un database vettoriale. L'archivio vettoriale offre a un'applicazione la possibilità di eseguire ricerche semantiche che interpretano il significato di una query utente. Questo tipo di ricerca è chiamata ricerca vettoriale e consente di trovare argomenti corrispondenti alla query concettualmente. Durante la fase di query, l'archivio vettoriale recupera i vettori di incorporamento più simili all'incorporamento della richiesta di ricerca. In LangChain, un archivio vettoriale si occupa dell'archiviazione dei dati incorporati e dell'esecuzione della ricerca vettoriale per conto tuo.

Per lavorare con l'archiviazione vettoriale in Cloud SQL per MySQL, utilizza la classe MySQLVectorStore.

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

Guida alla procedura di archiviazione Vector

La guida di Cloud SQL per MySQL per l'archivio vettoriale mostra come fare quanto segue:

  • 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
  • Crea un oggetto di incorporamento utilizzando VertexAIEmbeddings
  • Inizializza un MySQLVectorStore predefinito
  • Aggiungere testi
  • Eliminare i testi
  • Cerca documenti
  • Cerca documenti per vettore
  • Aggiungi un indice per accelerare le query di ricerca vettoriali
  • Rimuovi un indice
  • Crea un archivio di vettori personalizzato
  • Cercare documenti con un filtro di metadati

Caricatore di documenti per Cloud SQL per MySQL

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

Per caricare 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. Usa il corso MySQLDocumentSaver per salvare ed eliminare documenti.

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

Guida alla procedura di caricamento di documenti

La guida di Cloud SQL per MySQL per il caricatore di documenti mostra come fare quanto segue:

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

Cronologia dei messaggi di Chat per Cloud SQL per MySQL

Le applicazioni con domanda e risposta richiedono una cronologia di ciò che è stato detto nella conversazione per fornire all'applicazione il contesto necessario per rispondere a ulteriori domande dell'utente. La classe ChatMessageHistory di LangChain consente all'applicazione di salvare i messaggi in un database e di recuperarli quando necessario per formulare ulteriori risposte. Un messaggio può essere una domanda, una risposta, una dichiarazione, un saluto o qualsiasi altro testo fornito dall'utente o dall'applicazione durante la conversazione. ChatMessageHistory archivia ogni messaggio e concatena i messaggi 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 effettuare le seguenti operazioni:

  • Installa LangChain ed esegui l'autenticazione in 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 messaggi
  • Crea una catena per la cronologia dei messaggi utilizzando LangChain Expression Language (LCEL) e i modelli di chat Vertex AI di Google