Entrare nel mondo degli strumenti AI significa scoprire una gamma di strumenti talmente vasta da essere disumana, vale a dire fuori dalla portata di un essere umano che ha bisogno di un certo tempo per installare, lavorare e valutare.
Tre tipi di strumenti
I provider di modelli
Si tratta di strumenti che forniscono modelli già pronti, da interrogare via API. Tra questi avrete sicuramente sentito parlare di OpenAI, Anthropic, Mistral API, nonché dello stesso Google con Gemini.
Repository di modelli
Qui abbiamo modelli scaricabili ed eseguibili localmente, disponibili ad esempio sulla piattaforma Hugging Face. Ottimi per chi vuole disporre di un modello “in casa” o, più semplicemente, studiare e sperimentare localmente.
Orchestratori
Ovvero strumenti che gestiscono la serie di operazioni che abbiamo visto nelle lezioni precedenti, come modelli, embedding, retrieval, database ecc.
Tra questi abbiamo LangChain e LlamaIndex.
Vediamo ora un “hello world” di questi tre strumenti.
Interrogare i servizi di OpenAI
Ecco un esempio di interrogazione di OpenAi con Python:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4o-mini",
input="Devi preparare un pranzo per 4 persone a base di verdure.
Ipotizza un menù con un antipasto, un primo piatto,
un secondo e un contorno."
)
print(response.output_text)
Ovviamente dietro ci sarà una configurazione base con le chiavi per accedere a OpenAI e un account collegato, al quale verranno addebitati i costi.
Nulla vi vieta di interagire con OpenAI o altri servizi simili usando altri linguaggi di programmazione; anzi, se lo scopo è semplicemente quello di interagire con le API, potete usare il linguaggio che volete. Io, ad esempio, per gestire PDF di fatture mi collego abitualmente alle API di Anthropic con PHP.
A cosa servono i repository di modelli?
Per quanto riguarda Hugging Face, è una piattaforma che raccoglie modelli, dataset e strumenti. Potremmo definirla una sorta di GitHub per l’AI, anche se offre molte più risorse rispetto al solo codice. Qui possiamo trovare il nostro vaso di Pandora, ma dovremo fare i conti con i relativi costi di apprendimento, testing e manutenzione. È un discorso che chi lavora nell’open source conosce da sempre: tonnellate di codice libero, ma anche tanta complessità da gestire.
Hugging Face è nota anche per la sua libreria di transformer NLP. I transformer analizzano le relazioni tra gli elementi di una sequenza attraverso meccanismi di attention e sono alla base di modelli come GPT o BERT. Da qui si evince il grande ruolo di Hugging Face nell’attuale scenario dell’intelligenza artificiale.
Gli orchestratori: tanto lavoro pronto, ma...
Ed eccoci a LangChain, uno degli strumenti più discussi in ambito AI. È un framework che consente di collegare facilmente modelli, prompt, database, sistemi di retrieval e tool.
Grazie a questa libreria, che possiamo importare facilmente in Python, possiamo usufruire di template per i prompt, memoria conversazionale, ponti di collegamento a modelli AI, agenti che orchestrano automaticamente una sequenza di operazioni… molto più di una semplice cassetta degli attrezzi.
Ora, come tutte le pseudo-automazioni informatiche, ha i suoi pro (velocità di utilizzo, semplificazione di processi complessi) e i suoi contro (gestione delle prestazioni, complessità a volte superflua e spropositata per progetti di piccole dimensioni).
Non esiste solo LangChain: abbiamo anche framework e utility come LiteLLM, Instructor e LlamaIndex (ottimo per sistemi RAG).
Lo scenario è variegato e, come detto all’inizio, “dis-umano”. Ogni giorno arrivano nuovi strumenti: la differenza sta nell’utilizzo cosciente e limitato. Altrimenti si rischia di vedere, in ambito AI, quello che si vede ogni giorno nel mondo dei CMS, con siti pieni di plugin installati per fare cose che, codice alla mano, richiederebbero poche righe. Che pochi, però, sanno scrivere.