Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Strukturierte Dokumente teilen

Nach dieser Lektion: Ich kann ein strukturiertes Dokument so teilen, dass jedes Stück seine Überschrift, seinen Tabellenkopf und seine Quelle behält.

Lektion, 60 Min.6 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Eine Zeile ohne Kopfzeile

Stückqualität heißt, dass ein Stück eines Dokuments für sich auffindbar und verständlich bleibt. Das ist wichtig, weil die Suche Stücke liefert und ein Stück ohne Überschrift oder Tabellenkopf nichts sagt.

Eine Gebührentabelle wird Zeile für Zeile zerschnitten. Die Zeile „groß, 5 Euro“ wird für „was kostet ein großes Paket“ geliefert. Sie sagt nicht, wofür die 5 Euro gelten.

Das Ziel dieser Lektion

Notiz

Ich kann ein strukturiertes Dokument so teilen, dass jedes Stück seine Überschrift, seinen Tabellenkopf und seine Quelle behält.

Schlüsselwörter

BegriffWas er bedeutet
Stückein Teil eines Dokuments, der indexiert wird
Überschriftenpfaddie Titel über einem Stück, von oben nach unten
MetadatenAngaben neben einem Stück, etwa seine Quelle
Tabellenkopfdie erste Zeile, die jede Spalte benennt
Brotkrumenpfadein Überschriftenpfad in einer einzigen Zeile
Verwaistes Stückein Stück, das ohne seinen Zusammenhang nichts bedeutet

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Behalten Sie den Pfad bei jedem Stück

Beim Thema Retrieval-Augmented Generation wurde ein Dokument nach Größe und an Überschriften geteilt. Der nächste Schritt ist, die Überschriften zu behalten. Ein Stück unter „Rückgabe > Gebühren“ soll diesen Pfad tragen, als Brotkrumenpfad geschrieben: Handbuch des Ladens > Rückgabe > Gebühren.

Indexieren Sie den Pfad mit dem Text. Eine Suche nach „Rückgabe Gebühren“ findet das Stück dann, auch wenn der Text nie „Rückgabe“ sagt.

Eine Tabellenzeile braucht ihren Kopf

Eine Tabelle besteht aus Kopfzeile und Zeilen. Schneidet man sie zeilenweise, verliert jede Zeile den Kopf. Deshalb macht man aus jeder Zeile Wörter, die ihn tragen: „Artikel: groß, Gebühr: 5 Euro“.

Eine Liste folgt derselben Regel. Behalten Sie den einleitenden Satz bei jedem Eintrag, sonst schwebt der Eintrag allein.

Durchgerechnetes Beispiel: dieselbe Zeile vorher und nachher

FassungWas indexiert wird
Lose abgeschnitten| groß | 5 Euro |
Mit ihrem KopfArtikel: groß, Gebühr: 5 Euro
Auch mit dem PfadHandbuch des Ladens > Rückgabe > Gebühren: Artikel: groß, Gebühr: 5 Euro

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Metadaten und eine Größenprüfung

Behalten Sie Metadaten neben jedem Stück: seine Quelldatei, seine Überschrift und später Besitzer und Datum. Metadaten lassen eine Antwort zitieren, woher sie stammt, und Lektion 5 nutzt sie zum Filtern.

Prüfen Sie dann die Größe. Ein Abschnitt, der weit länger ist als die übrigen, enthält zwei Ideen und sollte erneut geteilt werden. Melden Sie die zu langen Überschriften.

Ein häufiger Fehler

Warnung

Viele glauben, alle 500 Zeichen zu schneiden genüge für jedes Dokument. Dieser Schnitt geht durch Tabellen und Überschriften und hinterlässt verwaiste Stücke. Schneiden Sie zuerst an der Struktur und nutzen Sie die Größe nur, um zu lange Reste weiter zu teilen.

Den Teiler schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const dok = [' '  \"# Handbuch des Ladens\",' '  \"## Öffnungszeiten\",' '  \"Der Laden öffnet werktags um neun Uhr.\",' '  \"## Rückgabe\",' '  \"### Frist\",' '  \"Senden Sie ein Paket binnen dreißig Tagen zurück.\",' '  \"### Gebühren\",' '  \"| Artikel | Gebühr |\",' '  \"| klein | 2 Euro |\",' '  \"| groß | 5 Euro |\",' '];' > teilen1.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Teiler schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function zellen(zeile) {' '  return zeile.split(\"|\").map(function (c) { return c.trim(); }).filter(function (c) { return c.length > 0; });' '}' >> teilen1.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Teiler schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function stuecke(zeilen, quelle) {' '  const pfad = [];' '  const aus = [];' '  let kopf = null;' '  zeilen.forEach(function (zeile) {' '    const m = zeile.match(/^(#+) (.*)/);' '    if (m) {' '      pfad.length = m[1].length - 1;' '      pfad.push(m[2]);' '      aus.push({ quelle: quelle, titel: pfad.join(\" > \"), zeilen: [] });' '      kopf = null;' '      return;' '    }' >> teilen1.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Teiler schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '    const jetzt = aus[aus.length - 1];' '    if (zeile.startsWith(\"|\") === false) { jetzt.zeilen.push(zeile); return; }' '    const c = zellen(zeile);' '    if (kopf === null) { kopf = c; return; }' '    jetzt.zeilen.push(kopf.map(function (h, i) { return h + \": \" + c[i]; }).join(\", \"));' '  });' '  return aus;' '}' >> teilen1.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Teiler schreiben, Teil 5

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'console.log(\"Eine lose Tabellenzeile:\", dok[9]);' 'stuecke(dok, \"handbuch.md\").filter(function (c) { return c.zeilen.length > 0; }).forEach(function (c) {' '  console.log(c.quelle + \" | \" + c.titel + \" | \" + c.zeilen.join(\" / \"));' '});' >> teilen1.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Starten und die Stücke lesen

Befehl
docker exec -w /home/node/project agent node teilen1.js

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Das ist ein Platzhalter

Der Run liest zehn Zeilen erfundenes Markdown. Ein echtes Dokument kann ein PDF, eine Webseite oder eine Tabellenkalkulation sein und braucht für jedes einen Parser. Die Idee bleibt gleich: die Struktur finden und dann behalten.

Der Run ruft kein Modell auf.

Was der Run ausgibt

StückBehaltener Text
Handbuch des Ladens > ÖffnungszeitenDer Laden öffnet werktags um neun Uhr.
Handbuch des Ladens > Rückgabe > FristSenden Sie ein Paket binnen dreißig Tagen zurück.
Handbuch des Ladens > Rückgabe > GebührenArtikel: klein, Gebühr: 2 Euro / Artikel: groß, Gebühr: 5 Euro

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.