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:

    git clone <url-repository>
    cd leo-documenti-uat
    
  2. Crea un ambiente virtuale (opzionale ma consigliato):

    python -m venv .venv
    source .venv/bin/activate  # Su Windows: .venv\Scripts\activate
    
  3. Installa le dipendenze:

    pip install -r requirements.txt
    

⚙️ Configurazione

  1. Crea un file .env nella root del progetto copiando l'esempio fornito:

    cp .env.example .env
    
  2. Apri il file .env e 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 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:

    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.
Description
No description provided
Readme 40 KiB
Languages
Python 100%