Torna al Blog
Blog

LangChain🦜🔗: Il Framework Potente che Rivoluziona le Applicazioni di Modelli Linguistici

Sep 7, 2023·6 min read·Palomi Jain
#Artificial Intelligence#Large Language Model#machine learning#Python
LangChain🦜🔗: Il Framework Potente che Rivoluziona le Applicazioni di Modelli Linguistici

LangChain🦜🔗: Il Potente Framework che Rivoluziona le Applicazioni dei Modelli Linguistici

Cos'è LangChain?

LangChain è un potente framework progettato per rivoluzionare lo sviluppo di applicazioni alimentate da modelli linguistici. I modelli linguistici come ChatGPT e Llama sono incredibilmente versatili e eccellono in un'ampia gamma di compiti. Tuttavia, potrebbero incontrare sfide quando si tratta di fornire risposte precise o affrontare compiti che richiedono una profonda conoscenza di dominio o esperienza. È qui che LangChain viene in soccorso.

Per Esempio — Con l'aiuto di LangChain, possiamo addestrare un LLM come ChatGPT su un dataset personalizzato di recensioni di ristoranti. Il dataset contiene informazioni specifiche su varie cucine, ambiente e qualità del servizio.

Ora, quando fai a ChatGPT una domanda precisa come, "Quale ristorante offre il miglior sushi in città?", ChatGPT, avendo subito un fine-tuning sul dataset personalizzato di recensioni di ristoranti, può fornire una risposta più accurata e specifica. Può attingere dalla sua conoscenza del dataset per consigliare il ristorante con il sushi più altamente valutato in base alle recensioni dei clienti.

Leggi di più: Documentazione Ufficiale

Costruiamo una Piccola Applicazione

In questo articolo, ti mostrerò una guida passo dopo passo per costruire un lettore di documenti utilizzando LangChain e HuggingFace. Userò Google Colab come piattaforma per costruire l'applicazione

  1. Crea un Nuovo Notebook in Google Colab e installa tutte le dipendenze necessarie

Fai clic su "New Notebook" o vai a "File" > "New Notebook" per creare un nuovo notebook Colab e installa queste dipendenze di seguito.

Immagine dell'Autore

2. Ottenere la Chiave API di HuggingFace

Se non hai già un account Hugging Face, dovrai crearne uno. Puoi registrarti per un account sul sito web di Hugging Face.

Una volta effettuato l'accesso, vai alla sezione Profilo facendo clic sull'icona del tuo profilo nell'angolo in alto a destra e selezionando "Settings" dal menu a discesa.

Dopodiché, vai alla sezione Access Tokens e crea un nuovo token

Immagine dell'Autore

Dopodiché crea una nuova cella di codice e aggiungi il codice di seguito —

Immagine dell'Autore

Sostituisci la stringa fittizia con la tua Chiave API ed esegui il codice.

3. Creazione di Embedding e un Vector Store per Rispondere a Domande

In molte applicazioni di Modello Linguistico Ampio (LLM), spesso sorge la necessità di dati specifici dell'utente che non facevano parte del dataset di addestramento originale del modello. LangChain ti fornisce gli elementi necessari per importare, trasformare, archiviare e interrogare in modo efficiente i tuoi dati personalizzati.

Fonte: LangChain Docs

Il processo comprende cinque fasi distinte:

  1. Caricamento del Documento: Questa fase è responsabile dell'importazione di dati sotto forma di documenti.
  2. Segmentazione del Documento: Qui, il documento subisce una segmentazione, suddividendolo in porzioni più gestibili.
  3. Generazione di Embedding: In questo passaggio, questi frammenti vengono trasformati in rappresentazioni vettoriali, note anche come embedding.
  4. Vector Store: Questo componente funge da repository per l'archiviazione dei vettori di frammenti di cui sopra in un database vettoriale dedicato.
  5. Meccanismo di Recupero: La fase finale coinvolge un meccanismo di recupero. Viene utilizzato per recuperare uno o più set di vettori che mostrano la più alta somiglianza con una query, con sia la query che i vettori archiviati che risiedono nello stesso spazio latente.

Ora, iniziamo caricando il documento. Sto caricando un breve riassunto della Costituzione dell'India generato da ChatGPT.

Immagine dell'Autore

Dopo il caricamento del documento, suddividiamo i documenti di testo più lunghi in frammenti più piccoli e non sovrapposti di 1000 caratteri ciascuno

Immagine dell'Autore

Dopo la segmentazione del documento, inizializziamo i nostri embedding. Stiamo utilizzando embedding forniti dalla libreria Hugging Face Transformers.

Immagine dell'Autore

Ora, configureremo un vector store utilizzando Faiss. Fondamentalmente, i tuoi dati di testo vengono trasformati in vettori utilizzando gli embedding forniti, e Faiss viene utilizzato per indicizzare e cercare efficientemente questi vettori.

Immagine dell'Autore

Ora, caricheremo il modello LLM flan-t5-xxl di Google da HuggingFace. È uno strumento prezioso nei compiti di risposta a domande grazie al suo approccio da testo a testo, pre-addestrato e grande dimensione del modello.

Immagine dell'Autore

Dopodiché, creiamo una catena utilizzando LangChain. Le catene ci permettono di assembrare più componenti in un'applicazione coesiva.

Immagine dell'Autore

Creeremo una semplice Catena: inizia con una query, e la query viene poi inviata all'LLM.

Immagine dell'Autore

Per contesto, di seguito è la parte del riassunto da cui l'LLM ha risposto —

"Preambolo: Il Preambolo della Costituzione Indiana delinea gli ideali e gli obiettivi che i redattori della Costituzione miravano a raggiungere. Evidenzia l'India come una repubblica sovrana, socialista, laica e democratica che persegue giustizia, libertà, uguaglianza e fratellanza per i suoi cittadini."

Facciamole un'altra domanda al riguardo

Immagine dell'Autore

Applicazioni —

  1. Chatbot AI e Assistenti Virtuali: Le capacità di risposta alle domande incorporate in questo codice gettano le basi per la creazione di chatbot AI e assistenti virtuali che possono fornire risposte istantanee e consapevoli del contesto alle query degli utenti. Questo ha applicazioni nel supporto clienti, nell'e-learning e altro ancora.
  2. Strumenti Educativi: Educatori e studenti possono trarre vantaggio dalla risposta automatica alle domande, aiutando a chiarire dubbi e migliorare l'esperienza di apprendimento. Può anche essere impiegato nella generazione di contenuti educativi.
  3. Motori di Raccomandazione dei Contenuti: Comprendendo il contesto e l'intenzione dietro le query, questo codice può essere utilizzato per sviluppare sistemi di raccomandazione dei contenuti, garantendo che gli utenti ricevano suggerimenti altamente rilevanti.

Per i lettori interessati ad approfondire queste applicazioni ed esplorare strumenti aggiuntivi per i loro progetti, ecco un paio di risorse preziose:

FlowiseAI - Costruisci App LLMs Facilmente Strumento visivo dell'interfaccia utente open source per costruire il tuo flusso LLM personalizzato utilizzando Langchainflowiseai.comLista d'Attesa di Langflow Iscriviti alla lista d'attesa di Langflow oggi e scopri un approccio semplificato agli LLM. Open-source e facile da usare, Langflow…www.langflow.org

Conclusione —

Questo articolo ha mostrato come LangChain può essere utilizzato nello sviluppo di applicazioni alimentate da modelli linguistici e come le sue astrazioni flessibili e il suo toolkit esteso consentono agli sviluppatori di sfruttare la potenza degli LLM.

Nel panorama in continua evoluzione dell'IA, gli LLM si sono affermati come agenti di cambiamento, e siamo orgogliosi di far parte di questo entusiasmante viaggio verso un futuro più intelligente ed efficiente. Non vediamo l'ora di sfruttare gli LLM per promuovere l'innovazione, risolvere sfide complesse e fornire ancora maggiore valore ai nostri clienti e partner presso My Next Developer.