modifica readme
Browse files
README.md
CHANGED
|
@@ -1,205 +1,7 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
- **💬 RAG Chatbot**: Chat intelligente sui documenti anonimizzati
|
| 9 |
-
- **🤖 Multi-Agent AI**: 4 agenti CrewAI per analisi approfondite
|
| 10 |
-
- **📊 Dashboard Web**: Interfaccia Streamlit completa
|
| 11 |
-
- **📥 Export Risultati**: Download JSON strutturati
|
| 12 |
-
|
| 13 |
-
## 📋 Requisiti
|
| 14 |
-
|
| 15 |
-
- Python 3.8+
|
| 16 |
-
- Account Azure OpenAI
|
| 17 |
-
- Dipendenze in `requirements.txt`
|
| 18 |
-
|
| 19 |
-
## ⚙️ Installazione
|
| 20 |
-
|
| 21 |
-
1. **Clona il repository**
|
| 22 |
-
```bash
|
| 23 |
-
git clone <repo-url>
|
| 24 |
-
cd document_anonymizer
|
| 25 |
-
```
|
| 26 |
-
|
| 27 |
-
2. **Installa dipendenze**
|
| 28 |
-
```bash
|
| 29 |
-
pip install -r requirements.txt
|
| 30 |
-
```
|
| 31 |
-
|
| 32 |
-
3. **Configura variabili d'ambiente**
|
| 33 |
-
```bash
|
| 34 |
-
cp .env.example .env
|
| 35 |
-
```
|
| 36 |
-
|
| 37 |
-
Modifica `.env` con le tue credenziali Azure:
|
| 38 |
-
```
|
| 39 |
-
AZURE_ENDPOINT=https://your-resource.openai.azure.com/
|
| 40 |
-
AZURE_API_KEY=your-api-key
|
| 41 |
-
AZURE_ENDPOINT_EMB=https://your-embedding-resource.openai.azure.com/
|
| 42 |
-
AZURE_API_KEY_EMB=your-embedding-api-key
|
| 43 |
-
```
|
| 44 |
-
|
| 45 |
-
4. **Avvia l'applicazione**
|
| 46 |
-
```bash
|
| 47 |
-
streamlit run main.py
|
| 48 |
-
```
|
| 49 |
-
|
| 50 |
-
## 🎯 Come Usare
|
| 51 |
-
|
| 52 |
-
### 1. Upload Documenti
|
| 53 |
-
- Carica file `.txt` nella tab "Upload"
|
| 54 |
-
- Supporta upload multipli
|
| 55 |
-
|
| 56 |
-
### 2. Anonimizzazione
|
| 57 |
-
- Vai alla tab "Anonimizzazione"
|
| 58 |
-
- Clicca "Avvia Anonimizzazione"
|
| 59 |
-
- Revisiona e modifica entità rilevate
|
| 60 |
-
- Conferma i documenti
|
| 61 |
-
|
| 62 |
-
### 3. Analisi AI
|
| 63 |
-
- Tab "Analisi": Analisi Azure OpenAI per singoli documenti
|
| 64 |
-
- Tab "RAG": Chat interattiva con i documenti
|
| 65 |
-
- Tab "CrewAI": Analisi multi-agente avanzate
|
| 66 |
-
|
| 67 |
-
## 🤖 Agenti CrewAI
|
| 68 |
-
|
| 69 |
-
- **📄 Document Analyst**: Classificazione e analisi strutturale
|
| 70 |
-
- **😊 Sentiment Analyst**: Analisi emozioni e trend
|
| 71 |
-
- **🎯 Strategy Coordinator**: Sintesi executive e raccomandazioni
|
| 72 |
-
|
| 73 |
-
## 📁 Struttura Progetto
|
| 74 |
-
|
| 75 |
-
```
|
| 76 |
-
document_anonymizer/
|
| 77 |
-
├── main.py # App Streamlit principale
|
| 78 |
-
├── config.py # Configurazioni sistema
|
| 79 |
-
├── anonymizer.py # Sistema anonimizzazione NER+Regex
|
| 80 |
-
├── ai_processor.py # Azure + RAG + CrewAI
|
| 81 |
-
├── ui_components.py # Componenti UI riutilizzabili
|
| 82 |
-
├── utils.py # Funzioni utility
|
| 83 |
-
├── requirements.txt # Dipendenze Python
|
| 84 |
-
├── .env.example # Template environment
|
| 85 |
-
└── README.md # Questa documentazione
|
| 86 |
-
```
|
| 87 |
-
|
| 88 |
-
## 🔐 Privacy & Sicurezza
|
| 89 |
-
|
| 90 |
-
- **Privacy by Design**: Anonimizzazione prima di qualsiasi elaborazione AI
|
| 91 |
-
- **GDPR Compliant**: Nessun dato sensibile inviato ai modelli
|
| 92 |
-
- **Controllo Manuale**: Revisione ed editing delle entità rilevate
|
| 93 |
-
- **Tracciabilità**: Cronologia completa delle operazioni
|
| 94 |
-
|
| 95 |
-
## 🛠️ Entità Supportate
|
| 96 |
-
|
| 97 |
-
### Regex Pattern
|
| 98 |
-
- **IBAN**: Codici bancari italiani
|
| 99 |
-
- **EMAIL**: Indirizzi email
|
| 100 |
-
- **CF**: Codici fiscali italiani
|
| 101 |
-
- **CARD**: Numeri carte di credito
|
| 102 |
-
- **PHONE**: Numeri di telefono
|
| 103 |
-
|
| 104 |
-
### NER (Named Entity Recognition)
|
| 105 |
-
- **PER**: Nomi di persone
|
| 106 |
-
- **ORG**: Organizzazioni
|
| 107 |
-
- **LOC**: Luoghi
|
| 108 |
-
- **MISC**: Entità varie
|
| 109 |
-
|
| 110 |
-
## 📊 Tipi di Analisi CrewAI
|
| 111 |
-
|
| 112 |
-
### 🔍 Comprensiva
|
| 113 |
-
Analisi completa con tutti e 4 gli agenti per insights 360°
|
| 114 |
-
|
| 115 |
-
### 📄 Documentale
|
| 116 |
-
Focus su classificazione, struttura e organizzazione documenti
|
| 117 |
-
|
| 118 |
-
### 😊 Sentiment
|
| 119 |
-
Analisi emozioni, soddisfazione e trend comunicazioni
|
| 120 |
-
|
| 121 |
-
### 🔍 RAG Avanzata
|
| 122 |
-
Query complesse con recupero semantico e correlazioni
|
| 123 |
-
|
| 124 |
-
### ⚙️ Personalizzata
|
| 125 |
-
Selezione manuale agenti per analisi su misura
|
| 126 |
-
|
| 127 |
-
## 🔧 Configurazione Avanzata
|
| 128 |
-
|
| 129 |
-
### Modelli Azure
|
| 130 |
-
Modifica in `config.py`:
|
| 131 |
-
```python
|
| 132 |
-
DEPLOYMENT_NAME = "gpt-4o" # Tuo deployment chat
|
| 133 |
-
AZURE_EMBEDDING_DEPLOYMENT_NAME = "text-embedding-ada-002" # Tuo deployment embedding
|
| 134 |
-
```
|
| 135 |
-
|
| 136 |
-
### Pattern Regex Personalizzati
|
| 137 |
-
Aggiungi in `config.py`:
|
| 138 |
-
```python
|
| 139 |
-
REGEX_PATTERNS = {
|
| 140 |
-
# Pattern esistenti...
|
| 141 |
-
"CUSTOM_PATTERN": r'your_regex_here'
|
| 142 |
-
}
|
| 143 |
-
```
|
| 144 |
-
|
| 145 |
-
## 🐛 Troubleshooting
|
| 146 |
-
|
| 147 |
-
### Errore Azure OpenAI
|
| 148 |
-
- Verifica credenziali in `.env`
|
| 149 |
-
- Controlla deployment names
|
| 150 |
-
- Verifica quota e limiti Azure
|
| 151 |
-
|
| 152 |
-
### Errore NER Model
|
| 153 |
-
- Controlla connessione internet
|
| 154 |
-
- Aumenta timeout download modello
|
| 155 |
-
- Usa cache Hugging Face
|
| 156 |
-
|
| 157 |
-
### Performance Lente
|
| 158 |
-
- Riduci dimensione documenti
|
| 159 |
-
- Usa meno chunks per RAG
|
| 160 |
-
- Ottimizza parametri CrewAI
|
| 161 |
-
|
| 162 |
-
## 📈 Esempi Query
|
| 163 |
-
|
| 164 |
-
### Business Intelligence
|
| 165 |
-
```
|
| 166 |
-
"Analizza i temi principali nei documenti e identifica possibili rischi operativi"
|
| 167 |
-
```
|
| 168 |
-
|
| 169 |
-
### Customer Service
|
| 170 |
-
```
|
| 171 |
-
"Valuta il sentiment nelle comunicazioni clienti e suggerisci miglioramenti"
|
| 172 |
-
```
|
| 173 |
-
|
| 174 |
-
### Compliance
|
| 175 |
-
```
|
| 176 |
-
"Verifica la conformità delle comunicazioni e identifica potenziali problemi legali"
|
| 177 |
-
```
|
| 178 |
-
|
| 179 |
-
### Strategic Analysis
|
| 180 |
-
```
|
| 181 |
-
"Fornisci un'analisi comprensiva con raccomandazioni strategiche actionable"
|
| 182 |
-
```
|
| 183 |
-
|
| 184 |
-
## 🤝 Contributi
|
| 185 |
-
|
| 186 |
-
1. Fork il progetto
|
| 187 |
-
2. Crea feature branch (`git checkout -b feature/AmazingFeature`)
|
| 188 |
-
3. Commit modifiche (`git commit -m 'Add AmazingFeature'`)
|
| 189 |
-
4. Push al branch (`git push origin feature/AmazingFeature`)
|
| 190 |
-
5. Apri Pull Request
|
| 191 |
-
|
| 192 |
-
## 📄 Licenza
|
| 193 |
-
|
| 194 |
-
Distribuito sotto licenza MIT. Vedi `LICENSE` per maggiori informazioni.
|
| 195 |
-
|
| 196 |
-
## 📞 Supporto
|
| 197 |
-
|
| 198 |
-
Per supporto e domande:
|
| 199 |
-
- Apri una Issue su GitHub
|
| 200 |
-
- Contatta il team di sviluppo
|
| 201 |
-
- Consulta la documentazione Azure OpenAI
|
| 202 |
-
|
| 203 |
-
---
|
| 204 |
-
|
| 205 |
-
**⚡ Quick Start**: `pip install -r requirements.txt && streamlit run main.py`
|
|
|
|
| 1 |
+
title: progetto_hackathon
|
| 2 |
+
moji: 🚀color
|
| 3 |
+
From: bluecolor
|
| 4 |
+
To: red
|
| 5 |
+
sdk: streamlit
|
| 6 |
+
app_file: src/main.py
|
| 7 |
+
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|