Al momento sto lavorando su un agente personale Hermes, deployato in cloud su un VPSđĄđ¤
Little John è un agente ReAct implementato in LangChain 1.0 con Gemini LLM come modello multimodale.
Il suo scopo è quello di assistente vocale in grado di elaborare il linguaggio naturale in azioni concrete.
Utilizza un sistema Push-to-Talk per lâattivazione, Whisper per il riconoscimento vocale locale e un motore TTS per la risposta vocale.
Attraverso Microdot e GPIOZero, può interagire con il mondo fisico, ad esempio accendendo LED o eseguendo altre azioni IoT.
Tecnologie utilizzate:
Un'applicazione web per la gestione efficiente del personale in piccole e medie imprese.
Il sistema centralizza e automatizza processi HR chiave, tra cui la gestione dei dipendenti,
il monitoraggio delle presenze, la gestione delle ferie e l'elaborazione delle buste paga.
Ha un login, un sistema di registrazione, autenticazione e offre inoltre funzionalitĂ avanzate
come la generazione di report sulle performance e un sistema di notifiche per le comunicazioni aziendali.
Tecnologie utilizzate:
Caratteristiche Principali:
Una semplice applicazione web creata con Streamlit che dimostra il funzionamento del RAG (Retrieval Augmented Generation). L'app utilizza LlamaIndex per caricare e interrogare contenuti da pagine di Wikipedia relative all'Intelligenza Artificiale e al Machine Learning, fornendo risposte basate sul contesto recuperato.
Tecnologie utilizzate:
Cybershop è un'app di gestione aziendale fittizia ambientata nellâanno 2079. Il suo scopo è vendere protesi cibernetiche da visualizzare nellâapp attraverso la realtĂ aumentata o in 3D sotto forma di file STL, un formato CAD, che una volta acquistato può essere stampato a casa utilizzando una stampante 3D abilitata per la stampa di impianti e circuiti elettronici biocompatibili.
Il progetto e la demo sono stati realizzati per la materia Programmazione Mobile.
Tecnologie e Servizi Utilizzati:
Le immagini e i testi sono stati generati con Scribble Diffusion e un ChatGPT. La demo è funzionale e responsive.
Repository e presentazione disponibili in PDF.
Vai al pdf Vai al progetto
Il progetto nasce dalla curiositĂ di esplorare i limiti del protocollo USB e MIDI su un Novation Launchpad MK1. brInizialmente, tramite fuzzing con PyUSB e pacchetti random, sono riuscito ad accendere i LED del dispositivo, nonostante non fosse supportato su Linux.
Successivamente ho approfondito il funzionamento interno: il Launchpad è una griglia 9x9 di tasti illuminabili
(3 livelli di rosso e 3 di verde, combinabili in giallo), che risponde a comandi MIDI.
Ho sviluppato tre script Python per descrivere la matrice, controllarne i LED e inviare comandi sistematici,
usando un wrapper che sfrutta amidi come sottoprocesso.
Oltre al controllo delle luci, lo script riceve e stampa gli eventi MIDI dei tasti premuti, trasformando il Launchpad in unâinterfaccia interattiva.
In questo modo ho potuto accendere, spegnere e colorare i LED a piacimento, senza driver ufficiali, arrivando persino a creare effetti visivi con pacchetti random e sequenze di spegnimento istantanee.
Vai al video Vai al progetto su GitHub Vai all'update su LinkedIn
Una minuscola interfaccia grafica per LAMPP, scritta in Bash e tput (mini libreria grafica). Ha lo scopo di avviare un server locale senza usare la riga di comando.
Vai al progetto
Johnny The CyberCar Assistant è un proof of concept (PoC) di un agente AI in RAG completamente locale innestato su un Opel Corsa B del 1997, frutto della mia tesi triennale in ingegneria informatica all'Università di Catania.
Il progetto è composto da 3 sistemi:
Ispirato a
KITT di Supercar (aka Knight Rider
)
, Johnny rende l'auto smart: grazie a un ESP32 collegato al CAN BUS e con modem 4g
abilita in Edge un interfaccia vocale, memoria a lungo termine e controllo intelligente (via Porta
OBD-II).
Tutto il resto del sistema AI viene eseguito da remoto su un server con GPU consumer (GTX 1080TI).
L'assistente è invocato dalla keyword "Hey Johnny!", dopo di che Ê possibile attraverso comandi vocali
agire in locale sui
dispositivi dell'auto (come alzare i finestrini) o parlare voice2voice in remoto col Chatbot, che risponde con
il
contesto dei
dati della macchina (posizione GPS, velocitĂ , temperatura, etc), senza mai staccare le mani dal volante
Il database vettoriale Qdrant gestisce la memoria a breve/lungo
termine dell'assistente, abilitando una vera esperienza RAG (Retrieval-Augmented Generation).
Tutti i servizi sono orchestrati con Docker Compose.
đ¤ Voce utente
â
â Se il comando è locale â esegue azione locale âď¸
Altrimenti:
â
đą contatta johnny il chatbot remoto
â
đ Cloudflared (autenticazione)
â
đ WhisperAI (Voice2Text su GPU)
â
đ§ LLaMA3 (Ollama, inferenza su GPU)
â
đ Text2Speech (risposta vocale)
â
â Loop: finchĂŠ non rileva âstopâ, torna a johnny đą
N.B. Il Progetto Ê completamente open-source,è stato realizzato in circa 2 mesi e mezzo,
ĂŠ pensato per il riuso hardware e l'edge computing in ambito
automotive.
architettura, immagini, video e tesi in pdf (ITA ONLY) completa sono disponibili nella repository.
Local Whisper Cat: An official plugin Cheshire Cat AI to transcript locally on your gpu/cpu, in Docker.
Chatty: Client vocale in Python per contattare il server Cheshire Cat AI.
Chattino: Client vocale Arduino/C++ per ESP32 per contattare il server Cheshire Cat AI.
Retromuseum è un progetto di sviluppo web universitario su un fake e-commerce di una fittizia azienda catanese,
dove gli utenti potevano acquistare giochi e console usati, con uno stile visivo fortemente ispirato alla
classica grafica a 8 bit
Inizialmente backend implementato in PHP puro,
poi migrata su Laravel.
Utilizza un database MySQL precompilato, richiama l'API Spotify (OAuth 2.0) per l'ultimo podcast (falso) disponibile, e utilizza MongoDB come database per il carrello (solo per ottenere punti extra per il progetto).
Include un sistema di login, con validazione client/server, una barra di ricerca e contenuti dinamicamente generati via JS da api rawg.io.
L'intera webapp ĂŠ responsive da mobile.
Vai al progetto
Una soluzione semplice di cloud gaming locale: su un vecchio laptop viene installato Debian, un emulatore SNES e il server Sunshine. In questo modo è possibile streammare giochi retro direttamente in rete e collegarsi da remoto con Moonlight, senza container o virtualizzazione.
Tecnologie utilizzate:
N.B. Configurazione minimale e a costo zero, pensata per il riciclo hardware.
Vai al post su linkedin
Un progetto di chatbot privato in locale, eseguito su un vecchio portatile con Docker. Il modello (Gemma2 o LLaMA 3.2) gira in un container Ollama con interfaccia web via OpenWebUI, accessibile su porta 3000.
In LAN è subito disponibile, mentre un Raspberry Pi con Cloudflare Tunnel espone il servizio in modo sicuro anche da remoto, tramite dominio personalizzato (.xyz) e autenticazione.
Tecnologie usate:
N.B. Configurazione pensata per riciclare hardware ed evitare e-waste.
Vai al post su linkedin Local Chatbot