Update
This commit is contained in:
parent
a0d80c5d08
commit
eb7aa73653
90
README.md
90
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.
|
||||
|
||||
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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue