100 lines
3.1 KiB
YAML
100 lines
3.1 KiB
YAML
nextcloud:
|
|
# Vollständige WebDAV-URL des Benutzers, ohne abschließenden Slash:
|
|
# https://cloud.example/remote.php/dav/files/USERNAME
|
|
webdav_url: "https://cloud.example/remote.php/dav/files/USERNAME"
|
|
username: "USERNAME"
|
|
password_env: "NEXTCLOUD_PASSWORD"
|
|
input_folder: "/Scanner/Eingang"
|
|
output_folder: "/Scanner/Eingang/umbenannt"
|
|
review_folder: "/Scanner/Eingang/manuell-pruefen"
|
|
archive_folder: "/Scanner/Eingang/verarbeitet-originale"
|
|
archive_originals: true
|
|
verify_tls: true
|
|
# Verhindert standardmäßig, dass interne Dokumentdaten über Umgebungs-Proxys laufen.
|
|
trust_env: false
|
|
timeout_seconds: 60
|
|
|
|
ollama:
|
|
enabled: true
|
|
base_url: "http://ollama.intern:11434"
|
|
# Schnelles Primärmodell; das größere Modell wird nur bei Unsicherheit verwendet.
|
|
model: "qwen3.5:4B"
|
|
fallback_model: "qwen3.5:9b"
|
|
think: false
|
|
keep_alive: "10m"
|
|
context_tokens: 8192
|
|
max_output_tokens: 700
|
|
timeout_seconds: 180
|
|
trust_env: false
|
|
# Der Text bleibt lokal. Es wird keine Cloud-API verwendet.
|
|
max_text_characters: 16000
|
|
|
|
processing:
|
|
# Erst nach erfolgreichem Test auf false setzen.
|
|
dry_run: true
|
|
confidence_threshold: 0.85
|
|
max_pdf_pages: 30
|
|
state_directory: "./state"
|
|
work_directory: "./work"
|
|
excel_filename: "protokoll.xlsx"
|
|
# Nur aktivieren, wenn Immobilien mit ihren Markern vollständig gepflegt sind.
|
|
assume_unmatched_invoices_private: true
|
|
assume_unmatched_correspondence_private: true
|
|
unmatched_private_confidence: 0.86
|
|
# Einzige beabsichtigte Nextcloud-Schreiboperation im Dry-Run.
|
|
upload_excel_in_dry_run: true
|
|
filename_max_length: 180
|
|
|
|
# Kanonischer Firmenname und mögliche Schreibweisen im OCR-Text.
|
|
companies:
|
|
- name: "Stadtwerke-Musterstadt"
|
|
aliases:
|
|
- "Stadtwerke Musterstadt GmbH"
|
|
- "Stadtwerke Musterstadt"
|
|
default_scope: "unknown"
|
|
default_property_id: null
|
|
require_property_match: false
|
|
|
|
- name: "Hausverwaltung-Muster"
|
|
aliases:
|
|
- "Hausverwaltung Muster GmbH"
|
|
default_scope: "property"
|
|
default_property_id: null
|
|
require_property_match: true
|
|
|
|
- name: "Private-Krankenversicherung"
|
|
aliases:
|
|
- "Beispiel Krankenversicherung AG"
|
|
default_scope: "private"
|
|
default_property_id: null
|
|
require_property_match: false
|
|
|
|
# Je mehr eindeutige Merkmale gepflegt sind, desto weniger KI ist nötig.
|
|
properties:
|
|
- id: "WH1"
|
|
name: "Wohnhaus Musterstraße"
|
|
markers:
|
|
- "Musterstraße 12"
|
|
- "47110815"
|
|
- "DE000123456"
|
|
|
|
# Wiederkehrende Themen umgehen das LLM, wenn Datum und Firma ebenfalls erkannt werden.
|
|
topics:
|
|
- name: "Eigentuemerversammlung"
|
|
markers:
|
|
- "Eigentümerversammlung"
|
|
- "Einladung zur Eigentümerversammlung"
|
|
- name: "Versicherungsvertrag"
|
|
markers:
|
|
- "Versicherungsschein"
|
|
- "Beitragsanpassung"
|
|
|
|
# Die normale Empfängeradresse ist nur eine Voraussetzung für den Privat-Fallback.
|
|
recipient_markers:
|
|
- "Eigene Privatstraße 1"
|
|
|
|
# Ausschließlich private Kennzeichen; hier NICHT die normale Empfängeradresse eintragen.
|
|
private_markers:
|
|
- "Private Kundennummer 123456"
|
|
- "Private Versicherungsnummer ABC123"
|