Wissensbasis · Lieferanten · Gold-Beispiele

doku-morph Admin v0.4.3

Wie doku-morph funktioniert

Überblick

doku-morph nimmt PDF/Bilder entgegen, OCR’t sie (Docling ± LightOn) und lässt eine IONOS-LLM den Text in strukturiertes JSON überführen. Drei Endpunkte:

  • POST /api/v1/morph/prescription – Kassenrezept
  • POST /api/v1/morph/order – B2B-Bestellung → ERP SalesOrderRequest
  • POST /api/v1/morph/delivery-note – Lieferschein → ERP3 Einkauf

Authentifizierung: Header X-API-Key (Service-API_KEY oder lokal eingetragener Token in der Testumgebung).

UI-Bereiche

  • Testumgebung (/) – Datei hochladen, Endpunkt wählen, PDF und JSON vergleichen. Button „Vergleich Vollbild“ teilt den Bildschirm 50/50.
  • Lieferanten (/admin) – Wissensbasis: Erkennung (VAT/Keywords), dauerhafte Hints, Gold-Beispiele.
  • Gold-Beispiel (/admin/draft) – PDF → OCR+LLM-Entwurf → manuell korrigieren → als Few-Shot speichern.
  • System-Prompts (/admin/prompts) – globale System-Prompts je Endpunkt editieren.
  • API-Doku (/docs) – interaktives OpenAPI (Swagger).
  • ReDoc (/redoc) – alternative OpenAPI-Ansicht (lokal gebündelt).

Lieferanten-Felder

Slug
Dateiname und URL-Schlüssel der Wissensbasis. Wird beim Anlegen automatisch aus dem Anzeigenamen erzeugt (Umlaute → ae/oe/ue, Leerzeichen → Bindestrich). Beispiel marien-hospital-buer.
Header-Schlüsselwörter
Fallback-Erkennung per Teilstring im OCR-Text, wenn keine USt-Id greift. Typisch: Firmenname aus dem Briefkopf.
Hinweise
Dauerhafte Prompt-Ergänzungen für diesen Lieferanten. Eine Zeile = ein Hint. Können Felder erzwingen (z. B. name1/name2) oder Extra-Felder verlangen.
Gold-Beispiele
Manuell korrigierte Paare OCR-Markdown → JSON, die als klassische Chat-Few-Shots (user/assistant) vor dem aktuellen Dokument in den LLM-Prompt injiziert werden. Pro Request höchstens MAX_FEWSHOT_INJECTED (aktuell 3), neueste zuerst, mit Zeichenbudget. Beim Draft-Upload werden Gold-Beispiele bewusst nicht injiziert (keine Zirkularität). Lieferschein filtert order-förmige Beispiele heraus (nur JSON mit items/documentType).

Hints / Tipps an die LLM

Zwei Quellen werden zum System-Prompt addiert:

  1. Lieferanten-Hints aus der Wissensbasis
  2. Request-Hints (hints[] im API-Body, Playground/Gold-Upload)

Request-Hints haben Vorrang und dürfen Schema-Extras verlangen, z. B.: füge zur Antwort Feld "Test" mit dem Wert "test" hinzu.

Gold-Beispiel-Workflow

  1. Lieferant wählen, PDF hochladen, optional LLM-Hints eintragen.
  2. Warten (Spinner/Timer) bis OCR+LLM fertig sind — Button nicht erneut klicken.
  3. PDF und JSON nebeneinander prüfen (Vollbild-Button), JSON korrigieren, speichern.

Playground: Prompt-Injektion

Nach einem Morph an Bestellung oder Lieferschein enthält die JSON-Antwort das Feld promptTrace. Die Testumgebung zeigt zusätzlich eine eigene Karte „Was wurde injiziert?“ mit:

  • Welcher Lieferant erkannt wurde (Slug / Name / via Request oder OCR)
  • Ob Lieferanten-Hints und ad-hoc Request-Hints angehängt wurden
  • Ob und welche Gold-Beispiele als Few-Shot verwendet wurden
  • Den exakten systemPromptAddendum-Text

Rezepte nutzen die Wissensbasis nicht — dort bleibt die Karte leer.

Technische Endpunkte

  • GET /healthz – Liveness
  • GET /readyz – Readiness (OCR-Warmup)
  • GET /openapi.json – OpenAPI-Schema
  • GET /guide – diese Seite

Ausführliche Request-/Response-Schemas: Swagger bzw. ReDoc.