From 89a87f797e2f4a26b6cb0658ce45db7be4f3dd21 Mon Sep 17 00:00:00 2001 From: Luca Sacchi Ricciardi Date: Tue, 21 Apr 2026 21:00:29 +0200 Subject: [PATCH] add: ricerche per slm --- docs/ricerca_slm.md | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/ricerca_slm.md diff --git a/docs/ricerca_slm.md b/docs/ricerca_slm.md new file mode 100644 index 0000000..cd36594 --- /dev/null +++ b/docs/ricerca_slm.md @@ -0,0 +1,59 @@ +Per analizzare il contenuto delle pagine web direttamente nel browser, la scelta del modello deve bilanciare tre fattori: **dimensione del download** (per non tediare l'utente), **finestra di contesto** (per leggere intere pagine) e **capacità di ragionamento**. + +Considerando che lavorerai in un ambiente WebAssembly/WebGPU, ecco le migliori opzioni **open-weight** attuali (2026): + +--- + +### 1. SmolLM2-135M (Hugging Face) +È attualmente il "re" dei modelli ultra-leggeri. Nonostante le dimensioni ridotte, è sorprendentemente bravo nel riassumere testi. +* **Perché sceglierlo:** Pesa circa **270MB** in formato quantizzato. Si carica quasi istantaneamente. +* **Caso d'uso:** Estrazione di metadati, tagging automatico e brevissimi riassunti di paragrafi. +* **Libreria consigliata:** *Transformers.js*. + +### 2. Phi-3.5-mini-instruct (Microsoft) +Un modello da 3.8 miliardi di parametri che compete con modelli molto più grandi. +* **Perché sceglierlo:** Ha una finestra di contesto nativa di **128k token**, fondamentale se devi analizzare articoli molto lunghi o intere documentazioni tecniche senza troncare il testo. +* **Peso:** Circa **2.2GB** (4-bit quantization). +* **Caso d'uso:** Analisi critica, sentiment analysis profonda e Q&A complesso sul contenuto della pagina. + +### 3. Gemma-2-2B (Google) +Ottimo compromesso tra la leggerezza di SmolLM e la potenza di Phi. +* **Perché sceglierlo:** È ottimizzato specificamente per l'inferenza su dispositivi edge tramite MediaPipe. Ha un'ottima comprensione dell'italiano rispetto ad altri modelli "tiny". +* **Peso:** Circa **1.5GB** (4-bit). + +--- + +### Architettura Suggerita per l'Analisi di Pagine Web + +Per implementare questa funzione in un'estensione browser o in una Web App, l'architettura ideale segue questo flusso: + + + +1. **Ingestion:** Utilizza una libreria come `Readability.js` (la stessa usata dalla "Modalità Lettura" di Firefox) per pulire il DOM da pubblicità e script, inviando all'LLM solo il testo pulito. +2. **Quantizzazione:** Utilizza modelli in formato **ONNX** o **GGUF** quantizzati a 4-bit per garantire che l'uso della RAM di sistema rimanga entro limiti accettabili (evitando il crash del tab). +3. **Privacy:** Poiché il modello gira via Wasm, i dati della pagina non lasciano mai il computer dell'utente, rispettando pienamente la privacy. + +### Implementazione Rapida (Snippet Concettuale) + +Se utilizzi **Transformers.js v3**, il caricamento del modello è immediato: + +```javascript +import { pipeline } from '@xenova/transformers'; + +// Carica il modello SmolLM (ottimizzato per il browser) +const analyzer = await pipeline('summarization', 'onnx-community/SmolLM2-135M-Instruct', { + device: 'webgpu', // Sfrutta l'accelerazione hardware +}); + +const pageContent = document.body.innerText; // Meglio se pulito con Readability.js +const summary = await analyzer(pageContent); +``` + +### Quale scegliere? +| Obiettivo | Modello Consigliato | +| :--- | :--- | +| **Velocità pura / Estensioni leggere** | SmolLM2-135M | +| **Precisione / Analisi di documenti lunghi** | Phi-3.5-mini | +| **Equilibrio / Multilingua (Italiano)** | Gemma-2-2B | + +Hai già un'idea di come estrarre il testo dalle pagine (es. tramite un'estensione Chrome o un bookmarklet)?