Cos'è LangChain e come crearne un'implementazione personalizzata usando 100 righe di codice

Un ricercatore invita i più curiosi a studiare LangChain nel dettaglio: il framework può trasformare un modello generativo sordo e lontano dall'attualità, in un sistema ancora più intelligente, flessibile e capace di rispondere a quesiti ancora più articolati e complessi.
Cos'è LangChain e come crearne un'implementazione personalizzata usando 100 righe di codice

I Large Language Model (LLM) sono modelli di apprendimento automatico basati su reti neurali che sono addestrati a partire da grandi quantità di testo. Questi modelli sono in grado di generare testo in linguaggio naturale coerente e comprensibile, a volte in modo sorprendentemente simile a quello scritto da un essere umano.

Gli LLM utilizzano una tecnica di apprendimento chiamata “trasformazione” (abbiamo già parlato dei Transformer), che consente al modello di elaborare il testo in modo sequenziale e di costruire una rappresentazione interna del significato del testo stesso. Il modello è quindi in grado di generare del testo coerente e pertinente in risposta a una domanda o a un’indicazione data in input utilizzando un modello probabilistico, non deterministico.

LangChain è un framework per lo sviluppo di applicazioni basate su modelli linguistici che, rispetto a quanto già visto sino ad oggi, ha due obiettivi primari:

  • Collegare il modello linguistico ad altre fonti di dati
  • Consentire al modello linguistico di interagire con il suo ambiente

E scusate se è poco. Per questo, LangChain fornisce componenti e “catene” per specifici casi d’uso. Che significa?

Nel caso dei componenti, progettati per essere facili da usare, vengono messe a disposizione dello sviluppatore astrazioni modulari per lavorare con i modelli linguistici. Le catene, invece, ampiamente personalizzabili, possono essere pensate come l’assemblaggio di più componenti  per gestire specifiche necessità e campi applicativi.

Il framework, lanciato a ottobre 2022 come progetto open source da Harrison Chase, è scritto in Python e JavaScript e ha una licenza MIT: può essere utilizzato per creare chatbot, sistemi di generazione di domande e risposte, riassunti e molto altro. Tra i suoi punti di forza, la possibilità di essere integrato con i sistemi di Amazon, Google e Microsoft Azure, la disponibilità di  cloud storage; API wrapper, ad esempio, che lavorano sulle notizie, sulle informazioni cinematografiche, sulle previsioni e informazioni meteo; Bash per la generazione di riassunti, controllo della sintassi e della semantica ed esecuzione di script.

In generale, LangChain consente a chiunque di realizzare una serie impressionante di applicazioni basate su LLM, senza dover costruire direttamente un prompt

Come reimplementare LangChain in appena 100 righe di codice

LangChain è un ottimo framework che permette di utilizzare API tradizionali e più familiari per dialogare con il modello sottostante. Così, Colin Eberhardt – ricercatore e CTO presso la società britannica Scott Logicha voluto studiare più nel dettaglio il “dietro le quinte” di LangChain mettendo a fuoco i prompt che invia al modello.

L’API Agent che è parte integrante di LangChain consente di creare sofisticate interfacce conversazionali che utilizzano una varietà di strumenti (compresa la ricerca Google) per rispondere alle domande. Questo approccio supera alcuni dei problemi più significativi con l’utilizzo dei LLM per rispondere alle domande; la loro tendenza ad avere allucinazioni (creare risposte credibili ma completamente false) e la mancanza di dati aggiornati (a causa della fase di apprendimento che ha una data limite).

Con l’API Agent di LangChain, il LLM diventa un “orchestratore”: la domanda viene acquisita, scomposta in blocchi quindi vengono utilizzati strumenti appropriati per mettere insieme una risposta.

Cosa ha fatto Eberhardt: utilizzando appena 100 righe di codice ha reimplementato LangChain riuscendo a creare un sistema che migliora le sue abilità comprendendo quali strumenti utilizzare per rispondere ai prompt inviati dall’utente. Se le “conoscenze” di GPT si fermano al 2021, con LangChain è possibile combinare l’utilizzo di altri strumenti, come ad esempio la già citata ricerca Google o la stessa Calcolatrice, per sviluppare elaborazioni molto più complesse e fare inferenza.

Nel suo post, Eberhardt racconta la sua esperienza e spiega come è possibile rendere un chatbot sempre più intelligente, capace di rispondere ai quesiti più articolati e complessi, con una solida visione sull’attualità. Certo, non è sempre tutto rose e fiori ma acquisire la comprensione di come funziona “sotto il cofano” uno strumento come LangChain aiuta davvero a spiegare i risultati inaspettati.

Ti consigliamo anche

Link copiato negli appunti