245 lines
6.4 KiB
Markdown
245 lines
6.4 KiB
Markdown
Ecco il **Product Requirements Document (PRD) completo e professionale**
|
|
per costruire un **sistema AI completo con Agentic RAG + ingestione
|
|
PDF + OCR strutturato + agenti intelligenti** da deployare su **Proxmox
|
|
/ VPS in LAN**, con focus pratico e tecnico.
|
|
|
|
**📄 Product Requirements Document --- Sistema AI Agentic RAG con
|
|
Ingestione PDF e OCR avanzato**
|
|
|
|
**🧾 1. Visione del Prodotto**
|
|
|
|
Costruire una piattaforma di **intelligenza artificiale autonoma
|
|
(Agentic RAG)** in grado di:
|
|
|
|
- assorbire documenti e PDF complessi,
|
|
|
|
- estrarre testo e struttura mediante un **OCR avanzato**,
|
|
|
|
- indicizzare semanticamente contenuti per retrieval accurato,
|
|
|
|
- utilizzare **agenti intelligenti** per decomporre query complesse,
|
|
pianificare passi e usare tool esterni,
|
|
|
|
- rispondere in linguaggio naturale con output affidabile e
|
|
verificabile.
|
|
|
|
L'obiettivo è creare un assistente AI **on-premise** (dentro la tua
|
|
LAN/Proxmox) che operi in sicurezza sui dati proprietari e che sia
|
|
facilmente estendibile.
|
|
|
|
**🎯 2. Obiettivi del Sistema**
|
|
|
|
**🎯 2.1 Funzionali**
|
|
|
|
1. **Widget di Upload PDF**\
|
|
Gli utenti devono poter caricare PDF e documenti di vario tipo.
|
|
|
|
2. **Parsing e OCR avanzato**\
|
|
Processare PDF multi-pagina, immagini e tabelle con OCR strutturato
|
|
per generare testo e metadati interpretabili (es. JSON).\
|
|
(es. dots.ocr) --- OCR con riconoscimento di layout.
|
|
|
|
3. **Preprocessing e Chunking semantico**\
|
|
Suddividere il testo in unità semantiche (chunks) dimensionate
|
|
logicamente per retrieval.
|
|
|
|
4. **Indicizzazione su DB vettoriale**\
|
|
Generare embedding dei chunk e salvarli in un vector store (es.
|
|
Qdrant / LanceDB).
|
|
|
|
5. **Componenti Agentic**\
|
|
Implementare agenti intelligenti che:
|
|
|
|
- analizzano la richiesta,
|
|
|
|
- pianificano sequenze di retrieval,
|
|
|
|
- decidono quali strumenti chiamare,
|
|
|
|
- iterano retrieval e riformulano query se necessario.
|
|
|
|
6. **Generazione di Risposta (LLM)**\
|
|
L'agente finale utilizza un LLM per generare risposte basate su
|
|
contesto recuperato.
|
|
|
|
7. **Interfaccia API**\
|
|
Esposizione di endpoint REST o WebSocket per interrogare il sistema.
|
|
|
|
8. **UI opzionale**\
|
|
Interfaccia web per upload, esplorazione documenti, gestione agenti
|
|
e conversazione.
|
|
|
|
**🛠️ 3. Architettura Tecnica**
|
|
|
|
**🧠 3.1 Componenti Principali**
|
|
|
|
\[ Upload PDF \]\
|
|
↓\
|
|
\[ OCR Strutturato \]\
|
|
↓\
|
|
\[ Preprocessing & Chunking \]\
|
|
↓\
|
|
\[ Embeddings \]\
|
|
↓\
|
|
\[ Vector DB (Qdrant / LanceDB) \]\
|
|
↓ ↘\
|
|
\[ Retrieval \] ↘ \[ Logs & Metrics \]\
|
|
↓\
|
|
\[ Agentic AI Controller \]\
|
|
↓\
|
|
\[ LLM Generator \]\
|
|
↓\
|
|
\[ Interfaccia API / UI \]
|
|
|
|
**Agentic AI Controller** è il cuore: pianifica passo per passo,
|
|
richiama retrieval multipla, esegue tool use e springa LLM per
|
|
generazione finale.
|
|
|
|
**💡 3.2 Componenti Chiave**
|
|
|
|
**📄 Ingestion & OCR**
|
|
|
|
- Caricamento PDF
|
|
|
|
- Uso di OCR strutturato (es. **dots.ocr**, Tesseract avanzato o OCR
|
|
multimodale)
|
|
|
|
- Produzione di output JSON con layout, testo e metadata
|
|
|
|
**🧩 Text Chunking**
|
|
|
|
- Segmentazione dei testi in pezzi semanticamente rilevanti
|
|
|
|
- Preparazione per embedding
|
|
|
|
**📊 Embeddings e Vector DB**
|
|
|
|
- Modello di embedding (es. embedding open-source)
|
|
|
|
- Salvataggio in DB vettoriale per ricerca semantica
|
|
|
|
**🤖 Agents**
|
|
|
|
Gli agenti controlleranno:
|
|
|
|
- *Query planning* --- scomporre richieste complesse in subtask
|
|
|
|
- *Retrieval multipass* --- più round di ricerca semantica
|
|
|
|
- *Tool use* --- chiamata di strumenti esterni o funzioni se richiesto
|
|
|
|
- *Multipli retrievers* --- motori per dominio specifico, web search, DB
|
|
|
|
Questo permette di andare oltre la semplice RAG, rendendo il sistema
|
|
*adattivo e autonomo*.
|
|
|
|
**📜 Generation**
|
|
|
|
- LLM (Gemma o altro modello on-premise),
|
|
|
|
- Funzione di *reasoning iterativo con agenti* per risposte
|
|
storytelling, verificabili e coerenti.
|
|
|
|
**📌 4. Requisiti Tecnici**
|
|
|
|
**🖥️ 4.1 Hardware**
|
|
|
|
- CPU 8+ core
|
|
|
|
- RAM 32 GB+ (dipende carichi e modelli)
|
|
|
|
- Storage SSD/NVMe
|
|
|
|
- (Opzionale) GPU per accelerazione LLM/OCR
|
|
|
|
**💻 4.2 Software**
|
|
|
|
- Proxmox VE per container/VM management
|
|
|
|
- Docker / Container runtime
|
|
|
|
- Python 3.10+
|
|
|
|
- Vector DB (Qdrant, LanceDB)
|
|
|
|
- OCR engine (dots.ocr)
|
|
|
|
- Server LLM (Ollama / simili)
|
|
|
|
**🧪 5. Test & Metriche di Qualità**
|
|
|
|
-----------------------------------------------------------------------
|
|
**Metrica** **Target**
|
|
------------------------ ----------------------------------------------
|
|
Precisione Retrieval ≥ 85 %
|
|
|
|
Accuratezza Risposte ≥ 80 %
|
|
|
|
Tempo risposta medio \< 1 sec (query base)
|
|
|
|
Throughput ingestione Processamento PDF multi-pagina efficiente
|
|
|
|
Scalabilità Supporto a +50 utenti concorrenti
|
|
-----------------------------------------------------------------------
|
|
|
|
**⚠️ 6. Rischi e Mitigazioni**
|
|
|
|
-----------------------------------------------------------------------
|
|
**Rischio** **Mitigazione**
|
|
--------------------- -------------------------------------------------
|
|
Hallucination AI Rafforzare retrieval con verifica e riepiloghi
|
|
|
|
Sparsità dati Preprocessing avanzato + chunking semantico
|
|
|
|
Elevato uso risorse Modelli edge-friendly / modelli light
|
|
-----------------------------------------------------------------------
|
|
|
|
**📅 7. Roadmap di Sviluppo**
|
|
|
|
**🚀 Fase 1: Prototipo**
|
|
|
|
- Upload PDF
|
|
|
|
- OCR base (text)
|
|
|
|
- Vector store + retrieval
|
|
|
|
- Chat semplice
|
|
|
|
**🤖 Fase 2: Agentic Layer**
|
|
|
|
- Intelligenza agentica (pianificazione + tool use)
|
|
|
|
- Multi-pass retrieval
|
|
|
|
**📈 Fase 3: UI/UX**
|
|
|
|
- Interfaccia web per gestione documenti e QA
|
|
|
|
**🛡️ Fase 4: Sicurezza e Hardening**
|
|
|
|
- Autenticazione
|
|
|
|
- Logging
|
|
|
|
- Audit trails
|
|
|
|
**🗂️ 8. Use Cases Concreti**
|
|
|
|
✔️ *Knowledge base aziendale* --- risposte affidabili su processi
|
|
interni\
|
|
✔️ *Assistente tecnico specializzato* --- ricerca normativa e policy\
|
|
✔️ *Automazione documentale* --- estrazione strutturata di informazioni\
|
|
✔️ *Multi-step reasoning agent* --- pianificazione task e verifica
|
|
output
|
|
|
|
**📌 9. Glossario**
|
|
|
|
- **RAG**: Retrieval-Augmented Generation --- retrieval + generazione di
|
|
risposte basate su contesto esterno.
|
|
|
|
- **Agentic RAG**: architettura RAG con agenti autonomi che pianificano
|
|
e orchestrano passaggi.
|
|
|
|
- **Vector DB**: database di embeddings per ricerca semantica.
|