Skip to content

v1.4.0 - Architettura Modulare

Choose a tag to compare

@EnzoGitHub27 EnzoGitHub27 released this 08 Jan 00:20
· 118 commits to main since this release

🍕 Datapizza v1.4.0 - Architettura Modulare

Refactoring completo dell'interfaccia! Il file monolitico v1.3.3 (2287 righe) è stato riorganizzato in una struttura pulita di 27 moduli Python distribuiti in 6 packages.


✨ Highlights

  • ♻️ Architettura modulare - Codice organizzato in packages separati
  • 📦 Entry point unificato - Avvia con streamlit run app.py
  • 🗂️ Vecchi file archiviati - Tutte le versioni precedenti in old/
  • ✅ Zero breaking changes - Stesso comportamento di v1.3.3

🏗️ Nuova Struttura

datapizza-streamlit-interface/
├── app.py                    # ⭐ Entry point
├── config/                   # Configurazione (constants, settings)
├── core/                     # LLM client, persistenza, conversazioni
├── rag/                      # RAG: models, chunker, vector_store, adapters
├── export/                   # Export: MD, JSON, TXT, PDF, ZIP
├── ui/                       # Streamlit UI: styles, chat, sidebar
└── old/                      # Versioni archiviate (v1.0 → v1.3.3)

🚀 Quick Start

# Clone/Pull
git pull origin main

Avvia (nuovo!)

streamlit run app.py


📦 Packages

Package Moduli Responsabilità
config/ 3 Costanti, settings, API keys
core/ 4 LLM client, persistenza, conversazioni
rag/ 8 Document, Chunk, Chunker, VectorStore, Adapters
export/ 2 Tutti i formati export + batch ZIP
ui/ 7 Styles, chat rendering, sidebar components
old/ 5 Archivio versioni precedenti

🔧 Miglioramenti Tecnici

  • Separazione responsabilità: Ogni modulo ha un compito specifico
  • Testabilità: Componenti isolati e facilmente testabili
  • Manutenibilità: Modifiche localizzate senza impatti globali
  • Riusabilità: Componenti importabili in altri progetti
  • Import puliti: Ogni package espone API chiare via __init__.py

📋 Funzionalità (invariate da v1.3.3)

  • 🤖 Multi-provider: Ollama, Remote, Cloud (OpenAI, Anthropic, Google)
  • 💬 Conversazioni multi-turno con memoria
  • 💾 Persistenza automatica su JSON
  • 📚 Knowledge Base RAG (LocalFolder + MediaWiki)
  • 📤 Export: Markdown, JSON, TXT, PDF, Batch ZIP
  • 🔒 Privacy mode: blocco cloud con KB attiva

📥 Installazione

# Ambiente virtuale
python3 -m venv deepaiug-interface
source deepaiug-interface/bin/activate

Dipendenze (ordine importante!)

pip install datapizza-ai
pip install datapizza-ai-clients-openai-like
pip install streamlit pyyaml python-dotenv
pip install chromadb beautifulsoup4 PyPDF2
pip install mwclient reportlab


🙏 Credits

Grazie alla community DeepAiUG per il supporto e i feedback!


Full Changelog: https://github.com/EnzoGitHub27/datapizza-streamlit-interface/compare/v1.3.3...v1.4.0