Technische Dokumentation · 11 Min. Lesezeit
OCR-Pipeline
Wie Intric aus einem hochgeladenen Dokument einen durchsuchbaren Index macht: layoutgetreue Extraktion, OCR, Bildbeschreibung, Zusammenfassung, Chunking und die Retrieval-Tools, die darauf aufbauen.
Hängst du eine Datei an einen Assistenten an, zieht Intric nicht einfach den Text heraus und zerschneidet ihn in Stücke. Intric arbeitet das Dokument in mehreren Stufen durch. Stellt dann jemand eine Frage, weiß der Assistent bereits, worum es in der Datei geht, findet Passagen über den genauen Wortlaut oder über ihre Bedeutung und kann sich Seite für Seite durch das Dokument bewegen. Dieser Artikel beschreibt die einzelnen Stufen auf technischer Ebene. Was das für deine Arbeit mit einem Assistenten bedeutet, erfährst du unter Wie Intric deine Dokumente durchsucht.
Warum keine einfache Pipeline
Abschnitt betitelt „Warum keine einfache Pipeline“Viele Retrieval-Systeme folgen demselben Muster: Sie extrahieren den Rohtext, zerschneiden ihn in Stücke fester Länge, wandeln jedes Stück in einen Vektor um und fügen die ähnlichsten paar Stücke in den Prompt ein. Für kurze Fragen zu kurzen Dokumenten reicht das. Bei dem Material, mit dem Organisationen tatsächlich arbeiten, stößt dieses Verfahren an seine Grenzen:
- Eine gescannte Seite enthält keinen Text, den ein solches System extrahieren könnte. Sie trägt deshalb unbemerkt nichts bei.
- Diagramme, Flussdiagramme und Infografiken fallen weg, selbst wenn genau dort die Antwort steht.
- Eine in der Mitte zerschnittene Tabelle verliert die Verbindung zwischen Kopfzeile und Zeilen.
- Eine Frage zu einem ganzen Kapitel liefert nur eine Handvoll zusammenhangloser Fragmente.
- Sind Dutzende Dateien angehängt, läuft jede Suche über alles, und schwache Treffer aus irrelevanten Dateien verdrängen die richtige.
Jede der folgenden Stufen löst eines dieser Probleme.
Die Pipeline im Überblick
Abschnitt betitelt „Die Pipeline im Überblick“Intric beginnt mit der Verarbeitung, sobald eine Datei angehängt ist, und arbeitet sie im Hintergrund in mehreren voneinander abhängigen Jobs ab:
- Extraktion – Intric liest das Dokument Seite für Seite. Seiten, bei denen es nötig ist, laufen durch die OCR; Abbildungen gehen an ein Vision-Modell.
- Zusammenfassung – Intric schreibt eine kurze Zusammenfassung der gesamten Datei.
- Chunking und Indexierung – Intric teilt den Text in kleine Passagen, versieht jede mit ihrer Position im Dokument und indexiert sie für die Stichwortsuche und die semantische Suche.
Zusammenfassung und Indexierung starten beide, sobald die Extraktion abgeschlossen ist, und laufen gleichzeitig. Große PDFs teilt Intric in Abschnitte auf, extrahiert sie parallel und setzt sie danach in der richtigen Reihenfolge wieder zusammen.
Stufe 1: Extraktion
Abschnitt betitelt „Stufe 1: Extraktion“Entscheiden, welche Seiten OCR brauchen
Abschnitt betitelt „Entscheiden, welche Seiten OCR brauchen“OCR ist langsamer und ungenauer, als eine vorhandene Textebene auszulesen. Deshalb wendet Intric OCR nicht auf alles an. Intric prüft jede Seite einzeln und schickt sie nur dann in die OCR, wenn sich nicht darauf verlassen lässt, dass ihre Textebene vollständig ist. Das ist zum Beispiel der Fall, wenn:
- die Seite keine Textebene hat, wie bei einem gescannten Dokument
- der eingebettete Text verstümmelt ist oder nur einen Teil dessen abdeckt, was auf der Seite steht
- die Seite Bilder enthält, die groß genug für eigene Inhalte sind
- die Seite Anmerkungen oder eine Tabelle ohne sichtbare Rahmenlinien enthält
Seiten mit sauberer Textebene liest Intric direkt aus. Ein Dokument, das teils digital erstellt und teils gescannt ist, verarbeitet Intric deshalb Seite für Seite richtig, statt es pauschal als das eine oder das andere zu behandeln.
Die Struktur erhalten
Abschnitt betitelt „Die Struktur erhalten“Bei der Extraktion bleiben die Teile einer Seite erhalten, deren Bedeutung von ihrer Position abhängt:
- Tabellen erkennt Intric und baut sie als strukturierte Tabellen neu auf. So bleibt jeder Wert seiner Spaltenüberschrift zugeordnet.
- Formularfelder – angekreuzte Kontrollkästchen und ausgefüllte Textfelder – übernimmt Intric in den Text. Ein ausgefülltes Formular liest sich also auch als ausgefülltes.
- Seitengrenzen bleiben exakt erhalten. Genau das ermöglicht später Quellenangaben auf Seitenebene.
Abbildungen und Diagramme beschreiben
Abschnitt betitelt „Abbildungen und Diagramme beschreiben“Enthält eine Seite eine Abbildung – ein Schaubild, ein Diagramm, eine abfotografierte Tabelle, eine Infografik –, schneidet Intric diesen Bereich aus und übergibt ihn an ein Vision-Language-Modell. Das Modell beschreibt in Worten, was die Abbildung zeigt:
- Text im Bild gibt es wörtlich wieder.
- Bei Schaubildern beschreibt es die einzelnen Elemente und wie sie zusammenhängen.
- Tabellen in Bildern wandelt es in strukturierte Daten um.
- Bei Diagrammen beschreibt es Achsen und Datenpunkte.
- Fotos, Zeichnungen wie Grundrisse und Schriftproben beschreibt es nach dem, was darauf zu sehen ist, statt sie auf ihre Bildunterschrift zu reduzieren.
Intric fügt die Beschreibung an der Stelle der Abbildung in die Seite ein. Dadurch steht sie im richtigen Zusammenhang, und Intric indexiert sie wie jeden anderen Text. Steht die Antwort auf eine Frage nur in einem Flussdiagramm, kann der Assistent sie trotzdem beantworten und dabei auf genau diese Seite verweisen.
Die Beschreibung von Abbildungen ist optional. Ist in einer Installation kein Vision-Modell konfiguriert, funktioniert die Extraktion trotzdem, bleibt aber auf Text beschränkt.
Dateitypen
Abschnitt betitelt „Dateitypen“| Dateityp | So liest Intric ihn |
|---|---|
| Vollständige Pipeline wie oben beschrieben, einschließlich OCR und Beschreibung von Abbildungen | |
| Word, PowerPoint | Direkte Extraktion von Text und Struktur |
| Klartext, Markdown, HTML, RTF, JSON und ähnliche Formate | Einlesen als Text |
| Excel, CSV | Eigener Verarbeitungsweg, siehe Tabellenkalkulationen |
Stufe 2: Zusammenfassung
Abschnitt betitelt „Stufe 2: Zusammenfassung“Für jede Datei schreibt Intric eine kurze Zusammenfassung, ausgehend von einem repräsentativen Auszug ihres Inhalts.
Mit diesen Zusammenfassungen kann ein Assistent entscheiden, in welcher Datei er suchen soll, bevor er überhaupt sucht. Bei wenigen Dateien bekommt das Modell alle Zusammenfassungen von vornherein. Bei vielen Dateien kann das Modell die Dateiliste durchsehen und mit einer übergreifenden Suche über alle Dateien Kandidaten finden. In beiden Fällen grenzt das Modell die Auswahl zuerst ein, statt fünfzig Dokumente auf einmal zu durchsuchen und sich durch schwache Treffer aus allen zu arbeiten. Das verringert Fehltreffer und hält den Arbeitskontext klein.
Stufe 3: Chunking und Indexierung
Abschnitt betitelt „Stufe 3: Chunking und Indexierung“Wie Intric den Text aufteilt
Abschnitt betitelt „Wie Intric den Text aufteilt“Intric teilt den extrahierten Text in Chunks von bis zu etwa 300 Token. Intric schneidet an der natürlichsten Grenze, die sich anbietet: zuerst zwischen Absätzen, dann zwischen Zeilen, dann zwischen Sätzen und nur als letzter Ausweg zwischen Wörtern. In einem PDF reicht ein Chunk nie über eine Seitengrenze hinaus, und Tabellen oder andere extrahierte Elemente bleiben ganz, sofern sie hineinpassen.
Keine Überlappung, dafür eine explizite Position
Abschnitt betitelt „Keine Überlappung, dafür eine explizite Position“Viele Systeme wiederholen 10–20 % jedes Chunks am Anfang des nächsten. So bleibt ein Satz, der an einer Grenze zerschnitten wird, wenigstens in einem Stück vollständig erhalten. Dadurch wächst aber der Index, und im Prompt steht derselbe Text doppelt.
Die Chunks von Intric überlappen sich nicht. Stattdessen hält jeder Chunk fest, wo er steht:
- Seitenzahl – die Seite des Originaldokuments, aus der der Chunk stammt
- Chunk-Index – seine Position in der Abfolge aller Chunks des Dokuments
Weil die Position explizit vorliegt, kann der Assistent direkt „den nächsten Chunk“ oder „alles auf Seite 66“ anfordern. Den Zusammenhang holt er sich also, wenn er ihn braucht, statt ihn in jedem Chunk mitzubezahlen.
Indexierung
Abschnitt betitelt „Indexierung“Intric indexiert jeden Chunk zweimal: für die Stichwortsuche und als Vektor-Embedding für die semantische Suche. Das Embedding-Modell ist je Installation konfiguriert, und jeder Wissensindex ist an das Embedding-Modell gebunden, mit dem er erstellt wurde.
Tabellenkalkulationen
Abschnitt betitelt „Tabellenkalkulationen“Tabellenkalkulationen und CSV-Dateien zerlegt Intric bewusst nicht in Chunks und erstellt auch keine Embeddings dafür. Wer eine Tabelle in Textfragmente zerschneidet und diese als Vektoren vergleicht, zerstört gerade das, was sie zur Tabelle macht: Aus ein paar ähnlich aussehenden Zeilen lässt sich weder ein Durchschnitt noch eine gefilterte Anzahl berechnen.
Stattdessen bekommt der Assistent die Struktur jedes Tabellenblatts: die Spaltenüberschriften, einige Beispielzeilen und die Anzahl der Zeilen. Fragen beantwortet er, indem er Code schreibt und diesen in einer isolierten Sandbox auf die tatsächlichen Daten anwendet. Eine Frage wie „Wie viele Fälle wurden im März abgeschlossen?“ beantwortet er also durch Rechnen, nicht durch Raten anhand von Fragmenten. Auch Tabellenkalkulationen erhalten eine Zusammenfassung, damit der Assistent sie unter den anderen Dateien auswählen kann.
Retrieval: wie Intric den Index nutzt
Abschnitt betitelt „Retrieval: wie Intric den Index nutzt“Kommt eine Frage, führt der Assistent nicht eine einzige, festgelegte Suche aus. Er verfügt über mehrere Retrieval-Tools und entscheidet anhand der Frage, welche er einsetzt und in welcher Reihenfolge.
| Tool | Was es macht |
|---|---|
| Hybride Suche | Durchsucht eine Datei gleichzeitig nach Stichwörtern und nach Bedeutung. Das Modell legt für jede Suche die Gewichtung fest, von reiner Stichwortsuche bis zu rein semantischem Abgleich. |
| Navigierendes Lesen | Ruft Chunks über ihre genaue Seitenzahl oder ihren Chunk-Index ab. So kann das Modell von einer gefundenen Stelle aus vorwärts oder rückwärts lesen. |
| Vollständiges Lesen | Liest eine Datei komplett, für Aufgaben, die das ganze Dokument brauchen. |
| Übergreifende Suche | Durchsucht alle Dateien eines Assistenten, um die relevanten zu finden. |
Stichwörter gegen Bedeutung gewichten
Abschnitt betitelt „Stichwörter gegen Bedeutung gewichten“Die hybride Suche nimmt eine Gewichtung zwischen 0 und 1 entgegen. Bei 0 ist sie reine Stichwortsuche (BM25), bei 1 reine semantische Ähnlichkeit, und jeder Wert dazwischen mischt beides. Das Modell wählt die Gewichtung für jede Suche selbst:
- Ein Aktenzeichen, ein Verweis auf einen Artikel oder ein Personenname verlangt eine niedrige Gewichtung, damit die exakte Zeichenfolge gewinnt.
- Eine konzeptionelle Frage verlangt eine hohe Gewichtung, damit „gesundheitliche Folgen unregelmäßiger Arbeitszeiten“ zu einer Frage über Nachtschichten passt.
- Die meisten Fragen liegen irgendwo dazwischen.
Einem Dokument folgen
Abschnitt betitelt „Einem Dokument folgen“Mit navigierendem Lesen kann ein Assistent eine Anfrage wie „Fasse Kapitel 8 zusammen“ bewältigen:
- Eine hybride Suche nach „Kapitel 8“ findet auf Seite 65 den Chunk, mit dem das Kapitel beginnt.
- Das Modell liest die Seitenzahl aus der Position dieses Chunks ab.
- Es ruft die folgenden Seiten der Reihe nach ab – 66, 67, 68 –, bis es die Überschrift von Kapitel 9 erreicht.
- Es fasst das ganze Kapitel zusammen und verweist dabei auf die Seiten, die es gelesen hat.
Eine einzelne Suche hätte den ersten Absatz des Kapitels und ein paar verstreute Passagen geliefert. Erst das Weiterlesen erfasst alles dazwischen.
Die Grenze für vollständiges Lesen
Abschnitt betitelt „Die Grenze für vollständiges Lesen“Eine Datei komplett zu lesen, lohnt sich bei kurzen Dokumenten und bei Aufgaben wie dem Vergleich zweier Verträge. Eine sehr große Datei würde den Kontext aber überfluten. Bei indexierten Dateien ist vollständiges Lesen deshalb auf 60.000 Zeichen begrenzt. Ist eine Datei größer, lehnt das Tool ab und weist das Modell an, stattdessen die hybride Suche oder navigierendes Lesen zu verwenden. Das Modell muss die Suche also eingrenzen, statt alles zu lesen.
Warum nicht einfach ein großes Kontextfenster nutzen
Abschnitt betitelt „Warum nicht einfach ein großes Kontextfenster nutzen“Modelle mit sehr großen Kontextfenstern können grundsätzlich eine ganze Dokumentsammlung auf einmal aufnehmen. In der Praxis lässt ihre Aufmerksamkeit über Hunderttausende Token hinweg nach: Passagen in der Mitte übersieht das Modell, und Vorgaben vom Anfang vergisst es. Ruft Intric stattdessen wenig, aber hochrelevanten Text ab und erweitert ihn nur bei Bedarf gezielt, bleibt das Material, mit dem das Modell arbeitet, kurz und dicht. Zugleich lässt sich jedes Stück bis zu seinem Ursprung zurückverfolgen.
Quellenangaben
Abschnitt betitelt „Quellenangaben“Zu jedem Chunk, den der Assistent abruft, gehören Datei und Seitenzahl, und der Assistent muss die Quellen angeben, die er verwendet hat. In der Antwort erscheint jede Quellenangabe als nummerierter Verweis. Bei einem PDF öffnet der Verweis das Originaldokument in einem Viewer neben der Unterhaltung, direkt auf der zitierten Seite. Andere Dateitypen öffnen sich in einer Vorschau.
Quellenangaben verweisen auf die Seite, nicht auf eine markierte Passage, und sie verweisen in die Datei, die du hochgeladen hast. Deshalb bekommst du die nützlichsten Quellenangaben, wenn du das Originaldokument hochlädst und keine exportierte oder konvertierte Kopie.
Anhänge und Dateien in einer Unterhaltung
Abschnitt betitelt „Anhänge und Dateien in einer Unterhaltung“An einen Assistenten angehängte Dateien und Dateien, die du direkt in eine Unterhaltung hochlädst, nehmen unterschiedliche Wege.
| Am Assistenten angehängt | In einer Unterhaltung hochgeladen | |
|---|---|---|
| Extraktion | Vollständige Pipeline, einschließlich OCR | Vollständige Pipeline für PDFs, einschließlich OCR; andere Dateien: Einlesen als Text |
| Zusammengefasst und indexiert | Ja | Nein |
| Verwendung | Durchsuchbar mit den Retrieval-Tools | Das Modell erhält den extrahierten Text direkt |
| Verfügbar | Solange die Datei angehängt ist | Für diese Unterhaltung |
| Umfang | Große Bibliotheken, viele Dateien | Begrenzt durch das Kontextfenster des Modells |
| Am besten für | Handbücher, Richtliniensammlungen, Archive | Einmalige Prüfungen und Vergleiche |
Die Retrieval-Tools funktionieren nur mit angehängten Dateien. Eine in der Unterhaltung hochgeladene Datei liest das Modell vollständig, deshalb gilt für sie das Kontextfenster des verwendeten Modells. Mehr dazu unter Anhänge.
Verarbeitungsstatus
Abschnitt betitelt „Verarbeitungsstatus“Während Intric eine Datei verarbeitet, zeigt sie in den Wissenseinstellungen des Assistenten ihren Status an: erst Warten…, dann Analysieren… mit einem Fortschrittsbalken, schließlich Fertig. Der Status aktualisiert sich live, ohne dass du die Seite neu laden musst. Schlägt die Verarbeitung fehl, zeigt die Datei den Status Fehlgeschlagen und die Schaltfläche Erneut versuchen, die die Verarbeitung neu startet.
Die Pipeline wiederholt fehlgeschlagene Schritte selbstständig, bevor sie einen Fehler meldet, und versucht, beschädigte PDFs zu reparieren, bevor sie aufgibt. Eine Datei, deren Verarbeitung noch nicht abgeschlossen ist, sieht der Assistent bereits, allerdings nur als kurzen Auszug. Durchsuchen kann er sie erst, wenn die Indexierung fertig ist.
| Limit | Wert |
|---|---|
| An einen Assistenten angehängte Datei | 100 MB |
| Mit OCR verarbeitetes PDF | 3.000 Seiten |
| In einer Unterhaltung hochgeladene Datei | 25 MB |
| Dateien pro Frage in einer Unterhaltung | 20 |
Ein PDF über der Seitengrenze lehnt Intric schon beim Hochladen ab, mit einer Fehlermeldung, die Seitenzahl und Grenze nennt.
Wo die Verarbeitung stattfindet
Abschnitt betitelt „Wo die Verarbeitung stattfindet“Jede Stufe läuft innerhalb der Intric-Plattform oder auf einem Modell-Endpunkt, den die Installation festlegt:
- OCR und Layoutanalyse laufen innerhalb der Plattform selbst, ohne externen Dienst.
- Beschreibung von Abbildungen, Zusammenfassung und Embedding rufen jeweils einen Modell-Endpunkt auf, der pro Installation separat konfiguriert ist.
Bei einer On-Premises-Installation kann jeder dieser Endpunkte auf ein Modell in deiner eigenen Infrastruktur zeigen. Ein Dokument lässt sich dann vom Upload bis zum Index verarbeiten, ohne deine Umgebung zu verlassen. Die Pipeline setzt eine Job-Queue und einen Suchindex voraus, die zu aktuellen Installationen gehören. Eine ältere On-Premises-Installation, auf der beides noch nicht läuft, nutzt bis zu ihrem Upgrade die frühere Wissensverarbeitung. Wie Dokumentdaten im Cloud-Dienst zwischen Intric und dem Embedding-Modell fließen, erfährst du unter Datenflüsse für Wissen.