Usare RAG in Eldric

Ancora la risposta
nei tuoi documenti.

Eldric integra il retrieval-augmented generation (RAG) attivo per impostazione predefinita. Carichi i documenti in una base di conoscenza; la piattaforma li indicizza; quando poni al modello una domanda che si sovrappone a quei contenuti, la risposta viene ancorata al materiale reale invece che ai dati di addestramento del modello, con citazioni che rimandano ai passaggi sorgente. Questa pagina percorre l'interfaccia — cos'è RAG, come caricare, come chiedere, come leggere le citazioni e cosa fare quando qualcosa va storto.


Cos'è davvero RAG

Un paragrafo.

Retrieval-augmented generation significa: prima che il modello risponda, la piattaforma cerca nei documenti che le hai fornito i passaggi rilevanti per la tua domanda, li consegna al modello come contesto e chiede la risposta in quel contesto. Due vantaggi rispetto alla chat semplice: la risposta cita materiale reale invece di parafrasare l'addestramento del modello, e puoi insegnare alla piattaforma la tua terminologia, i tuoi protocolli, i tuoi documenti istituzionali, semplicemente caricandoli. RAG è ciò che rende Eldric utile per un ospedale che ha bisogno di risposte ancorate alle proprie linee guida cliniche, per una banca che ha bisogno di risposte ancorate ai propri manuali di compliance, per uno stabilimento che ha bisogno di risposte ancorate ai propri manuali di impianto.


Pronto all'uso

RAG è attivo di default.

Non devi accendere alcun interruttore. Non appena Eldric 5.0 è in esecuzione — nodo singolo o cluster — il percorso RAG è cablato. La piattaforma include un piccolo modello di embedding locale (un GGUF quantizzato, ~80 MB) che gira sul posto, in modo che gli embedding non lascino mai il tuo cluster. Il vector store risiede sul data worker; il modello di embedding risiede sul demone di inferenza nativo (Inferenced). Entrambi sono gestiti dal controller; non li configuri tu stesso, a meno che tu non stia eseguendo una topologia personalizzata.


Caricare i documenti

Dall'interfaccia.

Apri la console di amministrazione su https://<tuo-host>/admin e seleziona Basi di conoscenza → Nuova base di conoscenza. Dai un nome alla base di conoscenza (un reparto, un progetto, uno studio), poi clicca su Carica e trascina i file. Supportati: PDF, DOCX, testo semplice, Markdown, HTML. I file iniziano a caricarsi subito; non appena un file arriva, la piattaforma estrae il testo, lo divide in chunk, fa l'embedding di ogni chunk in un vettore a 768 dimensioni e archivia chunk + vettore nel data worker. La pagina di stato della base di conoscenza mostra l'avanzamento per file; non appena un file è verde, puoi interrogarlo.

Per volumi più grandi, l'interfaccia usa il chunked upload (§107) così il browser può sospendere, riprendere e ripristinare dopo cadute di rete senza ricominciare l'upload da capo.

Tramite API.

Stesso backend, scriptabile:

curl -X POST -H "X-API-Key: $ELDRIC_API_KEY" \
     -F "file=@./linee-guida-cliniche.pdf" \
     -F "tenant_id=ospedale-cardiologia" \
     -F "namespace_id=linee-guida-2026" \
     https://<tuo-host>/api/v1/vector/ingest

L'endpoint restituisce un job ID; /api/v1/vector/sources/<tenant_id>/<namespace_id> elenca ciò che è già indicizzato.


Porre domande ancorate

Basta chiedere.

Nell'interfaccia di chat, scegli una base di conoscenza dal selettore delle fonti nella casella di input (o lasciala su "tutte disponibili" per cercare in ogni base di conoscenza a cui hai accesso). Poni la tua domanda come faresti normalmente. La piattaforma fa l'embedding della tua domanda con lo stesso modello che ha fatto l'embedding dei documenti, esegue una ricerca k-nearest-neighbour nel vector store, consegna i top hit al modello insieme alla tua domanda e chiede la risposta.

Capirai che RAG si è attivato perché la risposta dell'assistente porta in basso una serie di chip di citazione — piccoli riferimenti numerati che mappano ai passaggi sorgente reali. Clicca una citazione per espanderla e vedere il chunk di documento su cui la risposta è stata ancorata.


Leggere le citazioni

Il percorso di ritorno alla fonte.

Ogni chip di citazione porta: il nome del documento sorgente, la pagina o sezione se disponibile, e una breve anteprima del passaggio individuato. Cliccando si espande il passaggio completo nel pannello degli artefatti accanto alla chat. Conta più di quanto sembri: la citazione è la differenza tra "il modello sostiene questo" e "puoi dimostrare che la piattaforma ha estratto questo dalla tua linea guida". Per i workflow regolamentati, quella prova è l'intero punto della faccenda.

Se la risposta avrebbe dovuto citare un documento ma non lo ha fatto, due cause probabili: il documento non ha finito di essere indicizzato (controlla la pagina di stato della base di conoscenza), oppure la domanda non corrisponde abbastanza alla formulazione del documento (prova a riformularla — la ricerca semantica della piattaforma è buona, ma non telepatica).


Gestire le basi di conoscenza

Eliminare, organizzare, condividere.

La console di amministrazione → pagina Basi di conoscenza ti permette di rinominare, eliminare e ispezionare ciascuna base. Eliminare una base di conoscenza rimuove le sue voci vettoriali e i suoi documenti sorgente dal data worker; l'operazione è irreversibile, quindi conferma prima di cliccare.

All'interno di un tenant, organizzi le basi di conoscenza per scopo — una per progetto, una per studio, una per pubblico. Tra tenant diversi, la piattaforma isola le basi di conoscenza al gateway: una base di conoscenza appartiene a un singolo tenant, e i membri di altri tenant non possono elencarla, cercarla o leggerla.

Se hai bisogno che una base di conoscenza sia disponibile a due tenant, la risposta giusta oggi è usare l'esportazione .nexus bundle — impacchetti la base, consegni il bundle all'altro tenant, che lo spacchetta come propria base di conoscenza. Una prossima patch 5.0.x aggiunge la condivisione cross-tenant di prima classe come parte di Federation Layer B.


Risoluzione dei problemi

Le tre cose che possono andare storte.

1. Indicizzazione fallita

Un file resta fermo su "Indicizzazione…" per più di qualche minuto. Controlla la pagina di stato della base di conoscenza per l'errore specifico del file. Cause comuni: PDF scansionati senza livello di testo OCR (l'estrattore di testo non trova nulla); file protetti da password; download corrotti. Ripara il file o rimuovilo e ricaricalo.

2. Backend di embedding non raggiungibile

Gli upload riescono ma l'embedding non si completa mai; le query ricadono sulla chat semplice senza citazioni. Il modello di embedding (Inferenced GGUF) non è raggiungibile. Apri la console di amministrazione → Inferenced e verifica che il modello di embedding sia caricato; se non lo è, clicca Carica. Se Inferenced non è in esecuzione affatto, riavvialo con sudo systemctl restart eldric-aios-inferenced sull'host.

3. La domanda non corrisponde ai documenti

La piattaforma ha cercato, non ha trovato nulla sopra la sua soglia di similarità e ha risposto senza citazioni. Due strade: riformula la domanda usando termini che ti aspetteresti di vedere nel documento sorgente, oppure abbassa la soglia di similarità nelle impostazioni della base di conoscenza (default 0.3 — più basso significa "restituisci match più larghi", a costo di lasciar passare anche risultati irrilevanti).


Andare più a fondo

Avanti.

La vista sotto il cofano di come è cablato RAG: architettura RAG. Per le strategie di chunking per tipo di contenuto: strategie di chunking. Per l'anteprima della memoria compressa che velocizza la ricerca sulle basi di conoscenza in concorrenza: retrieval avanzato. Per l'anteprima lato inferenza che consulta la memoria al confine del prompt: inferenza con memoria intelligente.

Lato operazioni, day-2: la guida amministratore copre l'onboarding dei tenant, i walkthrough di ingestione delle basi di conoscenza e le ricette di alert di monitoraggio.