Ciao e benvenuti al nostro primo appuntamento con AI Cookbook!
Sono Massimiliano Turazzini, mi occupo di utilizzi dell’AI da qualche anno e da qualche decennio (sigh…) mi occupo di tecnologia e innovazione soprattutto in ambito software. Ho iniziato come programmatore software a fine anni ’90, co-fondando poi la mia software house, Trilance, specializzata nel settore energetico. Negli ultimi anni, mi sono dedicato a progetti innovativi nel campo dell’intelligenza artificiale, investendo in startup e supportando iniziative che credo possano plasmare il futuro.
Nel corso di un lungo percorso imprenditoriale, attualmente mi trovo in una sorta di “mezzo sabbatico” rispetto al mio progetto in Hestro, per concentrarmi su ciò che mi appassiona di più: diffondere la cultura dell’AI nelle aziende e nel mondo dell’educazione. Attraverso il mio blog, i miei libri e i workshop sull’AI, voglio dimostrare che l’AI non è solo tecnologia per pochi, ma uno strumento strategico che può trasformare il modo in cui lavoriamo e impariamo ogni giorno.
Con AI Cookbook, cercherò di ispirarvi e mostrarvi che l’AI, soprattutto quella generativa, può essere un alleato prezioso per tutti quando si parla di automazione di processi quotidiani, attraverso il suo utilizzo per generare codice che risolva piccole criticità quotidiane.
Avendo alle spalle molti anni in campo informatico ho infatti iniziato a usarla, come racconto spesso, come fosse uno stagista a cui affidavo via via compiti più complessi. In questo caso uno stagista programmatore. E nel tempo mi sono reso conto di aver cambiato completamente modo di lavorare: tutto ciò che è automatizzabile con uno snippet di codice, in diversi linguaggi, ora lo affido a un’AI generativa e il risultato è che mi sto circondando di un sacco di piccoli tool di produttività. E funziona!
Quindi, visto che l’AI generativa rende possibile realizzare piccole soluzioni anche a chi come me non programma da anni ho pensato, di condividere alcune di queste esperienze.
In breve, il mio obiettivo con questa rubrica è rendere l’AI accessibile per programmare e sfruttarla per realizzare attività a cui non avreste mai pensato, cercando sempre di ispirarvi e farvi vedere cose utili.
Inoltre AI, Cookbook nasce ispirandosi anche al mio framework AI-PLUG, che descrivo nel libro Assumere un’Intelligenza Artificiale in azienda. Troverete episodi più tecnici alternati con riflessioni organizzative legate all’uso dell’AI così da offrirvi una visione completa, sia pratica sia teorica, del potenziale di questa tecnologia entusiasmante.
Tutti i contenuti saranno generati “con l’aiuto dell’AI”, compreso questo articolo, non tanto per semplificarmi il lavoro (la verità è che questo primo articolo ha richiesto il triplo del tempo che normalmente dedico a scriverne uno di mio pugno sul mio blog) quanto per esplorare strumenti nuovi e diversi e offrirvi quanta più ispirazione possibile. Lascerò a voi intuire cosa c’è di scritto a mano e cosa è generato dall’AI. In ogni caso: l’idea iniziale e la revisione sono rigorosamente umane, così come alcune frasi, come quelle di questo paragrafo, che sono scritte da me. Partiamo!
Piccola nota se siete esperti: dato che siete sicuramente più bravi di me nel coding vi avviso: lo scopo di questa rubrica è semplicemente quello di ispirarvi, non di insegnarvi come si programma. Da esperti di coding avrete maggiori possibilità di ottenere buoni risultati dall’AI Generativa di quanti ne abbia io. Vi invito, in ogni caso, a confrontarvi e a farmi notare dove si può migliorare e dove, magari, vi siete stupiti 🙂
Perché AI Cookbook?
Ricapitolando: l’AI non è più solo per esperti: con strumenti come ChatGPT, Claude e Gemini, chiunque può iniziare a sperimentare con l’automazione. E la parte migliore? Non è necessario saper programmare. È proprio l’AI a guidarci nei momenti più complessi, offrendo soluzioni semplici anche a problemi che sembrano insormontabili. Ora più che mai, l’AI è diventata accessibile a tutti, pronta a migliorare la nostra produttività, liberarci dai compiti ripetitivi e permetterci di essere più creativi e innovativi. Anche nella scrittura di codice, nella realizzazione di semplici applicazioni o nella strutturazione di soluzioni più complesse.
Possiamo sperimentare come non abbiamo mai fatto prima e, anche se le soluzioni che vi proporrò avranno alcuni limiti (non sono applicabili a tutti, vanno adattate ai contesti dei sistemi informativi in cui lavorate, richiedono ulteriori dettagli tecnici, considerazioni di security ecc…) spero serviranno da ispirazione di quanto potete fare con questi strumenti.
Di cosa parleremo?
AI Cookbook è pensata per knowledge workers in ambito IT di ogni livello, dai neofiti fino ai top manager. Questo grazie alla grande accessibilità dell’AI generativa in cui, come saprete, basta un prompt (ben fatto) per ottenere grandi risultati.
Cercherò quindi di usare l’AI come strumento per risolvere problemi concreti e automatizzare attività noiose o realizzare progetti che non avreste mai pensato di fare. In ogni appuntamento vi racconterò soluzioni pratiche da applicare immediatamente. Che si tratti di ottimizzare la gestione della posta elettronica, migliorare l’organizzazione del tempo o esplorare nuovi modi per elaborare dati, AI Cookbook sarà la vostra guida.
Struttura dei post
Ogni articolo di AI Cookbook seguirà uno schema preciso, progettato per aiutarvi a mettere subito in pratica quanto appreso. Ecco cosa troverete come contenuto minimo:
- Ingredienti: Vi elencherò gli strumenti AI che useremo, con un focus su soluzioni economiche o gratuite.
- Livello di difficoltà: Ogni post avrà un livello di difficoltà da 1 a 5, con nomi che ricordano i livelli di caffè, dal “Caffè Decaffeinato” (molto semplice) fino al “Doppio Espresso” (sfida intensa).
- Tempo di preparazione: Stimo sempre che le automazioni proposte richiedano tra i 30 e i 60 minuti, ideali per essere implementate durante una pausa pranzo, o comunque il più velocemente possibile.
- Procedura: Qui cercherò di raccontarvi tutti i passaggi che ho fatto, magari riassumendoli o fornendovi ulteriore documentazione utile.
Cosa ci guadagnate?
Alla fine di ogni post, avrete ottenuto qualcosa di concreto: un’attività automatizzata, tempo risparmiato e una nuova competenza che potrete sfruttare ogni giorno. Che si tratti di creare report automatici, rispondere più velocemente alle email o elaborare dati, scoprirete come l’AI possa rendere il vostro lavoro più semplice e gratificante.
Iniziamo insieme questo viaggio con la prima ricetta!
// Ricetta #1: Trascrizione automatica di riunioni offline con Whisper
Il problema
“Ho una riunione in italiano da trascrivere. Ci sono un sacco di software che possono farlo, ma vorrei farlo in modo sicuro, usando l’AI, senza trasferire i contenuti della riunione su internet”.
Questa è stata la richiesta che mi ha acceso la curiosità e mi ha spinto a mettermi all’opera con l’AI per risolvere un problema comune a molti. La necessità di trascrivere riunioni senza far uscire dati sensibili dalla rete interna è un tema importante, soprattutto per chi lavora in ambiti dove la privacy è cruciale, come il settore medico o legale. Ed è così che è nata l’idea di creare una piccola applicazione per trascrivere audio in totale sicurezza.
Non ho cominciato dal nulla: ho utilizzato ChatGPT e il suo Canvas per scrivere il codice, rendendo tutto molto più facile anche per chi, come me, non è un programmatore di professione. Spesso si pensa che creare software richieda per forza competenze di programmazione avanzate, ma con gli strumenti di AI oggi disponibili, tutto questo sta cambiando. Non sto dicendo che i programmatori smetteranno di esistere, anzi! Ma dato che lavoro nell’informatica da qualche decennio non ho mai smesso di pensare che se più persone sapessero un minimo di programmazione le cose in azienda sarebbero più semplici.
In fondo tutti sappiamo scrivere ma non tutti siamo scrittori. Quindi perché non possiamo scrivere codice senza essere dei programmatori?
A cosa serve
Questa piccola applicazione serve a trascrivere riunioni offline, senza affidare i contenuti a servizi esterni che potrebbero mettere a rischio la privacy dei dati. La possibilità di usare un modello specializzato come Whisper di OpenAI è stata perfetta per questo scopo: funziona interamente sul proprio computer, senza necessità di connessione internet. L’ideale per chi cerca sicurezza e semplicità.
Ma è anche un ottimo esempio di come l’AI possa semplificare la vita anche a chi non ha esperienza di programmazione. Puoi prendere un’idea, chiedere a ChatGPT di aiutarti a svilupparla, e iterare su di essa fino a ottenere qualcosa di funzionante.
Ingredienti
- Whisper di OpenAI: Modello di trascrizione offline, potente e accurato.
- Tkinter: Libreria di Python per creare interfacce grafiche (GUI).
- Python 3.x: Linguaggio di programmazione utilizzato per collegare tutti i pezzi.
- Chat GPT: con il modello o1-Preview.
Livello di difficoltà
2/5 – Facile: Abbastanza semplice da seguire, richiede un po’ di attenzione ma niente di troppo impegnativo.
Tempo di preparazione
Circa 45 minuti: Il tempo necessario per installare gli strumenti e fare qualche prova per prendere confidenza con il processo.
Procedura
- Il prompt iniziale: Nonostante io ami i prompt lunghi, pieni di contesto, in questo caso ho usato un prompt più breve perché o1-preview predilige poche istruzioni chiare:
Ho una riunione in italiano da trascrivere.
Mi scrivi uno script con whisper in python o qualcosa di facile
che possa usare dal mio pc?
- Setup del Modello Whisper: Per iniziare, ho caricato il modello Whisper nella sua versione “large” per garantire un’alta qualità di trascrizione e avere risultati buoni in italiano, soprattutto per file audio complessi o lunghi. I modelli Whisper hanno dimensioni diverse, ognuno con requisiti specifici (e tempi di download diversi!):
- base: 74 M parametri, ~1 GB di VRAM necessaria
- small: 244 M parametri, ~2 GB di VRAM necessaria
- medium: 769 M parametri, ~5 GB di VRAM necessaria
- large: 1550 M parametri, ~10 GB di VRAM necessaria
Ma non preoccuparti, potresti anche usare una versione più leggera come “base” se la velocità è prioritaria rispetto alla precisione. Il modello “large” è stato scelto per garantire la massima precisione anche per audio non perfetti, come quelli registrati in ambienti rumorosi o con interferenze.
- La prima stesura: ChatGPT mi ha proposto un codice iniziale usando il modello di trascrizione “Whisper” di OpenAI. Era un buon punto di partenza, ma non funzionava subito al primo tentativo. Un messaggio di errore qua, una configurazione mancante là. Ma questo fa parte del processo.
- Iterazione e miglioramenti: Ho ripassato il codice a ChatGPT, spiegando che cosa non funzionava. Dopo qualche correzione e alcuni tentativi, sono riuscito a ottenere uno script funzionante che trascriveva il file audio scelto. Ho anche aggiunto una semplice interfaccia grafica usando Tkinter, così da rendere tutto più user-friendly.
- Costruzione dell’interfaccia grafica: Volevo rendere il tutto accessibile anche per chi non ama, non conosce o non vuole usare il terminale. Usando Tkinter, ho creato un’interfaccia minimalista: una finestra dove puoi semplicemente selezionare un file audio e lasciare che Whisper faccia il suo lavoro. Come scegliere un caffè al bar, basta un click! L’interfaccia è stata progettata per essere intuitiva: un solo pulsante con un ruolo chiaro, e istruzioni semplici da seguire. Funziona su diversi sistemi operativi (Windows e Mac di sicuro. Non l’ho provata su Linux, ma non ho dubbi).
- Selezione del file audio: Il programma ti chiede di selezionare il file audio che vuoi trascrivere. Supporta diversi formati comuni come .mp3, .wav, .m4a, rendendolo flessibile per qualsiasi tipo di registrazione tu abbia. Che si tratti di una riunione informale registrata sul telefono o di una presentazione formale, il programma è progettato per adattarsi e lavorare con una varietà di formati.
- Trascrizione automatica: una volta selezionato il file, il modello Whisper processa l’audio e trascrive automaticamente tutto in un file di testo. Nessuna magia nera qui, solo intelligenza artificiale al lavoro! L’intero processo viene eseguito in locale, quindi non c’è bisogno di preoccuparsi di inviare i propri dati su internet: la privacy è garantita.
- Salvataggio del risultato: Una volta completata la trascrizione, il programma salva il testo in un file automaticamente. Sarà chiamato “trascrizione_nomedelvostrofile.txt”, pronto per essere letto o condiviso. Questo rende estremamente facile condividere le informazioni con i colleghi o archiviare i contenuti per future consultazioni, senza dover fare ulteriori passaggi complicati.
- Esecuzione offline: Uno dei vantaggi di Whisper è la possibilità di eseguire tutto offline. Questo vuol dire che una volta scaricato il modello, non è necessario avere una connessione internet attiva, garantendo così la massima sicurezza dei dati.
Se volete seguire i vari passaggi e vedere le mie conversazioni con ChatGPT, vi lascio qui il link della conversazione completa. Potete anche continuare a esplorare e fare domande al modello!
Risultato
Il risultato è una piccola applicazione desktop che consente di selezionare un file audio e trascriverlo in italiano, il tutto mantenendo la massima sicurezza dei dati.
Suggerimenti e varianti
- Altri modelli di lingua: Whisper supporta molte lingue. Potreste voler sperimentare con riunioni in altre lingue cambiando il parametro “language”.
- Trascrizione di podcast o interviste: Questo stesso approccio può essere usato per trascrivere podcast o interviste, permettendoti di avere appunti scritti da materiale audio in modo semplice e veloce.
- Interfaccia utente: Qui potete sbizzarrirvi: chiedete a ChatGPT come potreste costruire l’interfaccia per rendere più funzionale o esteticamente gradevole il progetto.
Ed ecco il codice:
Se non avete voglia di fare tutto il giro raccontato sopra, qui trovate il codice da cui partire
import whisper
import tkinter as tk
from tkinter import filedialog, messagebox
import os
def trascrivi_audio():
file_audio = filedialog.askopenfilename(
title="Seleziona un file audio",
filetypes=[("File audio", "*.mp3 *.wav *.m4a *.flac *.ogg *.aac")]
)
if file_audio:
try:
modello = whisper.load_model("large", device="cpu")
risultato = modello.transcribe(file_audio, language="it")
base_nome_file = os.path.basename(file_audio)
nome_trascrizione = f"trascrizione_{base_nome_file}.txt"
with open(nome_trascrizione, "w", encoding="utf-8") as file:
file.write(risultato["text"])
messagebox.showinfo("Trascrizione completata", f"Trascrizione completata!\\\\nSalvato come: {nome_trascrizione}")
except Exception as e:
messagebox.showerror("Errore", f"Si è verificato un errore durante la trascrizione:\\\\n{str(e)}")
else:
messagebox.showwarning("Nessun file selezionato", "Per favore, seleziona un file audio.")
def main():
finestra = tk.Tk()
finestra.title("Trascrizione Riunione con Whisper")
etichetta = tk.Label(finestra, text="Premi il pulsante per selezionare un file audio da trascrivere.")
etichetta.pack(pady=10)
pulsante = tk.Button(finestra, text="Seleziona File Audio", command=trascrivi_audio)
pulsante.pack(pady=10)
finestra.geometry("640x480")
finestra.mainloop()
if __name__ == "__main__":
main()
Buona trascrizione e buon lavoro!
Link utili
- Whisper di OpenAI su GitHub: Repository ufficiale con documentazione dettagliata.
- Tkinter per Python: Documentazione per creare interfacce grafiche in Python.
- Python: Se non lo conoscete qui trovate tutta la documentazione ufficiale
Dietro le quinte…
Per ogni articolo vorrei raccontarvi anche come ho utilizzato l’AI per realizzarlo. È un esperimento anche per me in quanto tengo molto al testo che scrivo di mio pugno e ancora non ho trovato un’AI in grado di scrivere (male) come me.
Però dietro la creazione di questo articolo c’è stata una grande collaborazione tra me e l’AI, utilizzando ChatGPT Canvas e un GPT personalizzato che ho progettato specificamente per assistermi nella stesura dei contenuti per la rubrica. Il tutto è partito da questo prompt:
Scrivi un articolo partendo dal codice che ti fornirò
Contesto: L’idea mi è nata da una delle richieste che ricevo più spesso
"Ho una riunione in italiano da trascrivere.
Ci sono un sacco di software che possono farlo ma vorrei farlo in modo
sicuro usando l’AI, senza trasferire i contenuti della riunione su internet.".
Nota: Sarà il primo della rubrica quindi racconta bene quale obiettivo
si prefigge (a cosa serve) e spiega che l’ho scritto partendo dal codice
dato in pasto a Chat GPT 4o con Canvas.
Spiega anche che non funziona il “buona la prima” ma è necessario,
anche se non si sa programmare, passare e ripassare il codice all’AI
per le correzioni.
Modificalo in Canvas
Codice:
[e ho incollato il codice che trovate sopra]
Questo il link della conversazione su ChatGPT (che potete anche continuare): https://chatgpt.com/share/66ed93d6-a644-800a-adaa-18e5a336b726/continue
Questo input ha dato il via alla stesura dell’articolo partendo da queste istruzioni e dal codice che gli ho fornito!
Magari vi sembra una cosa ovvia ma… a me ha un po’ sorpreso: ChatGPT (Con il modello 4-o) ha compreso esattamente il tipo di lavoro che doveva fare e ha creato un contenuto nuovo partendo da un semplice script. Io mi sono “limitato” a perfezionarlo grazie a vari passaggi iterativi con ChatGPT e a una fase importante di revisione su Canvas, dove ho lavorato sui dettagli, rendendo l’articolo più leggibile e fluido.
L’immagine? L’ha fatta ChatGPT…
È stata un’esperienza divertente e produttiva, e se vi interessa sapere di più su come ho creato il mio GPT personalizzato, volete approfondire il processo, o avete argomenti da proporre, fatevi sentire! Magari una delle prossime puntate sarà dedicata proprio a questo.
Riguardo all’articolo invece: avete suggerimenti o idee per migliorarlo? Sarei felice di discutere le vostre proposte e condividere le vostre scoperte!