Files

77 lines
3.0 KiB
Markdown

# Document Processing Tool (Gemini Integration)
Questo repository contiene uno strumento Python per l'automazione dell'estrazione di informazioni strutturate da documenti Word (`.docx`). Utilizza l'intelligenza artificiale di **Google Gemini** per analizzare il testo e le tabelle, estraendo specifici dati relativi a Use Case, Test Case, Scenari e Verifiche.
## 🚀 Funzionalità
* **Lettura Documenti Word**: Supporta la lettura di file `.docx`, preservando la struttura di paragrafi e tabelle.
* **Chunking Intelligente**: Divide il documento in frammenti gestibili per l'elaborazione AI, mantenendo il contesto.
* **Estrazione AI-Powered**: Utilizza il modello `gemini-flash-latest` (o configurabile) per identificare ed estrarre dati strutturati come tabelle Markdown.
* **Conversione Automatica**: Converte l'output dell'AI da Markdown a CSV in modo algoritmico.
* **Aggregazione**: Unisce tutti i frammenti elaborati in un unico file CSV finale per ogni documento analizzato.
## 📋 Prerequisiti
* Python 3.8 o superiore
* Un account Google Cloud con accesso alle API di Gemini (Google AI Studio)
## 🛠️ Installazione
1. **Clona il repository:**
```bash
git clone <url-repository>
cd leo-documenti-uat
```
2. **Crea un ambiente virtuale (opzionale ma consigliato):**
```bash
python -m venv .venv
source .venv/bin/activate # Su Windows: .venv\Scripts\activate
```
3. **Installa le dipendenze:**
```bash
pip install -r requirements.txt
```
## ⚙️ Configurazione
1. Crea un file `.env` nella root del progetto copiando l'esempio fornito:
```bash
cp .env.example .env
```
2. Apri il file `.env` e inserisci la tua API Key di Google:
```env
GOOGLE_API_KEY=la_tua_chiave_api_qui
```
*(Nota: `OPENAI_API_KEY` è necessaria solo se si intende utilizzare lo script `process_files_openai.py`)*
## ▶️ Utilizzo
1. **Prepara i file di input:**
Inserisci i file `.docx` che desideri elaborare nella cartella `input/`.
2. **Esegui lo script:**
```bash
python process_files_gemini.py
```
3. **Controlla l'output:**
* I risultati parziali (chunk Markdown e CSV) verranno salvati in `output/<nome_file>/`.
* Il file **CSV finale aggregato** sarà disponibile direttamente nella cartella `output/` con il nome del documento originale (es. `output/MioDocumento.csv`).
## 📂 Struttura del Progetto
* `input/`: Cartella dove posizionare i file `.docx` da elaborare.
* `output/`: Cartella di destinazione per i file elaborati.
* `process_files_gemini.py`: Script principale che utilizza Google Gemini.
* `process_files_openai.py`: Script alternativo per l'utilizzo di OpenAI (GPT).
* `requirements.txt`: Elenco delle dipendenze Python.
* `.env`: File di configurazione per le variabili d'ambiente (API Keys).
## 📝 Note
* Lo script è configurato per cercare colonne specifiche: `ID`, `Descrizione`, `Risultato Atteso`, `Risultato Ottenuto`, `Stato`.
* Il modello AI è istruito per agire come un esperto QA e non alterare il testo originale estratto.