Dokumentenreiniger für RAG

Ein Dokumentenreiniger bereitet ein PDF für Retrieval-Augmented Generation (RAG) vor: Er extrahiert den Text, findet die auf jeder Seite wiederholten Kopfzeilen, Fußzeilen und Seitenzahlen, markiert doppelte Absätze und lässt Sie diese entfernen, bevor der Text in Chunks geteilt und eingebettet wird. Legen Sie unten ein PDF ab, und die Reinigung geschieht vollständig in Ihrem Browser — die Datei verlässt Ihr Gerät nie und nichts wird hochgeladen. Lesen Sie Dokumente vor RAG reinigen, warum Beiwerk Einbettungen vergiftet, prüfen Sie die Struktur mit dem PDF-Barrierefreiheits-Checker, oder untersuchen Sie eine Datei zuerst mit Dokumentenforensik.

Zuletzt aktualisiert:

Oder legen Sie die Datei irgendwo in diesem Feld ab. Die Datei wird auf diesem Gerät gelesen und nie hochgeladen. Limit: 20 MB.

Was der Reiniger entfernt und warum es zählt

Jedes lange PDF trägt Beiwerk: die Kopfzeile mit dem Berichtstitel, die Fußzeile mit einem Vertraulichkeitshinweis, die Seitenzahl, die in der Ecke hochzählt. Für einen menschlichen Leser ist dieses Beiwerk Orientierung. Für ein Einbettungsmodell ist es Rauschen, das sich auf jeder einzelnen Seite in voller Stärke wiederholt, sodass dieselbe Kopfzeile dutzende Male gechunkt, eingebettet und gespeichert wird, die Vektoren verwässert, die den eigentlichen Inhalt beschreiben sollten, und in Abfrageergebnissen auftaucht, als wäre es Information. Dieser Reiniger behandelt Beiwerk als Erkennungsproblem mit einer einfachen, nachprüfbaren Regel: Eine kurze Zeile, die auf mindestens sechzig Prozent der Seiten (und auf mindestens zwei) erscheint, wird als Entfernungskandidat aufgelistet, und Sie entscheiden, ob sie geht. Nichts wird still entfernt — jeder Kandidat wird mit seinem Text, seinen Seiten und seiner Anzahl gezeigt, bevor Sie ihn an- oder abhaken.

Seitenzahlen erhalten ihren eigenen Kandidaten, weil sie sich nie wörtlich wiederholen: Seite eins sagt 1, Seite zwei sagt 2, sodass eine Wiederholungsregel sie nie fangen würde, und doch lehrt ein Chunk, der mit einer einsamen Zahl oder einer Zeile wie „Seite 7 von 40“ endet, die Einbettung nichts und kann ein Modell verwirren, das sie als Tatsache zurückzitiert. Der Reiniger erkennt die üblichen Muster — eine einsame Zahl, die der Seite entspricht, auf der sie steht, und die Formen „N von M“ und „N / M“ — und gruppiert jeden Treffer in einen einzigen Kandidaten. Doppelte Absätze sind die dritte Klasse: der wiederholte Haftungsausschluss, die doppelte Zusammenfassung oder der kopierte Abschnitt, der zweimal in einem Dokument erscheint. Duplikate werden nie standardmäßig angehakt, weil ein wiederholter Absatz manchmal Absicht ist — eine Warnung, die in zwei Kapiteln stehen muss, zum Beispiel —, sodass der Reiniger sie markiert und die Entscheidung Ihnen überlässt und beim Entfernen das erste Vorkommen behält.

Wie die Extraktion funktioniert und wo sie ungefähr ist

Die Extraktion ist ungefähr, und diese Seite wird das nicht anders behaupten. Der Reiniger dekodiert die Inhaltsströme des PDF lokal, liest die Textanzeige-Operationen und behandelt jede gezeigte Texteinheit als eine Zeile. Dieses Modell ist schnell und gut genug für Berichte, Handbücher und Aufsätze, die von gewöhnlichen Textverarbeitungen und Exportern erzeugt wurden, aber es hat ehrliche Grenzen: Mehrspaltige Layouts können in Speicherreihenfolge statt Lesereihenfolge herauskommen, Ligaturen und benutzerdefinierte Schriftkodierungen können einzelne Zeichen verstümmeln, und ein gescanntes PDF — dessen Seiten Fotografien sind, kein Text — liefert überhaupt keine Zeilen. Wenn das geschieht, sagt das Werkzeug es klar, statt Ergebnisse zu erfinden: Ein Ergebnis mit null Zeilen bedeutet, dass das Dokument zuerst OCR braucht, bevor irgendein Reiniger helfen kann. Auch die Beiwerk-Erkennung in dieser ersten Version ist positionsunabhängig: Eine kurze Zeile wird danach beurteilt, auf wie vielen Seiten sie sich wiederholt, nicht danach, wo sie auf der Seite steht, sodass eine wirklich wiederholte kurze Überschrift im Fließtext aufgelistet werden könnte — genau deshalb gehört jeder Kandidat Ihnen zum Abhaken.

Die Ausgabe ist für den nächsten Schritt einer RAG-Pipeline gebaut. Der Download des bereinigten Texts verbindet die überlebenden Zeilen Seite für Seite mit einer Leerzeile zwischen den Seiten, sodass Sie ihn lesen, vergleichen oder Ihrem eigenen Splitter geben können. Der JSONL-Download geht einen Schritt weiter: Er packt den bereinigten Text in Chunks von ungefähr achthundert Zeichen, teilt an Absatzgrenzen statt mitten im Satz, wo immer er kann, und schreibt ein JSON-Objekt pro Zeile in der Form {"text": "..."} — die Form, die die meisten Einbettungsskripte und Vektorspeicher-Lader direkt akzeptieren. Die Chunk-Größe ist ein Kompromiss, kein Gesetz: Achthundert Zeichen sind klein genug, dass ein Chunk in der Regel eine Idee abdeckt, und groß genug, dass die Idee ihren Kontext behält. Der Begleitartikel erklärt Größe, Überlappung und Grenzen ausführlicher.

Datenschutz und Umfang sind bewusst eng gehalten. Die Datei wird auf dieser Seite auf Ihrem Gerät analysiert; ihre Analyse macht keine Netzwerkanfrage, sodass interne Berichte, Vertragsentwürfe und persönliche Dokumente bleiben, wo sie sind. Version eins akzeptiert nur PDF, weil dort das Beiwerk-Problem am schlimmsten ist und ein browserlokaler Parser den Text noch zuverlässig zurückgewinnen kann; Textverarbeitungs- und HTML-Quellen reinigt man besser in den Werkzeugen, die sie erzeugt haben, oder konvertiert sie zuerst in PDF. Der Reiniger beurteilt auch keine Qualität: Er wird den Text, den er behält, nicht zusammenfassen, umschreiben oder korrigieren, und er entscheidet nicht, ob ein Dokument überhaupt eine Einbettung verdient. Er macht eine mechanische Arbeit — weg mit dem, was sich wiederholt, her mit dem, was einzigartig ist, und Ihnen die Chunks übergeben — und zeigt seine Arbeit bei jedem Schritt, sodass die Ermessensentscheidungen bei der Person bleiben, die das Dokument kennt.

Die drei Kandidatenarten auf einen Blick

Wiederholtes BeiwerkEine kurze Zeile (bis 120 Zeichen), die auf mindestens 60% der Seiten und auf mindestens zwei Seiten wiederholt wird: Kopfzeilen, Fußzeilen, Haftungsausschlüsse und Wasserzeichen. Standardmäßig zur Entfernung angehakt.
SeitenzahlenZeilen, die „Seite N von M“, „N / M“ oder einer einsamen Zahl entsprechen, die der Seite entspricht, auf der sie steht, gruppiert in einen einzigen Kandidaten. Standardmäßig zur Entfernung angehakt.
Doppelte AbsätzeEin Block von mindestens 40 Zeichen, der mindestens zweimal irgendwo im Dokument erscheint. Nie standardmäßig angehakt; beim Entfernen bleibt das erste Vorkommen erhalten.
AusgabenBereinigter Klartext mit durch eine Leerzeile getrennten Seiten und JSONL-Chunks von ungefähr 800 Zeichen, geteilt an Absatzgrenzen, ein {"text": "..."}-Objekt pro Zeile.

Häufige Fragen

Wird mein PDF irgendwohin hochgeladen?

Nein. Die Datei wird auf dieser Seite, auf Ihrem Gerät, geöffnet, dekodiert und gereinigt, und nichts wird hochgeladen, übertragen oder gespeichert. Sobald die Seite geladen ist, funktioniert sie offline, was die richtige Form für interne Berichte und persönliche Dokumente ist.

Warum fand das Werkzeug keinen Text in meinem PDF?

Fast sicher, weil das PDF aus gescannten Bildern statt aus Text besteht: Jede Seite ist eine Fotografie, und es gibt keine Textoperationen zu extrahieren. Das Werkzeug meldet null Zeilen, statt zu raten. Führen Sie zuerst OCR über das Dokument aus, damit die Seiten eine echte Textschicht tragen, und reinigen Sie dann das Ergebnis.

Wird die Reinigung echte Überschriften versehentlich entfernen?

Sie kann eine kurze Zeile auflisten, die sich oft wiederholt, einschließlich einer wiederholten Abschnittsüberschrift, weil die Erkennung auf Wiederholung und nicht auf Position beruht. Deshalb wird nichts entfernt, bis Sie es bestätigen: Jeder Kandidat zeigt seinen Text, seine Seiten und seine Anzahl, und das Abhaken behält jedes Vorkommen.

Warum werden doppelte Absätze nicht standardmäßig entfernt?

Weil Wiederholung manchmal der Sinn ist: Eine Sicherheitswarnung, ein rechtlicher Hinweis oder eine Zusammenfassung kann absichtlich wiederholt werden. Duplikate werden mit ihren Fundstellen markiert, damit Sie urteilen können; wenn Sie eines anhaken, behält der Reiniger das erste Vorkommen und entfernt die späteren Kopien.

Welche Chunk-Größe verwendet der JSONL-Export?

Ungefähr 800 Zeichen pro Chunk, gepackt an Absatzgrenzen, sodass ein Chunk selten mitten im Satz endet. Das ist ein vernünftiger Standard für Einbettungen, kein universelles Optimum — der Begleitartikel behandelt, wie Sie Größe und Überlappung für Ihren eigenen Korpus und Retriever wählen.