Strategie di chunking

Contenuti diversi,
chunk diversi.

Un paper scientifico non ha la stessa forma di uno stream da sensori. Un CSV non ha la stessa forma di un sorgente Python. Un video di 90 minuti non ha la stessa forma di un memo di una pagina. Eldric integra un chunking content-aware — la piattaforma rileva ciò che hai caricato, sceglie una strategia appropriata di default e ti lascia regolare prima del commit. Chunk migliori all'ingestione significano hit RAG migliori al momento della query.


Upload intelligente

Eldric suggerisce; tu confermi.

Quando trascini un file nell'interfaccia di chat o in una pagina di gestione di una base di conoscenza, il flusso di upload non fa il commit subito. La piattaforma ispeziona prima il file — content type, lingua, lunghezza, struttura — poi apre un dialogo di suggerimento con i parametri pre-compilati. Vedi cosa sta per accadere, puoi sovrascrivere qualsiasi cosa, e solo quando clicchi Commit su RAG l'ingestione parte davvero.

Cosa ti mostra il dialogo di suggerimento, per ogni file:

Clicca Anteprima chunk per vedere i primi 5–10 chunk che la strategia produrrebbe. Modifica la strategia e ri-visualizza l'anteprima per confrontare. Clicca Commit su RAG quando sei soddisfatto.


I default

Strategia suggerita per content type.

Default qui sotto. Ogni valore è sovrascrivibile nel dialogo di upload e può essere reso persistente per base di conoscenza.

Content typeStrategiaDimensione chunkOverlapArricchimento automatico
PDF scientificosemantica (per sezione)512 token50autori, DOI, riferimenti, entità
Markdown / docssemantica (per heading)384 token40heading, blocchi di codice, link incrociati
Codice (Python, C++, JS, …)per confine di funzione1024 token100simboli, import, docstring
CSV / TSVper riga o per clusternaturale per riga0statistiche delle colonne, distribuzioni dei valori
Audioper utterance dopo STTn/dn/dtrascrizione, diarizzazione dei parlanti, timestamp
Videoper scena dopo rilevamento scenen/dn/drilevamento scene, frame campione, trascrizione
Immagineper immaginen/dn/dembedding di visione, descrizione, testo OCR
Serie temporali da sensoriper finestra5 minuti30 seconditag di anomalia, direzione del trend, intervallo
FASTA genomicoper sequenzan/dn/dannotazione genica, contenuto GC, ORF
SMILES chimicoper molecolan/dn/dproprietà, ADMET, composti simili
Testo semplicefissa512 token50lingua, estrazione di parole chiave
Binario / sconosciutosolo metadatan/dn/dnome file, dimensione, magic byte, descrizione LLM

Le strategie spiegate

Cosa fa ciascuna strategia.

Semantica

Divide su confini naturali — paragrafi, sezioni, heading — poi fonde i pezzi adiacenti corti finché ogni chunk non è vicino al conteggio token target. Migliore per documenti dove il significato sta dentro i confini di sezione: paper scientifici, contratti, manuali di policy.

Fissa

Taglia al conteggio token target indipendentemente dalla struttura, con overlap per evitare di perdere significato attraverso i confini. Migliore quando l'input non ha struttura utile — lunghi log di testo semplice, trascrizioni senza turni di parlato, immagini con OCR dove il layout è andato perso.

Per confine di funzione

Per il codice sorgente. Divide ai confini di funzione / classe / metodo, con la firma della funzione portata in ogni chunk in modo che il retrieval possa fare il match tra "dov'è la funzione validate_input" e l'implementazione effettiva.

Per riga / per cluster

Per dati tabellari. Per riga tratta ogni riga come un chunk; per cluster raggruppa le righe per similarità (utile per dati da sensori dove 1000 righe potrebbero essere un solo "regime operativo"). Le statistiche delle colonne viaggiano come metadati così le query sulle colonne funzionano.

Per utterance / per scena

Per audio e video. Il media worker trascrive / segmenta prima, poi ogni utterance (per l'audio) o scena (per il video) diventa un chunk con la trascrizione e i timestamp allegati. Ti permette di interrogare "chi ha detto X intorno al minuto 12" e ottenere una risposta che punta alla scena giusta.

Per finestra

Per serie temporali da sensori. Fa scorrere una finestra sullo stream, riassume ogni finestra in un chunk con tag di anomalia + direzione del trend + intervallo di valori. Buona per dati IoT e SCADA dove la struttura è "5 minuti di un turno", "5 minuti di un altro turno", e vuoi interrogare contro le modalità operative.

Solo metadata

Fallback per content type da cui la piattaforma non può estrarre testo — binari, archivi cifrati, immagini firmware grezze. Memorizza nome file, dimensione, firma magic-byte e una descrizione generata da LLM del ruolo del file, così il file è ricercabile anche quando i suoi contenuti non lo sono.


Configurazione per base di conoscenza

Scegliere una strategia per l'intera base di conoscenza.

Suggerimento-e-conferma è il flusso per ogni file. Per una base di conoscenza dove ogni documento ha la stessa forma — per esempio, una base di PDF di linee guida cliniche — imposta la strategia una sola volta a livello di base di conoscenza:

curl -X POST -H "X-API-Key: $ELDRIC_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"chunk_size":512,"chunk_overlap":50,"strategy":"semantic"}' \
     https://<tuo-host>/api/v1/vector/namespaces/<tenant>/<ns>/config

Da questo punto in poi, gli upload in quella base di conoscenza saltano il dialogo di suggerimento (o lo mostrano con i default della base pre-compilati). Il ri-embedding dei documenti esistenti dopo un cambio di strategia è un'operazione one-button nella console di amministrazione.


Perché conta

Chunk migliori, retrieval migliore.

Un generico 512-token-overlap-50 su tutto funziona, ma funziona meno per i contenuti dove l'unità di significato è qualcos'altro — una frase in un contratto, una funzione nel codice, un'utterance in un'intervista, una riga in un CSV. Il chunking content-aware è l'unico cambiamento che porta RAG da "a volte trova la cosa giusta" a "trova in modo affidabile la cosa giusta", perché le unità memorizzate nell'indice vettoriale corrispondono alle unità su cui verte effettivamente una query.

Combinato con l'anteprima EMM di retrieval compresso e con l'anteprima di inferenza con memoria intelligente, il layer di chunking è la fondazione del loop di ritenzione di Eldric: chunk di alta qualità all'ingestione → hit RAG migliori → segnale di accettazione utente migliore → corpus di training più utile → piattaforma più intelligente nel tempo.


Andare oltre

Avanti.

Per la guida pratica lato cliente: usare RAG. Per la vista architetturale: architettura RAG. Per il comportamento a cascata (ENRN → EMM → RAG → fonte live): RAG a richiesta. Per la classificazione personalizzata — insegnare a Eldric le tue classi di intento — vedi classificazione personalizzata.