TECNOLOGIA, INTERNET TRENDS, GAMING, BIG DATA

Python e LLM – Una Guida Completa per il 2024

Python e LLM – Una Guida Completa per il 2024

By auroraoddi

Era il 30 novembre 2022 quando OpenAI ha aperto al pubblico la research preview di ChatGPT, scatenando un’ondata di entusiasmo e perplessità nel mondo tech. A distanza di un anno, il panorama dei Large Language Model (LLM) è radicalmente cambiato, con l’esplosione di nuovi modelli dalle prestazioni impressionanti e una crescente regolamentazione del settore.

In questa guida completa, esploreremo in dettaglio il mondo degli LLM nel 2024. Partiremo da una panoramica dei principali modelli disponibili sul mercato, confrontandone le caratteristiche e le prestazioni. Successivamente, ci addentreremo nell’utilizzo pratico di questi strumenti, condividendo codice Python per interagire con diverse API e modelli open source. Infine, discuteremo di come andare oltre la semplice chat, esplorando gli strumenti per costruire applicazioni strutturate.

Oltre ChatGPT: Benchmark e Leaderboard

Il mercato degli LLM è ormai affollato di soluzioni di alto livello, ognuna con le proprie peculiarità. Oltre al noto ChatGPT, basato sul modello GPT-4 di OpenAI, troviamo modelli come Gemini di Google, Claude 3 di Anthropic e i pluripremiati modelli di Mistral AI.

Per orientarsi in questo panorama così ricco, i benchmark di valutazione e le leaderboard sono strumenti fondamentali. Questi confrontano le prestazioni dei vari modelli su diversi task, fornendo una panoramica obiettiva delle loro capacità. Oltre ai test di valutazione ufficiali, esistono anche “arene” dove i modelli possono essere messi a confronto in modo anonimo, ottenendo un punteggio Elo che ne riflette le performance.

Tuttavia, la scelta del modello più adatto non può prescindere dalle specifiche esigenze del progetto. I modelli in vetta alle classifiche globali sono senza dubbio i più performanti nella maggior parte dei casi, ma comportano considerazioni in termini di privacy e costi. I modelli open source, invece, offrono maggiore flessibilità e controllo sui dati, pur richiedendo spesso risorse hardware più sostanziose.

Interagire con i Modelli via API

Prima di addentrarci nell’utilizzo di modelli open source, esploriamo come sfruttare i servizi offerti dai principali provider di LLM attraverso le loro API.

Queste API sfruttano uno standard chiamato Server-Sent Events (SSE), che permette ai server web di inviare aggiornamenti in tempo reale ai client. Ciò consente di ricevere la risposta del modello a blocchi, senza dover attendere il completamento dell’intero output.

Per interagire con queste API, avrete bisogno di una chiave di autenticazione (API key) fornita dai provider. Potrete gestire queste chiavi in modo sicuro utilizzando un file JSON e una funzione di utility.

Comunicare con Claude 3 Opus di Anthropic

Vediamo ora come utilizzare il codice Python per interagire con il modello Claude 3 Opus di Anthropic. Importeremo i moduli necessari, definiremo le variabili di configurazione e inizializzeremo la chat history.

Quindi, avvieremo un ciclo infinito che ci permetterà di scambiare messaggi con il modello. Ad ogni iterazione, richiederemo all’utente un input, lo aggiungeremo alla chat history e invieremo una richiesta POST all’endpoint di Anthropic. Il server manterrà la connessione aperta, inviando via stream i vari blocchi di risposta man mano che vengono generati. Stamperemo questi blocchi a schermo e li aggiungeremo alla chat history.

Interagire con GPT-4-vision di OpenAI

Il codice per comunicare con Claude 3 può essere facilmente adattato per interagire con altri modelli, come GPT-4-vision di OpenAI. Questo modello è in grado di analizzare immagini inviate dagli utenti.

Per inviare le immagini, dovremo prima effettuarne l’encoding in base64. Utilizzeremo a tal fine delle funzioni di utility che si occupano di questa conversione. Successivamente, adatteremo il codice per gestire il formato dei messaggi e la struttura della risposta, che in questo caso includerà sia la parte testuale che quella relativa all’immagine.

Comunicare con Modelli Google, Mistral e Cohere

Il codice sviluppato finora può essere ulteriormente esteso per interagire con i modelli offerti da Google, Mistral e Cohere. Sebbene il codice di base sia simile, sarà necessario adattare alcuni dettagli, come gli endpoint, le chiavi di autenticazione e la struttura dei messaggi.

Per una visione più completa di come implementare l’interazione con diversi LLM, vi consigliamo di dare uno sguardo al progetto TinyChat. Questo client desktop supporta vari modelli offerti via Cloud API, con un codice organizzato in modo modulare e manutenibile.

Utilizzare Modelli Open Source con Python

Oltre all’utilizzo di modelli tramite API, è possibile sfruttare LLM open source direttamente sui nostri computer. Ciò ci permette di mantenere il controllo sui dati e di costruire soluzioni su basi più solide.

In particolare, esploreremo come utilizzare modelli in formato GGUF (Generalized Quantization Universal Format), un formato binario progettato per il caricamento e il salvataggio veloci dei modelli. Scaricheremo e installeremo il pacchetto Llama-Cpp-Python, che ci permetterà di interagire con questi modelli tramite Python.

Il codice che vedremo sarà molto simile a quello utilizzato per le API, con la differenza che qui interagiremo direttamente con il modello locale, senza dover gestire connessioni e streaming.

Andare Oltre la Semplice Chat

A questo punto, potreste voler andare oltre la semplice interazione in formato chat e costruire applicazioni più strutturate. Alcune possibili estensioni potrebbero includere:

  • Accesso a sorgenti dati esterne per aumentare le capacità generative del modello
  • Salvataggio e richiamo delle conversazioni passate per mantenere la continuità
  • Creazione di “agenti” che comprendano le richieste dell’utente ed eseguano azioni specifiche

Per affrontare queste esigenze, vi consigliamo di dare uno sguardo a framework specializzati come LangChain, LlamaIndex e Cheshire Cat. Questi strumenti vi aiuteranno a costruire applicazioni più avanzate senza dover reinventare la ruota.

Fonte dell’articolo qui.

Scopri di più da Syrus

Abbonati ora per continuare a leggere e avere accesso all'archivio completo.

Continua a leggere