{"id":13056,"date":"2026-09-17T12:45:00","date_gmt":"2026-09-17T10:45:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=13056"},"modified":"2026-10-26T12:44:09","modified_gmt":"2026-10-26T11:44:09","slug":"tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/","title":{"rendered":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen"},"content":{"rendered":"<p>Ein Chunk ist ein Textabschnitt, der als Einheit f\u00fcr die Suche gespeichert wird. \u00dcberlappung bedeutet, dass benachbarte Chunks einen Teil desselben Quelltexts wiederholen. Die Chunk-Gr\u00f6\u00dfe beeinflusst, wie viel brauchbarer Belegtext und wie viel Nebeninformation beim Antwortmodell ankommen. Eine allgemein beste Gr\u00f6\u00dfe oder \u00dcberlappung gibt es nicht. Ein Vergleich braucht feste Quellen, gepr\u00fcfte Fragen und ein klar definiertes Erfolgskriterium.<\/p>\n<p>Dieses Tutorial bewertet gefundene Belege ohne anschlie\u00dfende Antworterzeugung. Einbettungsmodelle, Indexaufbau und Suche ben\u00f6tigen trotzdem Rechenleistung und k\u00f6nnen Kosten verursachen. Das Python-Beispiel l\u00e4uft lokal mit k\u00fcnstlichen Trefferlisten. Es ist eine Auswertung, keine vollst\u00e4ndige Einbettungspipeline.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-13054-chunking-20261024-de.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Vier Stufen der Retrieval-Auswertung\"><figcaption>Vier Stufen der Retrieval-Auswertung<\/figcaption><\/figure>\n<h2>Quellen festhalten und Belege markieren<\/h2>\n<p>Jede Frage erh\u00e4lt eine ID, ihren Wortlaut, eine eindeutige Dokumentversions-ID und eine gepr\u00fcfte Belegstelle. Der Bereich verwendet Python-Zeichenpositionen: einschlie\u00dflich Start, ausschlie\u00dflich Ende. Das gespeicherte Zitat muss exakt diesem Ausschnitt der festgehaltenen Quelle entsprechen. Byte-, UTF-16- und Tokenpositionen sind andere Koordinatensysteme.<\/p>\n<p>Die Positionen entstehen nach Textextraktion und Vereinheitlichung, aber vor dem Zerlegen. Jeder Chunk beh\u00e4lt Dokumentversions-ID und Quellbereich. Eine Suche nur nach dem Zitat k\u00f6nnte denselben Satz im falschen Dokument oder an der falschen Stelle akzeptieren. Weitere Textver\u00e4nderungen ben\u00f6tigen eine verl\u00e4ssliche R\u00fcckzuordnung zu diesen Positionen.<\/p>\n<p>K\u00fcnstlich erzeugte Fragen k\u00f6nnen einen ersten Testsatz erg\u00e4nzen. Auch die Erzeugung aus ganzen Dokumenten beseitigt die N\u00e4he zum Quellwortlaut nicht. Die Gegenlese pr\u00fcft Beantwortbarkeit, Beleg, Umformulierung und Aufgabenabdeckung. Echte Anfragen liefern zus\u00e4tzliche F\u00e4lle; Datenschutz und Qualit\u00e4t der Zuordnung bleiben relevant. Nicht beantwortbare Fragen oder Antworten aus mehreren Dokumenten brauchen eigene Regeln. Das folgende Beispiel behandelt je beantwortbarer Frage genau einen zusammenh\u00e4ngenden Belegbereich.<\/p>\n<h2>Die Kennzahl vor dem Vergleich festlegen<\/h2>\n<p><strong>Single-span hit@k<\/strong> bezeichnet hier den Anteil der Fragen, deren vollst\u00e4ndiger Beleg in mindestens einem der ersten k Chunks liegt. <strong>Union hit@k<\/strong> akzeptiert auch mehrere Treffer derselben Dokumentversion, sofern deren Bereiche den Beleg l\u00fcckenlos abdecken. Die zweite Kennzahl erkennt verteilte Belege, beweist aber keine richtige Rekonstruktion durch das Antwortmodell.<\/p>\n<p><strong>Single-span MRR@k<\/strong> mittelt den Kehrwert des Rangs des ersten Chunks mit vollst\u00e4ndigem Beleg. Ein Fehltreffer z\u00e4hlt als null. Ein vollst\u00e4ndiger Treffer auf Rang 1 tr\u00e4gt 1 bei, auf Rang 2 den Wert 0,5 und auf Rang 4 den Wert 0,25. Das sind ausdr\u00fccklich definierte Kennzahlen f\u00fcr dieses Belegschema. Recall beschreibt allgemein den Anteil aller relevanten Einheiten, der gefunden wurde. Ein Treffer auf eine relevante Einheit ist nicht gleichbedeutend mit dem Abruf mehrerer ben\u00f6tigter Belegstellen.<\/p>\n<p>Drei\u00dfig oder f\u00fcnfzig Fragen k\u00f6nnen f\u00fcr einen ersten Versuch dienen, sind aber keine allgemein ausreichende Stichprobe. Ein ge\u00e4ndertes Ergebnis entspricht bei 30 Fragen 3,33 Prozentpunkten, bei 50 Fragen 2 Punkten. Kleine Unterschiede brauchen mehr Belege, Vergleiche je Frage und eine passende Unsicherheitsanalyse. Ein zur\u00fcckgehaltener Testsatz trennt wiederholtes Abstimmen von unabh\u00e4ngiger Pr\u00fcfung.<\/p>\n<h2>Eine kleine ausf\u00fchrbare Auswertung<\/h2>\n<p>Die Datei ben\u00f6tigt nur die Python-Standardbibliothek und l\u00e4uft mit <code>python3 evaluate.py<\/code>. Treffer stehen in der Reihenfolge der Suche. Eine leere Liste bedeutet eine abgeschlossene Suche ohne Treffer; eine fehlende Liste ist ein Fehler. Doppelte Bereiche, ung\u00fcltige Positionen und nicht passende Belegzitate werden abgelehnt.<\/p>\n<pre><code>def evaluate(questions, rankings, corpus, k=5):\n    # corpus keys identify immutable document versions.\n    if type(k) is not int or k &lt; 1 or not questions:\n        raise ValueError(&quot;positive k and nonempty questions required&quot;)\n    def valid_span(s):\n        doc, start, end = s\n        if (doc not in corpus or type(start) is not int\n                or type(end) is not int\n                or not 0 &lt;= start &lt; end &lt;= len(corpus[doc])):\n            raise ValueError(&quot;invalid source span&quot;)\n        return doc, start, end\n    hits, union_hits, reciprocal = 0, 0, 0.0\n    seen = set()\n    for q in questions:\n        if q[&quot;id&quot;] in seen:\n            raise ValueError(&quot;duplicate question id&quot;)\n        seen.add(q[&quot;id&quot;])\n        doc, start, end = valid_span(q[&quot;evidence&quot;])\n        if q[&quot;quote&quot;] != corpus[doc][start:end]:\n            raise ValueError(&quot;quote does not match the source span&quot;)\n        # A missing result is not silently treated as an empty ranking.\n        rows = rankings[q[&quot;id&quot;]]\n        if len({tuple(c) for c in rows}) != len(rows):\n            raise ValueError(&quot;duplicate retrieved span&quot;)\n        rows = [valid_span(c) for c in rows]\n        top = rows[:k]\n        rank = next((n for n, (d, a, b) in enumerate(top, 1)\n                     if d == doc and a &lt;= start and b &gt;= end), None)\n        if rank is not None:\n            hits += 1\n            reciprocal += 1 \/ rank\n        # Union coverage: adjacent intervals may cover a split sentence.\n        cursor = start\n        spans = sorted((max(a, start), min(b, end)) for d, a, b in top\n                       if d == doc and a &lt; end and b &gt; start)\n        for a, b in spans:\n            if a &gt; cursor:\n                break\n            cursor = max(cursor, b)\n        union_hits += cursor &gt;= end\n    n = len(questions)\n    return {&quot;single_hit_at_k&quot;: hits \/ n,\n            &quot;union_hit_at_k&quot;: union_hits \/ n,\n            &quot;single_mrr_at_k&quot;: reciprocal \/ n}\n\nif __name__ == &quot;__main__&quot;:\n    corpus = {&quot;manual-v1&quot;: &quot;AA BBBB CC&quot;, &quot;other-v1&quot;: &quot;AA BBBB CC&quot;}\n    questions = [{&quot;id&quot;: &quot;q1&quot;, &quot;evidence&quot;: [&quot;manual-v1&quot;, 3, 7],\n                  &quot;quote&quot;: &quot;BBBB&quot;}]\n    rankings = {&quot;q1&quot;: [(&quot;other-v1&quot;, 0, 10),\n                       (&quot;manual-v1&quot;, 0, 5),\n                       (&quot;manual-v1&quot;, 5, 10)]}\n    print(evaluate(questions, rankings, corpus, k=3))\n    # single_hit_at_k: 0.0, union_hit_at_k: 1.0, single_mrr_at_k: 0.0\n<\/code><\/pre>\n<p>Das k\u00fcnstliche Beispiel ergibt Single-span hit 0, Union hit 1 und Single-span MRR 0. Der erste Treffer enth\u00e4lt denselben Text in einem anderen Dokument und z\u00e4hlt nicht. Die n\u00e4chsten beiden Treffer decken den richtigen Bereich gemeinsam ab. Diese Werte pr\u00fcfen die Auswertung, nicht die Qualit\u00e4t eines Einbettungsmodells.<\/p>\n<h2>Die Auswertung an die echte Suche anschlie\u00dfen<\/h2>\n<p>F\u00fcr jede Einstellung zerlegt die Pipeline denselben festgehaltenen Bestand, bettet die Chunks ein, baut einen getrennten Index auf und liefert zu jeder Frage geordnete Quellbereiche. Der Adapter muss jeden gefundenen Chunk auf den urspr\u00fcnglichen Bereich zur\u00fcckf\u00fchren. Tokenizer, Zerleger, Einbettungsclient und Suchindex sind im Beispiel nicht enthalten.<\/p>\n<p>Vier m\u00f6gliche Gr\u00f6\u00dfen wie 256, 512, 1024 und 2048 Token mit jeweils null oder 20 % \u00dcberlappung ergeben acht Einstellungen. Die Gr\u00f6\u00dfen m\u00fcssen zum gew\u00e4hlten Einbettungsmodell und Tokenizer passen. Stilles Abschneiden kann dazu f\u00fchren, dass der Vektor weniger Text repr\u00e4sentiert als der gespeicherte Chunk. Falls unterst\u00fctzt, wird das Abschneiden deaktiviert; andernfalls muss ein solcher Fall erkannt und als fehlgeschlagene Einstellung behandelt werden.<\/p>\n<p>Modellversion, Einstellungen f\u00fcr Frage und Dokument, Textextraktion, \u00c4hnlichkeitsfunktion, Filter und Suchparameter bleiben gleich. Frageeinbettungen lassen sich bei vollst\u00e4ndig identischen Eingaben und Modelleinstellungen wiederverwenden. F\u00fcr Dokumenteinbettungen gilt dasselbe. Ein Modellwechsel verlangt einen neuen Vergleich.<\/p>\n<h2>Qualit\u00e4t, Kontext und Kosten vergleichen<\/h2>\n<p>Bei festem k k\u00f6nnen gr\u00f6\u00dfere Chunks mehr Text liefern. Das Produkt <code>k \u00d7 Chunk-Gr\u00f6\u00dfe<\/code> ist nur eine nominelle Obergrenze f\u00fcr vollst\u00e4ndig gef\u00fcllte Chunks. Kurze Endst\u00fccke, Zusatztexte, das Entfernen von Doppelungen und K\u00fcrzungen ver\u00e4ndern die tats\u00e4chliche Promptl\u00e4nge. Ein Vergleich mit festem Budget z\u00e4hlt den fertig zusammengesetzten Kontext mit dem Tokenizer des Antwortmodells und verwendet f\u00fcr alle Einstellungen dieselbe Packregel.<\/p>\n<p>Bei langen Texten mit festen Fenstern n\u00e4hert sich der Tokenfaktor bei \u00dcberlappungsanteil r dem Wert <code>1 \/ (1 - r)<\/code>. Bei r = 0,20 ergibt das 1,25: ungef\u00e4hr 25 % zus\u00e4tzliche Token, nicht 20 %. Vier Durchl\u00e4ufe ohne und vier mit 20 % \u00dcberlappung \u00fcber zwei Millionen Token ergeben deshalb n\u00e4herungsweise 18 Millionen Dokumenttoken f\u00fcr die Einbettung. Dokumentgrenzen und Rundungen ver\u00e4ndern den genauen Wert. Frageeinbettungen, Index, Speicherung und Pr\u00fcfaufwand kommen hinzu.<\/p>\n<p>Eine n\u00fctzliche Ergebnistabelle enth\u00e4lt Einstellung, Fragenzahl, beide Trefferquoten, MRR, tats\u00e4chliche Kontexttoken, eingebettete Token, Indexgr\u00f6\u00dfe und Laufzeit. Hier liegt keine gemessene Qualit\u00e4tskurve vor. Eine Empfehlung f\u00fcr 512 Token l\u00e4sst sich ohne zuordenbaren Bestand, Belege und Laufprotokoll nicht begr\u00fcnden. Strukturorientiertes Zerlegen ist ein weiterer Kandidat, kein automatischer Sieger.<\/p>\n<h2>Die vollst\u00e4ndige Antwortkette gesondert pr\u00fcfen<\/h2>\n<p>Bei einer Nachsortierung z\u00e4hlt die Belegabdeckung sowohl in der Vorauswahl als auch nach Nachsortierung und Zusammenstellen des Kontexts. Ein hoher Wert der ersten Stufe garantiert nicht, dass die letzten f\u00fcnf Chunks den Beleg behalten. Zus\u00e4tzlich braucht die fertige Antwort Pr\u00fcfungen auf richtige Bedingungen, Quellenangaben und unbelegte Aussagen.<\/p>\n<p>Eine erneute Bewertung folgt wesentlichen \u00c4nderungen an Quellen, Fragen, Modellen oder Verarbeitung. Weder ein Jahrestermin noch eine feste Pr\u00fcfdauer garantiert ausreichende Abdeckung. Versionierte Fragen und Ergebnisse je Anfrage erleichtern die Suche nach Verschlechterungen.<\/p>\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.sbert.net\/docs\/package_reference\/sentence_transformer\/evaluation.html\">Sentence Transformers: Bewertungskennzahlen<\/a><\/li>\n<li><a href=\"https:\/\/www.trychroma.com\/research\/evaluating-chunking\">Chroma: Strategien zur Textzerlegung bewerten<\/a><\/li>\n<li><a href=\"https:\/\/arxiv.org\/abs\/2608.16586\">Caspari et al.: Textzerlegung nach mehreren Zielen bewerten<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/vertex-ai\/generative-ai\/docs\/embeddings\/get-text-embeddings\">Google Cloud: Texteinbettungen und Abschneiden<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Chunk-Gr\u00f6\u00dfe und \u00dcberlappung werden an gepr\u00fcften Belegstellen getestet. Ein ausf\u00fchrbares Python-Beispiel trennt Einzeltreffer von gemeinsamer Abdeckung; Kontextbudget, Stichprobenunsicherheit und Einbettungskosten geh\u00f6ren zum Vergleich.<\/p>\n","protected":false},"author":1,"featured_media":28487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92638],"tags":[92406,92418,92235],"class_list":["post-13056","post","type-post","status-publish","format-standard","hentry","category-tutorials-de-cloud-ai-de","tag-artificial-intelligence-de","tag-llm-de","tag-tutorial-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-17T10:45:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T11:44:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-13056-chunking-20261024-dark.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen\",\"datePublished\":\"2026-09-17T10:45:00+00:00\",\"dateModified\":\"2026-10-26T11:44:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/\"},\"wordCount\":1036,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/lw-flux3-20261031\\\/hero-13056.png\",\"keywords\":[\"Artificial Intelligence\",\"LLM\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/\",\"name\":\"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/lw-flux3-20261031\\\/hero-13056.png\",\"datePublished\":\"2026-09-17T10:45:00+00:00\",\"dateModified\":\"2026-10-26T11:44:09+00:00\",\"description\":\"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/lw-flux3-20261031\\\/hero-13056.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/lw-flux3-20261031\\\/hero-13056.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/tutorials-de-cloud-ai-de\\\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik","description":"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik","og_description":"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-17T10:45:00+00:00","article_modified_time":"2026-10-26T11:44:09+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-13056-chunking-20261024-dark.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen","datePublished":"2026-09-17T10:45:00+00:00","dateModified":"2026-10-26T11:44:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/"},"wordCount":1036,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/lw-flux3-20261031\/hero-13056.png","keywords":["Artificial Intelligence","LLM","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/","name":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/lw-flux3-20261031\/hero-13056.png","datePublished":"2026-09-17T10:45:00+00:00","dateModified":"2026-10-26T11:44:09+00:00","description":"Einen kleinen Testsatz ohne Durchsickern bauen, die Trefferquote \u00fcber Chunk-Gr\u00f6\u00dfen und \u00dcberlappungen messen und die entstehende Kurve lesen.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/lw-flux3-20261031\/hero-13056.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/lw-flux3-20261031\/hero-13056.png","width":1200,"height":630,"caption":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/tutorials-de-cloud-ai-de\/tutorial-chunk-grose-und-uberlappung-gegen-einen-testsatz-prufen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Chunk-Gr\u00f6\u00dfe und \u00dcberlappung gegen einen Testsatz pr\u00fcfen"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=13056"}],"version-history":[{"count":7,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13056\/revisions"}],"predecessor-version":[{"id":27012,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13056\/revisions\/27012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/28487"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=13056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=13056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=13056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}