La maggior parte dei prodotti di IA per documenti mette il modello sul percorso del file: legge, decide e restituisce un nuovo documento. Un modello linguistico è eccellente nell’interpretare e scarso nel garantire. SazAI Corpus separa le due cose, e il resto di questo sito ne discende.

I due strati

Uno capisce cosa vuoi; l'altro apre il file secondo le regole del formato

Lo strato che parla è un modello linguistico: capisce la richiesta, sceglie l’operazione e spiega il risultato. Lo strato che tocca il file è un motore deterministico: apre il documento secondo le regole del suo formato, modifica gli elementi autorizzati, registra quali e lo riscrive. Non interpreta l’intenzione.

la tua richiestacon parole tue, come parli
un'operazione sceltacon un nome, registrata, con una ricevuta
il file scrittodal motore, mai dal modello
Il modello sceglie l'operazione; è il motore ad aprire e scrivere il file.

Così una richiesta fraintesa resta un errore di conversazione: se il modello ti fraintende, l’operazione sbagliata compare nella ricevuta, con un nome e una versione, e la struttura del file non torna danneggiata in silenzio.

Il documento esce da una specifica

Ciò che viene eseguito è un'operazione su una struttura nota

All’ingresso, il documento viene letto per intero e scomposto nei suoi elementi: testo, forme, tabelle, celle, pagine, relazioni, proprietà. Quella mappa viene registrata. Una modifica è una specifica eseguita su di essa: gli elementi autorizzati cambiano, il resto resta, e il risultato viene controllato rispetto alla struttura di origine. Altro in i tuoi documenti.

Dove entra il testo del modello

Nella traduzione il confine è controllato, e una discrepanza fa fallire il passaggio

Dove il testo del modello entra nel file, come nella traduzione, il confine è controllato, non presunto. Ogni passaggio di testo esce tra marcatori, e i marcatori che tornano vengono contati rispetto a quelli usciti. Se il modello ne ha perso uno, ne ha inventato uno o ha scritto qualcosa che gli somiglia, il passaggio fallisce.

633Entrato con 633, uscito con 633In un test di traduzione di 45 diapositive: 633 elementi in entrata, 633 in uscita; 971 forme in entrata, 971 in uscita. Il motore ha toccato le 11 diapositive che avevano testo, e nessun'altra.
Un conteggio è il modo onesto di dirlo; un aggettivo no.

Un modello che perde o inventa un passaggio produce un’operazione che non si è completata, non un documento danneggiato in silenzio. Il conteggio verifica che ogni passaggio sia tornato, non che cosa dice: se la traduzione è giusta lo legge ancora una persona. Fin dove questo vale per ogni formato è in traduci.

Il modello linguistico è una scelta, non una dipendenza

Lo strato deterministico resta quando il modello cambia

Il modello che parla e il modello che traduce sono scelti separatamente e sostituiti tramite configurazione; un cliente con installazione propria punta al modello che ha contrattato. Lo strato deterministico non si muove quando il modello cambia, e la sovranità poggia su di esso.

Cosa rende possibile questa separazione: i canali in interfacce, e le operazioni in capacità.