77 lines
3.0 KiB
Markdown
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.
|