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
-
Clona il repository:
git clone <url-repository> cd leo-documenti-uat -
Crea un ambiente virtuale (opzionale ma consigliato):
python -m venv .venv source .venv/bin/activate # Su Windows: .venv\Scripts\activate -
Installa le dipendenze:
pip install -r requirements.txt
⚙️ Configurazione
-
Crea un file
.envnella root del progetto copiando l'esempio fornito:cp .env.example .env -
Apri il file
.enve inserisci la tua API Key di Google:GOOGLE_API_KEY=la_tua_chiave_api_qui(Nota:
OPENAI_API_KEYè necessaria solo se si intende utilizzare lo scriptprocess_files_openai.py)
▶️ Utilizzo
-
Prepara i file di input: Inserisci i file
.docxche desideri elaborare nella cartellainput/. -
Esegui lo script:
python process_files_gemini.py -
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).
- I risultati parziali (chunk Markdown e CSV) verranno salvati in
📂 Struttura del Progetto
input/: Cartella dove posizionare i file.docxda 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.