domemoro-12-krea/zagreo-conto-termico
0
Zagreo Master - White-Label AI Engine
๐ฏ Scopo del Progetto
Zagreo รจ un motore AI configurabile (White-Label) ottimizzato per applicazioni RAG (Retrieval-Augmented Generation) verticali su domini normativi e tecnici. Grazie a un'architettura Config-Driven, il motore puรฒ alimentare assistenti diversi (es. Conto Termico 3.0, Protezione Civile - Ciclone Harry) semplicemente cambiando un file di configurazione TOML.
๐๏ธ Architettura Ibrida & Config-Driven
Il sistema utilizza Hybrid Context Caching su Google Gemini (es. gemini-3.1-pro-preview):
- Motore Agnostico: La logica di
app.pyรจ separata dai dati di dominio. - Configurazione TOML: Titoli, branding, istruzioni di sistema e parametri LLM sono definiti in file
.toml. - Isolamento della Cache: Ogni dominio utilizza namespace isolati su Vertex/Gemini per prevenire collisioni di dati.
- Ingestione Dinamica: I documenti vengono letti da cartelle specifiche configurate per ogni dominio.
- Smart-OPEX: Gestione automatizzata del TTL e cleanup della cache per ottimizzare i costi operativi.
๐ Quick Start
- Clonare la repo ed attivare il venv (Python 3.12 โ Streamlit 1.42.0 non parte su 3.14):
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Configurare le credenziali: Inserire la
GOOGLE_API_KEYin.streamlit/secrets.toml.
- Scegliere il Dominio: Il sistema carica di default
config_ct3.toml. Per cambiare dominio, imposta la variabile d'ambienteAPP_CONFIG:
ZAGREO - Polizze Auto:
source .venv/bin/activate
export APP_CONFIG=config_polizze.toml
streamlit run app.pyConto Termico 3.0 (Default):
export APP_CONFIG=config_ct3.toml
streamlit run app.pyHarry Claim Master (Protezione Civile):
export APP_CONFIG=config_harry.toml
streamlit run app.py๐ Struttura Documentazione
/document: Documentazione per il dominio Conto Termico./document_harry: Documentazione per il dominio Ciclone Harry.
๐งช Testing
Il progetto include una suite di test per verificare il caricamento della configurazione e l'isolamento della cache:
python3 -m pytest tests/โ ๏ธ Gestione Errori
Il sistema gestisce automaticamente:
- Errore 503/Quota: Retry logic con backoff esponenziale.
- Errore 403 (Cache Scaduta): Auto-rigenerazione trasparente della sessione durante l'uso.
