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 |
|---|---|---|
| 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) |
| 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
extractorModelträ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:
- JWT (bei aktiver Karli-Studio-Session) — gesendet als
Authorization: Bearer <token>. KARLI_API_KEY(aus Komponentenattribut, Provider-Variablen oder der UmgebungsvariableKARLI_API_KEY) — gesendet alsX-API-Key: <key>.- Fehler — sind weder JWT noch Key verfügbar, wird ein
ValueErrorausgelöst mit dem Hinweis,KARLI_API_KEYzu 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.