Quando ho iniziato a esplorare GenAI, ho commesso alcuni errori. L’argomento era immenso e mi sentivo piuttosto intimorito. Tuttavia, scoprire LangChain e i numerosi repository ed esempi open source ha semplificato il percorso (anche se con qualche frustrazione, ad essere sinceri). Ho avuto la fortuna di lavorare con un team straordinario, il che è stato fondamentale per l’esplorazione, l’apprendimento e il ricevimento di feedback.

In un solo mese, abbiamo sviluppato un’applicazione RAG completa di struttura, interfaccia utente e backend. È stata una sfida ardua, ma ci ha insegnato tre lezioni fondamentali.

Lezione n. 1: GenAI non significa nulla di per sé

L’entusiasmo generato dalla comunità attorno all’intelligenza artificiale, ai LLM e all’intelligenza artificiale generativa è enorme.

L’intelligenza artificiale generativa si basa sulla capacità di creare qualcosa di completamente nuovo a partire da determinati input. In altre parole, un LLM può produrre contenuti innovativi “rivedendo” la sua formazione con le istruzioni adeguate. Tuttavia, se l’obiettivo è ottenere informazioni precise dal contenuto, GenAI potrebbe non essere la scelta ottimale. (Sì, questa è una semplificazione.)

GenAI è potente e affascinante, ma devi optare per qualcos’altro per risultati precisi e deterministici.

Lezione n. 2: RAG non è una soluzione miracolosa

L’entusiasmo per RAG è reale.

Retrieval Augmented Generation (RAG) è una tecnica utile per prevenire allucinazioni e permette l’uso di contenuti specifici come fonte informativa. Tuttavia, a causa delle sue caratteristiche, non può sostituire la tempestività ingegneristica e la qualità del modello utilizzato. La padronanza del prompt engineering risulta quindi più cruciale rispetto all’implementazione di applicazioni RAG avanzate.

Lezione n. 3: creare soluzioni con LLM richiede un cambio di prospettiva

Lo sviluppo software per soluzioni LLM richiede una prospettiva diversa.

Questo è particolarmente valido nello sviluppo software, soprattutto per le soluzioni LLM. È cruciale concentrarsi su una richiesta efficace e sulla sua gestione automatizzata all’interno delle applicazioni, oltre all’integrazione dell’output del modello nell’applicazione stessa. LangChain eccelle nel fornire le strutture e gli strumenti necessari per facilitare queste interazioni.

Imparare i modelli di prompt LangChain , LLM e l’analisi dell’output è fondamentale per comprendere questa differenza.

Bonus

Se vuoi comprendere le applicazioni RAG, questa è un’ottima spiegazione.

Ma questo può essere un fantastico punto di partenza se desideri un tutorial semplice e pratico con LangChain.