# 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 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//`. * 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.