Zum Inhalt

Datenextraktion

KARLI-gehostete Datenextraktions-Modelle verwandeln hochgeladene Dateien in strukturierten Text, den nachgelagerte Komponenten konsumieren können. Ausgewählt werden sie in der Read File-Komponente, wenn deren Extraction Backend auf karli steht.

KARLI ist derzeit der einzige Anbieter in dieser Modellkategorie.

Verfügbare Modelle

Modell Akzeptiert Hinweise
karli/default-data-extraction Beliebig KARLI-verwalteter Standard; wählt einen geeigneten Extraktor aus.
karli/data-extraction-moe-latest Beliebig Mixture-of-Experts-Router — wählt pro Dateityp (und pro Seite bei PDFs) den optimalen Extraktor. Siehe Details unten.
docling-project/docling Dokumente Docling, serverseitig bei KARLI ausgeführt.
datalab-to/marker Dokumente Marker.
opendatalab/MinerU Dokumente MinerU.
karli/multimodal-data-extraction Dokumente Multimodale Hybrid-Pipeline.
openai/whisper-large-v3 Audio Audio-Transkription via Whisper.

Die Read-File-Komponente prüft die hochgeladene Datei vor dem Upload gegen den akzeptierten Typ des gewählten Modells — ein PDF an das Whisper-Modell zu schicken, liefert z. B. einen Fehler statt eines Uploads.

Mixture-of-Experts-Routing

Das Modell karli/data-extraction-moe-latest wählt automatisch den besten Extraktor je Dateityp:

Dateikategorie Endungen Extraktor
PDF pdf Seitenweiser Router (siehe unten)
Word-Dokumente doc, docx Docling
Präsentationen ppt, pptx Docling
Tabellen xls, xlsx, csv Default
HTML htm, html, xhtml MarkItDown
Bilder png, jpg, jpeg, gif, bmp, tiff, tif, webp Vision
Audio aac, mpeg, wav, webm, mp3, mp4 Audio (Whisper)
E-Mail eml, msg, pst Default
Klartext txt Default

Seitenweises PDF-Routing

Bei PDFs untersucht das MoE-Modell jede Seite einzeln, klassifiziert ihre Komplexität und leitet sie an den passendsten Extraktor weiter:

Seitenkategorie Extraktor Braucht Vision
Gescannte Seite Marker Ja
Handschrift Marker Ja
Bildlastig Marker Ja
Komplexes Layout Marker Nein
Fließtext MinerU Nein
Gemischter Inhalt Marker Nein

Das bedeutet, dass ein einzelnes PDF von mehreren Extraktoren verarbeitet werden kann — z. B. geht eine textlastige Seite durch MinerU, während eine gescannte Seite mit Vision-Unterstützung an Marker weitergeleitet wird.

Request-Aufbau

Beim Versand einer Datei sendet die Komponente einen Multipart-POST an {KARLI_BASE_URL}/data-extraction/extract:

  • Das Formularfeld extractorModel trägt das gewählte Modell (gemappt auf seinen KARLI-Identifier).
  • Der File-Part trägt das Dokument bzw. die Audiodatei.
  • Die Authentifizierung folgt der unten beschriebenen Priorität.

Die Antwort ist ein JSON-Objekt, dessen segments zu einer einzigen Text-Payload zusammengefügt werden; Segmente mit title erscheinen als ## <title>-Markdown-Überschriften.

Authentifizierung

Extraktions-Requests authentifizieren sich mit folgender Priorität:

  1. JWT (bei aktiver Karli-Studio-Session) — gesendet als Authorization: Bearer <token>.
  2. KARLI_API_KEY (aus Komponentenattribut, Provider-Variablen oder der Umgebungsvariable KARLI_API_KEY) — gesendet als X-API-Key: <key>.
  3. Fehler — sind weder JWT noch Key verfügbar, wird ein ValueError ausgelöst mit dem Hinweis, KARLI_API_KEY zu konfigurieren oder über Karli Studio zuzugreifen.

Externe API-Nutzer

Wer die Agentlab-API direkt aufruft und Flows mit einer FileComponent mit Dokumentextraktion nutzt, muss die Provider-Variable KARLI_API_KEY konfigurieren oder die Umgebungsvariable KARLI_API_KEY auf dem Server setzen. Details in der Model-Provider-Übersicht.

Unter Dokumentextraktion steht, wie die Read-File-Komponente diese Modelle praktisch einsetzt — inklusive der Data-Struktur am Ausgang.