Solo i dati personali,
in nero.
Noir è un piccolo LLM dedicato al mascheramento: riceve un documento e l'indicazione di che cosa oscurare, e restituisce l'elenco dei punti corrispondenti. Permette di trattare i documenti prima che escano, usando solo le CPU aziendali. Scorrendo, una linea di luce attraversa il documento.
JA担当の山田太郎です。お電話は03-0000-1234までお願いします。
ENPlease call Emily Carter at (555) 010-4477 before March 3.
DEFrau Anna Becker wohnt in der Lindenstraße 12, 10115 Berlin.
HRIvan Horvat (42 godine) javio je da je na bolovanju.
* Testi, nomi e numeri sono tutti di fantasia. L'animazione qui sopra è un esempio registrato.
L'istruzione si dà
con parole normali.
«Dati personali», «recapiti», «ma non l'età». Basta dirlo come lo si direbbe a voce: sullo stesso documento cambiano i punti oscurati. Premete i pulsanti, oppure restate a guardare.
Oggetto: Esempio Commerciale — verifica delle condizioni contrattuali
Spett.le Esempio Commerciale, Servizi generali, alla c.a. di Mario Rossi
Buongiorno, sono Anna Bianchi di Gattodata S.r.l.
Venerdì 20 novembre vorremmo parlarvi del rinnovo del contratto. Il canone mensile resta di 480 euro.
Abbiamo saputo che il vostro referente, Luigi Verdi (42 anni), oggi è assente per mal di schiena.
Potete contattarci al numero 02 0000 1234 o all'indirizzo [email protected].
Spedire a: Via Esempio 12, Palazzo Esempio, 5º piano, 20100 Milano
* Questo riquadro è un esempio di funzionamento e riproduce risposte prestabilite (non gira nessun modello reale). I testi sono tutti di fantasia.
Rispetto al 120B,
non oscura troppo.
Lo abbiamo confrontato con gpt-oss-120b (117 miliardi di parametri) su 100 documenti in giapponese e 100 in inglese, con le stesse istruzioni. I fogli in alto mostrano un esempio di ciascun errore. Le barre in basso indicano quanto spesso quell'errore si è verificato: più sono corte, meglio è.
* Misure su un test creato da noi (novembre 2026, Q4_K_M, con l'aggiunta di regole generiche per e-mail, telefoni, URL e date). Le condizioni in dettaglio sono in fondo alla pagina.
Più l'istruzione è vaga,
più si vede la differenza.
Mettiamo le omissioni su una bilancia: scende il piatto di chi ne ha di più. Con istruzioni che elencano chiaramente i tipi, i due modelli sono alla pari; con istruzioni vaghe come «dati personali», o con un «ma non…», il divario si allarga.
Noir0%
gpt-oss-120b0%
* Totale di giapponese e inglese. Tasso di omissione (%, 1 casella = 1%). Composizione: 69 documenti con elenco dei tipi, 104 con istruzione vaga, 27 con eccezione.
4 lingue,
i risultati di ciascuna.
Per ogni lingua c'è un Noir dedicato (giapponese e inglese ne condividono uno). In giallo i valori migliori di quelli di gpt-oss-120b.
- In croato e in tedesco le omissioni sono quasi pari a quelle di gpt-oss-120b. In gran parte riguardano date e orari in formato europeo, come «02.11.2026» o «14:12 Uhr».
- Aggiungendo due regole che intercettano date e orari in questo formato, secondo le nostre stime le omissioni scendono dal 31 al 23% in croato e dal 25 al 15% in tedesco, sotto i valori di gpt-oss-120b (24% e 19%). L'integrazione nel prodotto è prevista. in programma
La risposta
è un JSON.
Restituisce l'elenco dei punti trovati, raggruppati quando indicano la stessa cosa. Le stringhe sono esattamente quelle scritte nel documento: basta cercarle nel testo e sostituirle.
Il telefono del Sig. Verdi è 02 0000 1234,
l'e-mail è [email protected].
- id: la stessa persona o la stessa cosa confluiscono in un'unica voce («Luigi Verdi» e «Verdi»).
- type: il nome di una delle 48 etichette. Arriva nella lingua del prompt (per esempio «Nome di persona»).
- mentions: le stringhe esattamente come sono scritte nel documento. Se non c'è nulla di corrispondente,
[].
Trova nel documento seguente tutto ciò che
corrisponde all'obiettivo. … (omissis)
L'output è solo un array JSON: [{"id": "E1",
"type": "...", "mentions": ["..."]}]
Obiettivo:
Dati personali, ma non l'età
Modalità: mascheramento (senza replacements)
Documento:
(qui il documento)Un documento
in circa 20 secondi.
Riproduciamo ciò che accade sulla CPU di un portatile (senza GPU): dalla lettura di un documento di circa 900 caratteri fino alla restituzione dei punti da oscurare. La riproduzione è a velocità 5×; il cronometro segna i secondi reali.
0.0svelocità 5×
Legge il documentoScrive i punti da oscurare
Punti oscurati 0 / 0
- Istruzione
- Nome di persona, numero di telefono, indirizzo e-mail, indirizzo
- Lettura
- circa 140 token/s
- Scrittura
- circa 24 token/s
- Hardware
- Core i7-11800H, 8 thread
- A questa velocità, elaborando un documento dopo l'altro, una sola macchina tratta circa 170.000 caratteri all'ora.
- Su GPU, con 16 richieste in parallelo, 100 documenti hanno richiesto circa 20 secondi (gpt-oss-120b: circa 90). misura interna
* Documento e punti oscurati sono un esempio (in questa pagina non gira nessun modello). I tempi sono calcolati dalle velocità di lettura e di scrittura misurate internamente. Le espressioni che indicano la stessa persona vengono raggruppate e oscurate in una volta sola.
1.000 caratteri per volta:
si taglia e si passa.
I documenti lunghi vengono tagliati in blocchi di circa 1.000 caratteri e passati uno alla volta. Restando sulla lunghezza vista in addestramento, le omissioni diminuiscono. Alla fine i risultati vengono riuniti e combinati con le regole che intercettano i formati fissi di e-mail, telefoni, URL e date.
Avvio (llama.cpp)
llama-server -m noir-ja-en-Q4_K_M.gguf \ -c 16384 -t 8 -np 1 --jinja --port 8191
DisponibileDownload dei pesi →
- Va usato con la modalità thinking disattivata (
enable_thinking: false) e contemperature 0. - Il modello si sceglie in base alla lingua: ja-en per giapponese e inglese, de-en per il tedesco, hr-en per il croato.
- Su CPU (Core i7-11800H, 8 thread), un blocco di 1.000 caratteri richiede circa 20 secondi. misura interna
Lo stesso documento,
oscurato secondo l'istruzione.
Potete provare su documenti di esempio, scegliendo l'istruzione. Cambiando istruzione, sullo stesso documento cambiano i punti oscurati. Si vedono anche, così come sono, il prompt inviato al modello e il JSON restituito.
1 Scegliete un documento
2 Scegliete un'istruzione parte subito
Oppure scegliete voi i tipi
Prompt inviato al modello
JSON restituito
[]
Come misuriamo.
E poi, parliamone.
- Documenti: 100 per ciascuna lingua (giapponese, inglese, tedesco, croato). Sono documenti di fantasia creati per il test (e-mail, verbali, note del personale, fatture, informazioni cliniche e altro), con i punti da oscurare annotati come soluzione.
- Istruzioni: per ogni documento, una sola tra «elenco dei tipi», «formulazione vaga» e «con eccezione». A gpt-oss-120b (reasoning effort medium) è stato dato lo stesso prompt.
- Criteri: omissioni = quota dei punti corretti rimasti leggibili; eccessi = quota dei punti oscurati che non andavano oscurati; violazioni = quota dei punti oscurati di un tipo non richiesto.
- Esecuzione: novembre 2026, Q4_K_M. I valori saranno rivisti prima della pubblicazione ufficiale.