LLM: Un caso d’uso reale
In breve: abbiamo lavorato all’implementazione di LLM, database vettoriali e RAG per elMejorTrato.com. Abbiamo concluso che:
- Lavorare in lingua spagnola ha le sue particolarità
- L’API di ChatGPT è troppo costosa
- LangChain e gli agenti a volte sono eccessivi
- Con SentenceBert e un VectorDB si possono fare cose straordinarie
- Gli LLM open source quantizzati danno ottimi risultati
Lasciamo qui il codice di base open source e containerizzato con Docker, perché possiate usarlo nei vostri progetti
Creare un prototipo
I modelli linguistici di grandi dimensioni, diventati popolari da quando ChatGPT è stato reso disponibile al pubblico, hanno suscitato entusiasmo per i loro possibili usi futuri. Esistono molti esempi di LLM usati per simulare un’intelligenza artificiale generale, che sembrano davvero futuristici. Qui ci concentreremo sull’uso degli LLM per un caso specifico del sito elMejorTrato.com.
Gli LLM hanno introdotto due novità incredibili per gli sviluppatori software:
- La capacità di interpretare il linguaggio naturale.
- La capacità di effettuare ricerche vettoriali su testo, audio e immagini.
Un esempio concreto di elMejorTrato.com: invece di inserire un numero, gli utenti potevano indicare in forma testuale l’importo del prestito che volevano cercare, per esempio «Mi servono $10,000 per ampliare la casa». La soluzione è stata sostituire una casella di testo con una casella di selezione. Oggi, con la capacità di interpretare il linguaggio naturale fornita dagli LLM, si possono comprendere meglio le interazioni e offrire agli utenti un servizio migliore.
Un secondo esempio è la possibilità di rispondere alle domande degli utenti a cui è già stata data risposta per altri utenti, tramite ricerche vettoriali sul testo con embedding generati dall’LLM.
Per provare queste nuove soluzioni, abbiamo creato un prototipo da un fork di questo ottimo modello di Docker, con i seguenti adattamenti:
- Un prompt che permette a llama2 di funzionare correttamente in spagnolo.
- Un modello Bert per gli embedding in spagnolo dell’Università del Cile.
- Weaviate come database per ricerche ibride (vettoriali e testuali), utilizzabile sia in locale sia nel cloud.
- Semplificazione del codice per renderlo più facile da capire e adattare al proprio progetto.