From eb7aa736539e9b35a388771dafe8cfff7a2295c2 Mon Sep 17 00:00:00 2001 From: dfuhrmann3 Date: Tue, 7 Jul 2026 11:09:47 +0200 Subject: [PATCH] Update --- README.md | 90 ++++++++++++++++++++++++------------------------------- 1 file changed, 39 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 1b30bef..bb2359e 100644 --- a/README.md +++ b/README.md @@ -2,76 +2,64 @@ ## Description -Dieses Tool konvertiert Rechnungen im PDF-Format vollautomatisch in das offizielle XRechnung-XML-Format (UBL-Standard, Version 3.0). Das Tool verarbeitet sensible Finanzdaten vollständig lokal. +Dieses Tool konvertiert Rechnungen im PDF-Format über eine Weboberfläche in die offiziellen E-Rechnungsformate XRechnung (UBL 3.0) und ZUGFeRD 2.4 (hybride PDF mit eingebettetem CII-XML). Die Datenextraktion erfolgt über ein LLM, das intern im Firmennetzwerk läuft – sensible Finanzdaten verlassen das lokale Netzwerk nicht. -## Anleitung für die app.py (Client Lokal) -## Supported Model +## Zugriff -Das System ist auf das folgende Modell optimiert, welches sich im Verzeichnis `models/` befinden muss: +Die Anwendung läuft als Docker-Container und ist im lokalen Firmennetzwerk erreichbar unter: -* **Modell:** Qwen3.5-4B-Instruct -* **Format:** GGUF -* **Quantisierung:** Q8_0 +http://erechnung -https://huggingface.co/unsloth/Qwen3.5-4B-GGUF/blob/main/Qwen3.5-4B-Q8_0.gguf +## Aufbau -## Installation (Windows) +Das System besteht aus zwei Komponenten: -### 1. Verzeichnisstruktur vorbereiten +- **Web-Oberfläche** (`main.py`, Streamlit): PDF-Upload, Datenvalidierung, Export +- **vLLM-Backend**: separat betriebener Inferenz-Server (Standard: `gemma431b`), der die strukturierten Metadaten aus dem Rechnungstext extrahiert -Laden sie die requirements.txt und app.py herunter und plazieren Sie die in das Projektverzeichniss. +## Installation (Docker) -- models -- requirements.txt -- app.py - -### 2. Virtuelle Umgebung (venv) erstellen und aktivieren -```cmd -python -m venv venv -.\venv\Scripts\activate.bat -``` - -### 3. Modell platzieren -Laden Sie die Modelldatei `Qwen3.5-4B-Instruct-Q8_0.gguf` herunter und platzieren Sie diese im Ordner `models/`. - -### 4. Abhängigkeiten installieren - -**Option A: CPU-Modus** -```cmd -pip install -r requirements.txt --force-reinstall --no-cache-dir -``` - -**Option B: Mit GPU-Beschleunigung (Nvidia CUDA)** -Falls Sie die GPU-Beschleunigung nutzen möchten, müssen vorab folgende Komponenten auf dem System installiert sein: -* **Nvidia CUDA Toolkit** -* **Visual Studio Build Tools** +### 1. Repository holen ```cmd -set GGML_CUDA=1 -pip install -r requirements.txt --force-reinstall --no-cache-dir +git clone https://gitea.scitech-gmbh.de:8443/dfuhrmann/E-Rechnung.git +cd E-Rechnung ``` + +### 2. Umgebungsvariablen prüfen + +In `docker-compose.yml` sind das vLLM-Backend und Modell hinterlegt: + +```yaml +environment: + - VLLM_URL=http://10.192.0.140:8002 + - LLM_MODEL=gemma431b +``` + +Bei Bedarf hier anpassen (z.B. anderes Modell oder Backend-Host). + +### 3. Container bauen und starten + +```cmd +docker compose up -d --build +``` + +Die Anwendung ist danach unter `http://localhost:8040` (bzw. im Firmennetz unter `http://erechnung`) erreichbar. + --- ## Use -Starten Sie die Applikation aus Ihrer aktivierten virtuellen Umgebung heraus: - -**Windows:** -```cmd -streamlit run app.py -``` - Der Konversionsprozess gliedert sich in folgende Schritte: -1. **Dokumenten-Upload:** Laden Sie die Rechnungs-PDF über die Weboberfläche hoch. -2. **Extraktion:** Starten Sie die hybride Analyse über den dafür vorgesehenen Button. -3. **Validierung:** Prüfen Sie die extrahierten Kopfdaten und die Positionstabelle in der Benutzeroberfläche. Da alle Felder editierbar sind, können Korrekturen direkt vorgenommen werden. -4. **Export:** Generieren Sie die finale XML-Datei über die Export-Funktion und starten Sie den Download. +1. **Dokumenten-Upload:** Laden Sie die Rechnungs-PDF über die Weboberfläche hoch. Die PDF wird direkt zur Kontrolle angezeigt. +2. **Extraktion:** Starten Sie die Analyse über den Button "Daten extrahieren". +3. **Validierung:** Prüfen Sie die extrahierten Kopfdaten und die Positionstabelle in der Benutzeroberfläche. Da alle Felder editierbar sind, können Korrekturen direkt vorgenommen werden. Pflichtfelder sind mit :red[*] markiert; der Export wird blockiert, solange Pflichtangaben fehlen. +4. **Export:** Wählen Sie das gewünschte Format (XRechnung-XML oder ZUGFeRD-PDF) und starten Sie den Download. ## Notes ### Human-in-the-Loop -Das Tool dient als Automations-Assistent. Vor dem finalen XML-Export ist eine visuelle Endkontrolle der extrahierten Daten (insbesondere Rechnungsnummer und Empfängeradresse) durch den Sachbearbeiter zwingend erforderlich, um KI-Fehlinterpretationen auszuschließen. +Das Tool dient als Automations-Assistent. Vor dem finalen Export ist eine visuelle Endkontrolle der extrahierten Daten (insbesondere Rechnungsnummer und Empfängeradresse) durch den Sachbearbeiter zwingend erforderlich, um KI-Fehlinterpretationen auszuschließen. ### GoBD-Konformität -Das Tool generiert ausschließlich das strukturierte XML-Format. Für die Einhaltung der GoBD-Richtlinien (u. a. die revisionssichere Archivierung der Original-PDF sowie der generierten XML-Datei über den gesetzlichen Zeitraum von 10 Jahren) ist der Betreiber der Software selbst verantwortlich. - \ No newline at end of file +Das Tool generiert ausschließlich das strukturierte XML- bzw. hybride PDF-Format. Für die Einhaltung der GoBD-Richtlinien (u. a. die revisionssichere Archivierung der Original-PDF sowie der generierten E-Rechnung über den gesetzlichen Zeitraum von 10 Jahren) ist der Betreiber der Software selbst verantwortlich.