[{"data":1,"prerenderedAt":1846},["ShallowReactive",2],{"blog-article-/de-de/blog/foxycape-pdf-obsidian":3,"blog-list-de-de":270},{"id":4,"title":5,"body":6,"config":254,"date":255,"description":256,"draft":257,"extension":258,"image":254,"meta":259,"navigation":260,"path":261,"seo":262,"stem":263,"tags":264,"toolbar":254,"translationKey":268,"updated":255,"__hash__":269},"blog/de-de/blog/foxycape-pdf-obsidian.md","Foxycape PDF — Ein PDF-Reader für Obsidian, der mit Ihren Notizen verbunden bleibt",{"type":7,"value":8,"toc":237},"minimark",[9,17,23,26,31,34,53,56,60,65,68,74,78,81,86,90,93,121,126,130,133,138,143,147,159,164,168,171,176,180,183,188,192,199,204,208,211,216,221,225,232],[10,11,12],"p",{},[13,14],"img",{"alt":15,"src":16},"Foxycape PDF","https://cdn.linghuxiong.com/resources/obsidian/introduce/logo-64x64.png",[18,19,20],"blockquote",{},[10,21,22],{},"Ein PDF-Reader für Obsidian, der mit Ihren Notizen verbunden bleibt — Markierungen, Zitate und Deep Links, die Sie zur Quelle zurückführen.",[24,25],"hr",{},[27,28,30],"h2",{"id":29},"warum","Warum",[10,32,33],{},"PDFs in Obsidian zu lesen unterbricht oft den Notiz-Workflow:",[35,36,37,41,44,47,50],"ul",{},[38,39,40],"li",{},"Markierungen bleiben im PDF; Ihre Vault-Notizen liegen woanders.",[38,42,43],{},"Eine Abbildung zu erfassen bedeutet meist ein unscharfer Screenshot.",[38,45,46],{},"Eingefügte Zitate und Bilder verweisen selten auf die exakte Seite oder Region.",[38,48,49],{},"Helle PDF-Seiten wirken in einem dunklen Vault-Theme grell.",[38,51,52],{},"Der Wechsel des Readers kann Seiten-/Auswahl-Links zerstören, die Sie bereits nutzen.",[10,54,55],{},"Foxycape PDF schließt diese Lücken, ohne dass Sie Obsidian verlassen müssen.",[27,57,59],{"id":58},"funktionen","Funktionen",[61,62,64],"h3",{"id":63},"markierung-notiz-synchronisation","Markierung → Notiz-Synchronisation",[10,66,67],{},"Statt Markierungen im PDF zu belassen, kann jede neue Markierung eine Markdown-Notiz mit demselben Namen erstellen oder aktualisieren, den Auszug mit Rückverweis anhängen und optional die Notiz in einem geteilten Fenster öffnen. Jederzeit in den Einstellungen deaktivierbar.",[10,69,70],{},[13,71],{"alt":72,"src":73},"","https://cdn.linghuxiong.com/resources/obsidian/introduce/highlight-notes.gif",[61,75,77],{"id":76},"eingebettete-bilder-extrahieren","Eingebettete Bilder extrahieren",[10,79,80],{},"Keine unscharfen Screenshots mehr. Fahren Sie über ein eingebettetes Bild (oder nutzen Sie die Touch-Steuerung auf dem Mobilgerät), um die Originaldatei in der Vorschau anzuzeigen, zu kopieren oder herunterzuladen.",[10,82,83],{},[13,84],{"alt":72,"src":85},"https://cdn.linghuxiong.com/resources/obsidian/introduce/embed-images.gif",[61,87,89],{"id":88},"text-und-bilder-zitieren-und-zurückspringen","Text und Bilder zitieren und zurückspringen",[10,91,92],{},"Zitate bleiben mit der Quelle verknüpft, sodass Sie später von der Notiz zurückspringen können:",[35,94,95,110,113],{},[38,96,97,98,102,103,102,106,109],{},"Textzitat als Markdown mit Deep Link kopieren (",[99,100,101],"code",{},"#page="," / ",[99,104,105],{},"#selection=",[99,107,108],{},"#markId=",").",[38,111,112],{},"Bildzitat kopieren; in Markdown einfügen, um eine PNG neben dem PDF zu speichern und einen klickbaren Link einzufügen.",[38,114,115,116,120],{},"Rechtsklick auf das Bild in der Notiz → ",[117,118,119],"strong",{},"In Foxycape öffnen",", um zur Seite zurückzukehren und die ursprüngliche Region hervorzuheben.",[10,122,123],{},[13,124],{"alt":72,"src":125},"https://cdn.linghuxiong.com/resources/obsidian/introduce/cite-and-back.gif",[61,127,129],{"id":128},"theme-angepasste-pdf-seiten","Theme-angepasste PDF-Seiten",[10,131,132],{},"Helle PDF-Seiten können in einem dunklen Vault stören. Optional Graustufen-Vektorfarben auf Vorder- und Hintergrundfarbe Ihres Themes abbilden (BETA) — für alle Themes, nur dunkel oder nur hell. Farbige Abbildungen bleiben unverändert.",[10,134,135],{},[13,136],{"alt":72,"src":137},"https://cdn.linghuxiong.com/resources/obsidian/introduce/theme-adapt.gif",[10,139,140],{},[13,141],{"alt":72,"src":142},"https://cdn.linghuxiong.com/resources/obsidian/introduce/theme-adapt-dark.gif",[61,144,146],{"id":145},"kompatibel-mit-obsidians-eingebauten-pdf-links","Kompatibel mit Obsidians eingebauten PDF-Links",[10,148,149,150,152,153,155,156,158],{},"Ein Reader-Wechsel sollte vorhandene Links nicht zerstören. Foxycape versteht Obsidian-Links im Stil von ",[99,151,101],{}," und ",[99,154,105],{},", kann der Standard-PDF-Viewer werden, nutzt geöffnete Tabs wenn möglich wieder und ergänzt ",[99,157,108],{}," für präzise Sprünge zu Markierungen.",[10,160,161],{},[13,162],{"alt":72,"src":163},"https://cdn.linghuxiong.com/resources/obsidian/introduce/compat-links.gif",[61,165,167],{"id":166},"markierungen-und-markierungsliste","Markierungen und Markierungsliste",[10,169,170],{},"Textmarker, wellige Unterstreichung und gerade Unterstreichung mit benutzerdefinierten Farben. Markierungen in einer Liste durchsuchen — filtern, sortieren, springen oder löschen.",[10,172,173],{},[13,174],{"alt":72,"src":175},"https://cdn.linghuxiong.com/resources/obsidian/introduce/annotations.gif",[61,177,179],{"id":178},"intelligentes-kopieren-weiche-zeilenumbrüche-entfernen","Intelligentes Kopieren — weiche Zeilenumbrüche entfernen",[10,181,182],{},"PDF-Zeilen fügen oft harte Umbrüche mitten im Satz ein. Text wie gewohnt auswählen und kopieren: Foxycape entfernt diese weichen Umbrüche, sodass der Einfügetext als zusammenhängender Fließtext erscheint, während echte Absatzumbrüche erhalten bleiben.",[10,184,185],{},[13,186],{"alt":72,"src":187},"https://cdn.linghuxiong.com/resources/obsidian/introduce/smart-copy.gif",[61,189,191],{"id":190},"navigation-und-suche","Navigation und Suche",[10,193,194,195,198],{},"Gliederung (Inhaltsverzeichnis), Seitenminiaturen, Seitenauswahl und Dokumentsuche (",[99,196,197],{},"Mod+F",") mit Optionen für Groß-/Kleinschreibung, diakritische Zeichen und ganzes Wort. Die Suche nutzt die PDF-Textebene (kein OCR).",[10,200,201],{},[13,202],{"alt":72,"src":203},"https://cdn.linghuxiong.com/resources/obsidian/introduce/navigate-search.gif",[61,205,207],{"id":206},"leselayout","Leselayout",[10,209,210],{},"Zoom (automatisch / Seitenbreite / Prozentsätze), vertikales oder horizontales Scrollen, Einzelseiten- / Doppelseiten- / Buchlayout, Seitendrehung, passwortgeschützte PDFs. Funktioniert auf Desktop und Mobilgerät.",[10,212,213],{},[13,214],{"alt":72,"src":215},"https://cdn.linghuxiong.com/resources/obsidian/introduce/layout.gif",[10,217,218],{},[13,219],{"alt":72,"src":220},"https://cdn.linghuxiong.com/resources/obsidian/introduce/layout-1.gif",[61,222,224],{"id":223},"als-standard-pdf-reader-festlegen","Als Standard-PDF-Reader festlegen",[10,226,227,228,231],{},"Für das reibungsloseste Erlebnis — Deep Links, Markierungen und theme-angepasste Seiten — aktivieren Sie ",[117,229,230],{},"Als Standard-PDF-Viewer verwenden"," in den Foxycape-Einstellungen, damit Obsidian PDFs standardmäßig mit Foxycape öffnet.",[10,233,234],{},[13,235],{"alt":72,"src":236},"https://cdn.linghuxiong.com/resources/obsidian/introduce/set-default.gif",{"title":72,"searchDepth":238,"depth":238,"links":239},2,[240,241],{"id":29,"depth":238,"text":30},{"id":58,"depth":238,"text":59,"children":242},[243,245,246,247,248,249,250,251,252,253],{"id":63,"depth":244,"text":64},3,{"id":76,"depth":244,"text":77},{"id":88,"depth":244,"text":89},{"id":128,"depth":244,"text":129},{"id":145,"depth":244,"text":146},{"id":166,"depth":244,"text":167},{"id":178,"depth":244,"text":179},{"id":190,"depth":244,"text":191},{"id":206,"depth":244,"text":207},{"id":223,"depth":244,"text":224},null,"2026-08-11","Markierungen, Zitate und Deep Links, die Sie zur Quelle zurückführen — Foxycape PDF hält Lesen und Notizen in Obsidian in einem durchgängigen Workflow.",false,"md",{},true,"/de-de/blog/foxycape-pdf-obsidian",{"title":5,"description":256},"de-de/blog/foxycape-pdf-obsidian",[265,266,267],"Obsidian","PDF","Foxycape","foxycape-pdf-obsidian","LkOoh7q3cPSnxUuEl_hBN5JgcHeJfnJgw0UCZsxmWPk",[271,436],{"id":4,"title":5,"body":272,"config":254,"date":255,"description":256,"draft":257,"extension":258,"image":254,"meta":433,"navigation":260,"path":261,"seo":434,"stem":263,"tags":435,"toolbar":254,"translationKey":268,"updated":255,"__hash__":269},{"type":7,"value":273,"toc":418},[274,278,282,284,286,288,300,302,304,306,308,312,314,316,320,322,324,340,344,346,348,352,356,358,366,370,372,374,378,380,382,386,388,392,396,398,400,404,408,410,414],[10,275,276],{},[13,277],{"alt":15,"src":16},[18,279,280],{},[10,281,22],{},[24,283],{},[27,285,30],{"id":29},[10,287,33],{},[35,289,290,292,294,296,298],{},[38,291,40],{},[38,293,43],{},[38,295,46],{},[38,297,49],{},[38,299,52],{},[10,301,55],{},[27,303,59],{"id":58},[61,305,64],{"id":63},[10,307,67],{},[10,309,310],{},[13,311],{"alt":72,"src":73},[61,313,77],{"id":76},[10,315,80],{},[10,317,318],{},[13,319],{"alt":72,"src":85},[61,321,89],{"id":88},[10,323,92],{},[35,325,326,334,336],{},[38,327,97,328,102,330,102,332,109],{},[99,329,101],{},[99,331,105],{},[99,333,108],{},[38,335,112],{},[38,337,115,338,120],{},[117,339,119],{},[10,341,342],{},[13,343],{"alt":72,"src":125},[61,345,129],{"id":128},[10,347,132],{},[10,349,350],{},[13,351],{"alt":72,"src":137},[10,353,354],{},[13,355],{"alt":72,"src":142},[61,357,146],{"id":145},[10,359,149,360,152,362,155,364,158],{},[99,361,101],{},[99,363,105],{},[99,365,108],{},[10,367,368],{},[13,369],{"alt":72,"src":163},[61,371,167],{"id":166},[10,373,170],{},[10,375,376],{},[13,377],{"alt":72,"src":175},[61,379,179],{"id":178},[10,381,182],{},[10,383,384],{},[13,385],{"alt":72,"src":187},[61,387,191],{"id":190},[10,389,194,390,198],{},[99,391,197],{},[10,393,394],{},[13,395],{"alt":72,"src":203},[61,397,207],{"id":206},[10,399,210],{},[10,401,402],{},[13,403],{"alt":72,"src":215},[10,405,406],{},[13,407],{"alt":72,"src":220},[61,409,224],{"id":223},[10,411,227,412,231],{},[117,413,230],{},[10,415,416],{},[13,417],{"alt":72,"src":236},{"title":72,"searchDepth":238,"depth":238,"links":419},[420,421],{"id":29,"depth":238,"text":30},{"id":58,"depth":238,"text":59,"children":422},[423,424,425,426,427,428,429,430,431,432],{"id":63,"depth":244,"text":64},{"id":76,"depth":244,"text":77},{"id":88,"depth":244,"text":89},{"id":128,"depth":244,"text":129},{"id":145,"depth":244,"text":146},{"id":166,"depth":244,"text":167},{"id":178,"depth":244,"text":179},{"id":190,"depth":244,"text":191},{"id":206,"depth":244,"text":207},{"id":223,"depth":244,"text":224},{},{"title":5,"description":256},[265,266,267],{"id":437,"title":438,"body":439,"config":254,"date":1834,"description":1835,"draft":257,"extension":258,"image":254,"meta":1836,"navigation":260,"path":1837,"seo":1838,"stem":1839,"tags":1840,"toolbar":254,"translationKey":1844,"updated":1834,"__hash__":1845},"blog/de-de/blog/zero-hallucination-qa.md","Wie ich Zero-Hallucination-Q&A in unserem Reader umgesetzt habe",{"type":7,"value":440,"toc":1800},[441,447,460,462,466,473,478,482,500,505,516,521,555,558,562,579,586,590,605,610,647,654,658,671,696,701,818,836,842,844,848,855,870,877,897,903,905,909,912,918,920,924,947,957,1017,1020,1031,1040,1047,1049,1053,1064,1070,1077,1081,1088,1096,1103,1107,1117,1161,1172,1178,1180,1184,1198,1206,1212,1215,1254,1264,1272,1278,1285,1289,1297,1303,1314,1316,1320,1326,1330,1337,1341,1364,1371,1373,1377,1383,1440,1446,1448,1452,1459,1478,1482,1502,1512,1514,1518,1529,1532,1555,1566,1572,1574,1578,1593,1604,1606,1610,1631,1642,1644,1648,1667,1673,1675,1679,1768,1775,1786],[10,442,443],{},[13,444],{"alt":445,"src":446},"Cover: Zero-Hallucination-Q&A","https://cdn.linghuxiong.com/resources/snapshots/ai-chat-cover.png",[18,448,449],{},[10,450,451,452,455,456,459],{},"Dieser Beitrag beschreibt die technische Umsetzung von ",[117,453,454],{},"Zero-Hallucination-Q&A"," in unserem AI-Reader: Antworten basieren strikt auf dem Text des geöffneten Buches, zentrale Aussagen lassen sich per ",[117,457,458],{},"Ein-Klick"," zur exakten Passage zurückverfolgen. Wenn Sie AI-Reading, Dokumenten-Q&A oder RAG-ähnliche Apps bauen, hoffen wir, dass drei Iterationen und die finale Architektur als Referenz dienen.",[24,461],{},[27,463,465],{"id":464},"i-entwicklung-in-drei-phasen","I. Entwicklung in drei Phasen",[10,467,468,469,472],{},"Zero-Hallucination-Q&A war von Anfang an nicht perfekt geplant, sondern entstand im Spannungsfeld von ",[117,470,471],{},"Kosten, Latenz und Genauigkeit",". Im Folgenden die drei Phasen in zeitlicher Reihenfolge—als Kontext, warum die aktuelle Architektur so aussieht.",[474,475],"mermaid",{":config":476,"code":477},"config","flowchart%20LR%0A%20%20%20%20P1%5BPhase%201%3A%20Volltext%20einf%C3%BCgen%5D%20--%3E%20P2%5BPhase%202%3A%20LLM%20Schl%C3%BCssels%C3%A4tze%5D%0A%20%20%20%20P2%20--%3E%20P3%5BPhase%203%3A%20Segment-Index%20%2B%20Tool-Abruf%5D%0A%20%20%20%20P1%20-.-%3E%7CLangsam%2C%20teuer%2C%20ungenau%20bei%20langen%20B%C3%BCchern%7C%20X1%5BVerworfen%5D%0A%20%20%20%20P2%20-.-%3E%7CDetailverlust%2C%20weiterhin%20langsam%7C%20X2%5BVerworfen%5D%0A%20%20%20%20P3%20--%3E%7CAktuell%7C%20OK%5BZero%20Hallucination%20%2B%20nachvollziehbar%5D",[61,479,481],{"id":480},"phase-1-gesamten-buchtext-in-den-context-legen-einfachste-varianteund-die-erste-die-bricht","Phase 1: Gesamten Buchtext in den Context legen (einfachste Variante—und die erste, die bricht)",[10,483,484,487,488,491,492,495,496,499],{},[117,485,486],{},"Vorgehen:"," Beim Öffnen eines Buches und einer Nutzerfrage den ",[117,489,490],{},"gesamten extrahierten Fließtext"," in System Prompt oder User-Nachricht packen und vom Chat-Modell beantworten lassen. Überschreitet das Buch etwa ",[117,493,494],{},"400.000 Zeichen",", erfolgt eine ",[117,497,498],{},"harte Kürzung","—nur der Anfang bleibt; spätere Kapitel sind für das Modell unsichtbar.",[10,501,502],{},[117,503,504],{},"Vorteile:",[35,506,507,510,513],{},[38,508,509],{},"Sehr geringer Implementierungsaufwand, kaum Vorverarbeitung;",[38,511,512],{},"Bei kurzen Büchern und einfachen Dokumenten oft brauchbar—das Modell hat das Buch tatsächlich „gesehen“;",[38,514,515],{},"Einfache UX: Fragen stellen, Antwort erhalten—kein „Bitte warten Sie auf die Analyse“.",[10,517,518],{},[117,519,520],{},"Nachteile (schnell inakzeptabel):",[35,522,523,529,535,545],{},[38,524,525,528],{},[117,526,527],{},"Langsame Antworten:"," Jede Frage sendet erneut eine riesige Payload; Time-to-First-Token und Gesamtlatenz wachsen mit der Buchlänge;",[38,530,531,534],{},[117,532,533],{},"Hohe Token-Kosten:"," Der volle Buch-Input wird bei jeder Frage erneut bezahlt;",[38,536,537,540,541,544],{},[117,538,539],{},"Lange Bücher verzerren stark:"," Nach 400k Zeichen existieren zweite Hälfte, Anhänge und Schlusskapitel faktisch nicht—und die UI ",[117,542,543],{},"weist selten klar darauf hin",", dass gekürzt wurde;",[38,546,547,550,551,554],{},[117,548,549],{},"Keine Abrufgranularität:"," Das Modell muss in Hunderttausenden Zeichen „die Nadel im Heuhaufen“ finden—Details gehen leicht verloren, ",[117,552,553],{},"plausibel klingende, aber unbelegte"," Zusammenfassungen entstehen leichter—genau das, was Lese-Apps vermeiden müssen.",[10,556,557],{},"Phase 1 eignet sich für ein MVP, nicht für eine produktionsreife Lösung.",[61,559,561],{"id":560},"phase-2-leichteres-llm-extrahiert-schlüsselsätze-context-komprimierenaber-zu-aggressiv","Phase 2: Leichteres LLM extrahiert Schlüsselsätze (Context komprimieren—aber zu aggressiv)",[10,563,564,566,567,570,571,574,575,578],{},[117,565,486],{}," Vor dem Q&A (oder beim ersten Öffnen) ein ",[117,568,569],{},"günstigeres Modell"," über den Fließtext: Aufteilung nach Spine-Kapitel (oder Buch in Blöcke), Extraktion von ",[117,572,573],{},"Schlüsselsätzen",", Beibehaltung von Positions-Tags wie ",[99,576,577],{},"[fDatei-Start-Ende]",", dann Zusammenfügen der Auszüge zu kürzerem Context für späteres Q&A.",[10,580,581,582,585],{},"Typische Pipeline: ",[117,583,584],{},"Extract → Cache → Chat",". Einmal extrahieren (offline oder on demand), „Schlüsselsatz-Bündel“ speichern, bei jeder Frage wiederverwenden—wie viele Dokumenten-Q&A-Prototypen: erst komprimieren, dann antworten.",[10,587,588],{},[117,589,504],{},[35,591,592,599,602],{},[38,593,594,595,598],{},"Pro Frage ",[117,596,597],{},"deutlich weniger Text","; Token-Verbrauch pro Request sinkt gegenüber Phase 1;",[38,600,601],{},"Vorverarbeitung cachebar; kein Re-Extract pro Frage beim gleichen Buch;",[38,603,604],{},"Positions-Tags legen die Basis für Zitate.",[10,606,607],{},[117,608,609],{},"Nachteile (bei langen Büchern weiterhin unzureichend):",[35,611,612,618,628,637],{},[38,613,614,617],{},[117,615,616],{},"Starker Detailverlust:"," „Schlüsselsätze“ werden vom Modell gewählt; Einschränkungen, Gegenbeispiele und Argumentketten gehen oft verloren—Antworten werden „richtig, aber einseitig“;",[38,619,620,623,624,627],{},[117,621,622],{},"Context bei Langwerken weiter groß:"," Selbst Schlüsselsatz-Bündel sind umfangreich—Latenz und Kosten werden ",[117,625,626],{},"gelindert, nicht gelöst",";",[38,629,630,633,634,627],{},[117,631,632],{},"Doppelter LLM-Fehler:"," Extraktion kann übersehen; Q&A kann Auszüge falsch lesen—Fehler ",[117,635,636],{},"stapeln sich",[38,638,639,642,643,646],{},[117,640,641],{},"Statischer Context:"," Ob die Frage ein Kapitel oder die Gesamtstruktur betrifft—das Modell erhält immer ",[117,644,645],{},"dieselbe vorab extrahierte Masse",", keine dynamische Eingrenzung nach Frage.",[10,648,649,650,653],{},"Die Lehre: Das Problem ist nicht „ob wir komprimieren“, sondern ",[117,651,652],{},"„ob die Kompression bedarfsgesteuert ist und ob wir zum Quelltext zurückkehren können“",".",[61,655,657],{"id":656},"phase-3-segment-index-tool-abruf-on-demand-quelltext-rückgabe-aktuell","Phase 3: Segment-Index + Tool-Abruf on demand + Quelltext-Rückgabe (aktuell)",[10,659,660,662,663,670],{},[117,661,486],{}," Angelehnt an ",[664,665,669],"a",{"href":666,"rel":667},"https://github.com/VectifyAI/PageIndex",[668],"nofollow","PageIndex",". Gegenüber Phase 2 drei Kernverschiebungen:",[672,673,674,680,690],"ol",{},[38,675,676,679],{},[117,677,678],{},"Vorverarbeitung erzeugt einen strukturierten Index"," (Inhaltsverzeichnis-Zusammenfassungen + exakte Zeichen-Spannen), keine Auszüge als direkter Q&A-Context;",[38,681,682,685,686,689],{},[117,683,684],{},"Jede Frage nutzt Tool Calling zur bedarfsgesteuerten Suche",", dann ",[117,687,688],{},"Abruf von Quelltext mit Positions-Tags"," zur Antwort;",[38,691,692,695],{},[117,693,694],{},"System Prompt + Frontend"," erzwingen Zitierformat und unterstützen Klick → Sprung → Hervorhebung im Reader.",[10,697,698],{},[117,699,700],{},"Vergleich der drei Phasen:",[702,703,704,723],"table",{},[705,706,707],"thead",{},[708,709,710,714,717,720],"tr",{},[711,712,713],"th",{},"Dimension",[711,715,716],{},"Phase 1 (Volltext)",[711,718,719],{},"Phase 2 (Schlüsselsätze)",[711,721,722],{},"Phase 3 (aktuell)",[724,725,726,745,759,773,787,804],"tbody",{},[708,727,728,732,735,738],{},[729,730,731],"td",{},"Context pro Frage",[729,733,734],{},"Ganzes Buch (oder gekürzte erste Hälfte)",[729,736,737],{},"Vorab extrahierte Schlüsselsätze",[729,739,740,741,744],{},"Nur ",[117,742,743],{},"Quelltext","-Ausschnitte zur Frage",[708,746,747,750,753,756],{},[729,748,749],{},"Genauigkeit bei langen Büchern",[729,751,752],{},"Ab ~400k Zeichen stark eingebrochen",[729,754,755],{},"Abhängig von Extraktion; Detailverlust",[729,757,758],{},"Abruf per TOC/Span; kein hartes Vollbuch-Truncate",[708,760,761,764,767,770],{},[729,762,763],{},"Antwortgeschwindigkeit",[729,765,766],{},"Langsam",[729,768,769],{},"Etwas besser; lange Bücher weiter langsam",[729,771,772],{},"Abruf + kurzer Context—deutlich schneller",[708,774,775,778,781,784],{},[729,776,777],{},"Token-Kosten",[729,779,780],{},"Sehr hoch",[729,782,783],{},"Mittelhoch",[729,785,786],{},"Vorverarbeitung amortisiert + zahlen nach Bedarf",[708,788,789,792,795,798],{},[729,790,791],{},"Nachvollziehbarkeit",[729,793,794],{},"Schwach (Zitate schwer)",[729,796,797],{},"Tags vorhanden, Inhalt aber gefiltert",[729,799,800,801],{},"Fußnoten → ",[117,802,803],{},"echte Quell-Spannen",[708,805,806,809,812,815],{},[729,807,808],{},"Engineering-Aufwand",[729,810,811],{},"Niedrig",[729,813,814],{},"Mittel",[729,816,817],{},"Hoch",[10,819,820,823,824,827,828,831,832,835],{},[117,821,822],{},"Warum wir bei Phase 3 bleiben:"," Beim Lesen geht es bei Zero Hallucination nicht darum, „dem Modell möglichst viel Text zu zeigen“, sondern ",[117,825,826],{},"„vor der Antwort Belege aus dem Buch zur Frage zu holen“",". Phase 1–2 kämpften mit der ",[117,829,830],{},"Context-Größe","; Phase 3 teilt die Pipeline in ",[117,833,834],{},"Index (Vorverarbeitung) → Abruf (Tool) → Beleg (Quelle) → Antwort (kontrollierte Generierung)","—Genauigkeit, Kosten und Nachvollziehbarkeit zusammen.",[10,837,838,839,653],{},"Im Folgenden die Details von ",[117,840,841],{},"Phase 3",[24,843],{},[27,845,847],{"id":846},"ii-problemstellung-bei-buch-qa-ist-halluzination-schlimmer-als-im-allgemeinen-chat","II. Problemstellung: Bei Buch-Q&A ist Halluzination schlimmer als im allgemeinen Chat",[10,849,850,851,854],{},"Gelegentliche Fehler in einem allgemeinen Chatbot verzeihen Nutzer oft. Bei ",[117,852,853],{},"Buch-Q&A"," ist der Preis höher:",[35,856,857,864,867],{},[38,858,859,860,863],{},"Nutzer fragen, was ",[117,861,862],{},"dieses Buch"," sagt—not was im parametrischen Gedächtnis des Modells liegt;",[38,865,866],{},"Eine plausibel klingende „Ansicht aus dem Buch“ kann Notizen, Zitate und Weitergabe irreführen;",[38,868,869],{},"Ohne Quellen keine Verifikation—Vertrauen ist schwer aufzubauen.",[10,871,872,873,876],{},"„Zero Hallucination“ wird daher zu drei ",[117,874,875],{},"durchsetzbaren"," Regeln:",[672,878,879,885,891],{},[38,880,881,884],{},[117,882,883],{},"Buchfragen müssen zuerst das Buch befragen:"," Alles, was plausibel zum geöffneten Buch gehört, muss zuerst Retrieval (Tool) durchlaufen;",[38,886,887,890],{},[117,888,889],{},"Antworten müssen nachvollziehbar sein:"," Zentrale Aussagen tragen Positions-Tags, die die UI parsen und anspringen kann;",[38,892,893,896],{},[117,894,895],{},"Sagen, wenn nichts gefunden wird:"," Fehlt es im Buch, klar sagen—kein Allgemeinwissen als „Buchaussage“ verkaufen.",[10,898,899,900,902],{},"Der Rest folgt dem Datenfluss von ",[117,901,841],{}," und der Umsetzung dieser Regeln.",[24,904],{},[27,906,908],{"id":907},"iii-architektur-vorverarbeitung-tool-abruf-kontrollierte-generierung-klickbare-zitate","III. Architektur: Vorverarbeitung → Tool-Abruf → Kontrollierte Generierung → Klickbare Zitate",[474,910],{":config":476,"code":911},"flowchart%20TB%0A%20%20%20%20subgraph%20prep%20%5BOffline%20%2F%20erste%20Vorverarbeitung%5D%0A%20%20%20%20%20%20%20%20A%5BBuch%20nach%20TOC%20oder%20L%C3%A4nge%20teilen%5D%20--%3E%20B%5BLLM%20Segment-Zusammenfassungen%5D%0A%20%20%20%20%20%20%20%20B%20--%3E%20C%5BSegment-Cache%20lokal%20persistieren%5D%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20ask%20%5BNutzerfrage%5D%0A%20%20%20%20%20%20%20%20D%5BNutzereingabe%5D%20--%3E%20E%7BSegment-Cache%20vorhanden%3F%7D%0A%20%20%20%20%20%20%20%20E%20--%3E%7CNein%7C%20F%5BVolltext%20extrahieren%20%2F%20Vorverarbeitung%20anbieten%5D%0A%20%20%20%20%20%20%20%20F%20--%3E%20prep%0A%20%20%20%20%20%20%20%20E%20--%3E%7CJa%7C%20G%5BTool%20Calling%20registrieren%5D%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20retrieve%20%5BTool-Abruf%5D%0A%20%20%20%20%20%20%20%20G%20--%3E%20H%7BFragetyp%7D%0A%20%20%20%20%20%20%20%20H%20--%3E%7C%C3%9Cberblick%20%2F%20Rezension%7C%20I%5Bget_full_book_segment_summaries%5D%0A%20%20%20%20%20%20%20%20H%20--%3E%7CFakten%20%2F%20Personen%20%2F%20Kapitel%7C%20J%5Bget_related_segment_summaries%5D%0A%20%20%20%20%20%20%20%20J%20--%3E%20K%5BLLM%20w%C3%A4hlt%20Segment-IDs%20aus%20Zusammenfassungskatalog%5D%0A%20%20%20%20%20%20%20%20K%20--%3E%20L%5BQuelltext%20per%20Span%20%2B%20Positions-Tags%20laden%5D%0A%20%20%20%20%20%20%20%20I%20--%3E%20M%5BAlle%20Segment-Zusammenfassungen%20verketten%5D%0A%20%20%20%20end%0A%0A%20%20%20%20subgraph%20answer%20%5BGenerieren%20%26%20Anzeige%5D%0A%20%20%20%20%20%20%20%20L%20--%3E%20N%5BTool-Ergebnisse%20ans%20Modell%5D%0A%20%20%20%20%20%20%20%20M%20--%3E%20N%0A%20%20%20%20%20%20%20%20N%20--%3E%20O%5BSystem-Prompt%20Zitierregeln%5D%0A%20%20%20%20%20%20%20%20O%20--%3E%20P%5BStreaming-Antwort%20%2B%20Positions-Fu%C3%9Fnoten%5D%0A%20%20%20%20%20%20%20%20P%20--%3E%20Q%5BKlickbare%20Fu%C3%9Fnoten%20rendern%5D%0A%20%20%20%20%20%20%20%20Q%20--%3E%20R%5BKlick%20%E2%86%92%20Vorschau%20%E2%86%92%20Sprung%20%26%20Hervorhebung%5D%0A%20%20%20%20end",[10,913,914,915],{},"Kernidee: ",[117,916,917],{},"Das Modell soll nicht „aus dem Gedächtnis antworten“—sondern „Belege sammeln, dann antworten und Quellen markieren“.",[24,919],{},[27,921,923],{"id":922},"iv-vorverarbeitung-das-ganze-buch-in-einen-durchsuchbaren-segment-index-verwandeln","IV. Vorverarbeitung: Das ganze Buch in einen durchsuchbaren Segment-Index verwandeln",[10,925,926,927,930,931,934,935,938,939,942,943,946],{},"Wenn jede Frage weiter ",[117,928,929],{},"Phase-1","-Vollbuch-Context nutzte, sprengen lange Bücher das Token-Budget und der Abruf ist zu grob. Phase 3: Beim ersten AI-Chat zu einem Buch läuft im Hintergrund ein ",[117,932,933],{},"Segment-Zusammenfassungs-Job","—Aufteilung nach ",[117,936,937],{},"TOC"," oder ",[117,940,941],{},"Textlänge"," in ",[99,944,945],{},"Segment","s, Zusammenfassung je Segment, Persistenz in lokaler IndexedDB.",[10,948,949,950,952,953,956],{},"Jedes ",[99,951,945],{}," enthält Zusammenfassung plus ",[117,954,955],{},"physische Position im Fließtext",":",[702,958,959,969],{},[705,960,961],{},[708,962,963,966],{},[711,964,965],{},"Feld",[711,967,968],{},"Bedeutung",[724,970,971,984,997,1007],{},[708,972,973,981],{},[729,974,975,102,978],{},[99,976,977],{},"startFileIndex",[99,979,980],{},"endFileIndex",[729,982,983],{},"Spine-Datei-Index (PDF: eine Datei pro Seite)",[708,985,986,994],{},[729,987,988,102,991],{},[99,989,990],{},"startOffset",[99,992,993],{},"endOffset",[729,995,996],{},"Zeichen-Start/Ende",[708,998,999,1004],{},[729,1000,1001],{},[99,1002,1003],{},"sequence",[729,1005,1006],{},"Lineare Lesereihenfolge",[708,1008,1009,1014],{},[729,1010,1011],{},[99,1012,1013],{},"title",[729,1015,1016],{},"TOC-Titel",[10,1018,1019],{},"Die Aufteilung balanciert Präzision und Kosten: TOC-Knoten unter ~20 KB nur dieser Knoten; Geschwister-Knoten können zu Batches (15–20 KB) vor dem LLM-Aufruf zusammengeführt werden; unstrukturierte lange Blöcke in ~30–40k-Zeichen-Bereichen.",[10,1021,1022,1023,1026,1027,1030],{},"Der Zusammenfassungs-System-Prompt verlangt ",[117,1024,1025],{},"inline Positions-Tags"," (",[99,1028,1029],{},"[fZahl-Zahl-Zahl]","), damit per Tool geladener Quelltext mit Spine-Offsets übereinstimmt. Kernvorgabe:",[1032,1033,1038],"pre",{"className":1034,"code":1036,"language":1037,"meta":72},[1035],"language-text","If summary content relates to a passage, keep the trailing position tag [fNumber-Number-Number] (e.g. [f1-90-109]).\nTags are atomic—do not alter, merge, or omit any character or digit.\n","text",[99,1039,1036],{"__ignoreMap":72},[10,1041,1042,1043,1046],{},"Nach der Vorverarbeitung hängt Q&A vom ",[117,1044,1045],{},"strukturierten Segment-Index"," ab, nicht vom Vollbuch-Context—Voraussetzung für Zero Hallucination bei langen Büchern.",[24,1048],{},[27,1050,1052],{"id":1051},"v-positions-tag-system-woher-in-den-text-kodieren","V. Positions-Tag-System: „Woher“ in den Text kodieren",[10,1054,1055,1056,1059,1060,1063],{},"Zero Hallucination verlangt Inhalt aus der Quelle ",[117,1057,1058],{},"und"," maschinenlesbare, in der UI springbare ",[117,1061,1062],{},"Herkunft",". Wir nutzen inline Tags:",[1032,1065,1068],{"className":1066,"code":1067,"language":1037},[1035],"[f{fileIndex}-{startChar}-{endChar}]\n",[99,1069,1067],{"__ignoreMap":72},[10,1071,1072,1073,1076],{},"Beispiel: ",[99,1074,1075],{},"[f5-123-165]"," = Spine-Datei 5 (0-basiert), Zeichen 123–165.",[61,1078,1080],{"id":1079},"_51-wie-tags-in-den-fließtext-geschrieben-werden","5.1 Wie Tags in den Fließtext geschrieben werden",[10,1082,1083,1084,1087],{},"Die Extraktionsschicht hängt ",[99,1085,1086],{},"[f{fileIndex}-{start}-{end}]"," an Segmentenden an:",[1032,1089,1094],{"className":1090,"code":1092,"language":1093,"meta":72},[1091],"language-typescript","const position = `[f${fileIndex}-${absOffset}-${absOffset + segment.length}]`;\nfileLines.push(segment.text.trim() + position);\n","typescript",[99,1095,1092],{"__ignoreMap":72},[10,1097,1098,1099,1102],{},"Ob Vorverarbeitungs-Zusammenfassungen oder Tool-Auszüge—Positionen alignen mit ",[117,1100,1101],{},"Spine-Zeichen-Offsets",", nicht mit vom Modell geschätzten Seitenzahlen.",[61,1104,1106],{"id":1105},"_52-vorgaben-für-modellausgabe","5.2 Vorgaben für Modellausgabe",[10,1108,1109,1110,1116],{},"Der System Prompt enthält ",[117,1111,1112],{},[1113,1114,1115],"span",{},"Position Citation Rules","—fünf Kernpunkte:",[672,1118,1119,1129,1139,1145,1155],{},[38,1120,1121,1124,1125,1128],{},[117,1122,1123],{},"Standardformat:"," Muss ",[99,1126,1127],{},"[f_fileIndex-startChar-endChar]"," nutzen; alle drei numerischen Teile erforderlich;",[38,1130,1131,1134,1135,1138],{},[117,1132,1133],{},"Nur aus aktuellen Quellen kopieren:"," Fußnoten ",[117,1136,1137],{},"wörtlich"," aus System/User-Nachrichten oder Tool-Rückgaben dieser Runde;",[38,1140,1141,1144],{},[117,1142,1143],{},"Keine Erfindung:"," Positionen nicht berechnen, ändern oder erfinden;",[38,1146,1147,1150,1151,1154],{},[117,1148,1149],{},"Lieber weglassen:"," Kein gültiger Tag im Context → normal antworten—",[117,1152,1153],{},"keine Positions-Tags"," ausgeben;",[38,1156,1157,1160],{},[117,1158,1159],{},"Inline bei Aussagen:"," Tags folgen dem relevanten Satz; keine Zitatlisten am Ende.",[10,1162,1163,1164,1167,1168,1171],{},"Die UI filtert gelegentliche ",[117,1165,1166],{},"zweiteilige"," ungültige Tags (z. B. ",[99,1169,1170],{},"[f1-293]",") vor dem Rendern.",[10,1173,1174],{},[13,1175],{"alt":1176,"src":1177},"Zitat-Nachverfolgungs-Popup","https://cdn.linghuxiong.com/resources/snapshots/ai-chat.png",[24,1179],{},[27,1181,1183],{"id":1182},"vi-tool-calling-erst-suchen-dann-antworten","VI. Tool Calling: Erst suchen, dann antworten",[10,1185,1186,1187,1190,1191,1194,1195,653],{},"Ist der Chat an ein Buch gebunden (",[99,1188,1189],{},"resourceId"," vorhanden, ",[99,1192,1193],{},"chatType === 'chat'","), registrieren wir vor jeder Generierung zwei Tools mit Executors—Standard-OpenAI-",[117,1196,1197],{},"Function-Calling-Schleife",[61,1199,1201,1202,1205],{"id":1200},"_61-get_related_segment_summaries-gezielter-segment-abruf","6.1 ",[99,1203,1204],{},"get_related_segment_summaries"," — Gezielter Segment-Abruf",[10,1207,1208,1209,653],{},"Für: Konzepte, Figuren, Handlung, Kapiteldetails—",[117,1210,1211],{},"klare Suchabsicht",[10,1213,1214],{},"Ablauf:",[672,1216,1217,1224,1230,1237,1247],{},[38,1218,1219,1220,1223],{},"Modell formuliert Nutzerwortlaut in ",[117,1221,1222],{},"im Buch wahrscheinliche Begriffe"," um („Optimize Search Queries“ im System Prompt);",[38,1225,1226,1227,627],{},"Tool-Aufruf mit ",[99,1228,1229],{},"question",[38,1231,1232,1233,1236],{},"Alle Segment-Zusammenfassungen nach Token-Budget ",[117,1234,1235],{},"batchen"," (~30k Token pro Batch, max. 5 Batches);",[38,1238,1239,1240,1243,1244,627],{},"Pro Batch: separater LLM-Request wählt relevante Segment-IDs (max. 5) aus ",[99,1241,1242],{},"{ id, title, summary }",", JSON wie ",[99,1245,1246],{},"{\"Thinking\":\"...\",\"answer\":[\"1\",\"3\"]}",[38,1248,1249,1250,1253],{},"Für gewählte Segmente ",[117,1251,1252],{},"getaggten Quelltext"," aus dem Spine laden—not Zusammenfassungen—als Tool-Ergebnis.",[10,1255,1256,1259,1260,1263],{},[117,1257,1258],{},"Schlüsseldesign: Tool liefert Quelle, keine Zusammenfassungen."," Das Modell antwortet aus echten Absätzen mit inline ",[99,1261,1262],{},"[f…]",", ohne „Zusammenfassung → erneute Zusammenfassung“-Drift.",[61,1265,1267,1268,1271],{"id":1266},"_62-get_full_book_segment_summaries-gesamtbuch-überblick","6.2 ",[99,1269,1270],{},"get_full_book_segment_summaries"," — Gesamtbuch-Überblick",[10,1273,1274,1275,653],{},"Für: „Buch zusammenfassen“, „Rezension“, „Gesamtstruktur/Themen“—",[117,1276,1277],{},"globaler Blick",[10,1279,1280,1281,1284],{},"Alle Segment-",[99,1282,1283],{},"summary","-Felder in Lesereihenfolge verketten—wichtige Kapitel nicht nur über Chunk-Relevanz verpassen.",[61,1286,1288],{"id":1287},"_63-system-prompt-buch-zuerst-tools-zuerst","6.3 System Prompt: Buch zuerst, Tools zuerst",[10,1290,1291,1292,956],{},"Mit gebundenem Buch gilt ",[117,1293,1294],{},[1113,1295,1296],{},"Core Principles for Reading Assistant",[1032,1298,1301],{"className":1299,"code":1300,"language":1037},[1035],"1. Book First, Tool First\n   - Any question possibly about the book must call tools first;\n   - Answers must rely mainly on retrieval—never invent “book content” without retrieval.\n\n2. General Knowledge as Fallback Only\n   - Only for: casual chat / user explicitly skips the book / tools return nothing;\n   - If the book lacks it, say “not mentioned in this book” before general knowledge.\n\n3. Direct Style\n   - Get to the point—avoid “based on the provided materials…” and similar filler.\n",[99,1302,1300],{"__ignoreMap":72},[10,1304,1305,1306,1309,1310,1313],{},"Die Generierung führt die Tool-Schleife aus: ",[99,1307,1308],{},"tool_calls"," → ausführen → ",[99,1311,1312],{},"role: tool"," anhängen → bis zum finalen Text. Mit aktivierten Tools ist der Thinking-Kanal aus, um Protokollkonflikte zu vermeiden.",[24,1315],{},[27,1317,1319],{"id":1318},"vii-frontend-nachverfolgung-von-der-fußnote-zur-hervorhebung","VII. Frontend-Nachverfolgung: Von der Fußnote zur Hervorhebung",[10,1321,1322,1323,1325],{},"Modellausgabe ",[99,1324,1075],{}," wird nicht roh angezeigt; die Render-Schicht macht daraus klickbare Zitate.",[61,1327,1329],{"id":1328},"_71-fußnoten-rendering","7.1 Fußnoten-Rendering",[10,1331,1332,1333,1336],{},"Tags zu Markdown-Links wie ",[99,1334,1335],{},"[1]([f5-123-165])"," normalisieren, als nummerierte Fußnoten rendern; gleiche Position deduplizieren.",[61,1338,1340],{"id":1339},"_72-klick-interaktion","7.2 Klick-Interaktion",[672,1342,1343,1352,1358],{},[38,1344,1345,1348,1349,1351],{},[117,1346,1347],{},"Erster Klick:"," ",[99,1350,1262],{}," parsen → fileIndex + Offsets → Spine-Text extrahieren → Vorschau (optional TOC-Titel);",[38,1353,1354,1357],{},[117,1355,1356],{},"Gleiche Fußnote erneut:"," Vorschau schließen;",[38,1359,1360,1363],{},[117,1361,1362],{},"Sprung bestätigen:"," Lesesicht öffnen, Zeichenbereich hervorheben.",[10,1365,1366,1367,1370],{},"Vom kopierten Modell-Tag bis zum sichtbaren Quelltext für den Nutzer ",[117,1368,1369],{},"kein weiterer LLM-Schritt","—deterministisch und reproduzierbar.",[24,1372],{},[27,1374,1376],{"id":1375},"viii-grenzfälle-und-ehrliche-degradation","VIII. Grenzfälle und ehrliche Degradation",[10,1378,1379,1380,956],{},"Zero Hallucination ≠ „immer eine Antwort“—sondern ",[117,1381,1382],{},"kein Beleg, keine Erfindung",[702,1384,1385,1395],{},[705,1386,1387],{},[708,1388,1389,1392],{},[711,1390,1391],{},"Szenario",[711,1393,1394],{},"Verhalten",[724,1396,1397,1405,1416,1424,1432],{},[708,1398,1399,1402],{},[729,1400,1401],{},"Segment-Zusammenfassungen noch nicht fertig",[729,1403,1404],{},"Zuerst Volltext extrahieren und zusammenfassen",[708,1406,1407,1410],{},[729,1408,1409],{},"Tool findet nichts",[729,1411,1412,1415],{},[99,1413,1414],{},"(No relevant segment excerpts found…)"," zurück; Modell soll „nicht im Buch“ sagen",[708,1417,1418,1421],{},[729,1419,1420],{},"Ungültige zweiteilige Tags vom Modell",[729,1422,1423],{},"Frontend filtert; keine kaputten Fußnoten",[708,1425,1426,1429],{},[729,1427,1428],{},"Smalltalk",[729,1430,1431],{},"System Prompt erlaubt Allgemeinwissen ohne Buch",[708,1433,1434,1437],{},[729,1435,1436],{},"Chat exportieren",[729,1438,1439],{},"Fußnoten können Reader-Deep-Links für Teilen/Archiv werden",[10,1441,1442],{},[13,1443],{"alt":1444,"src":1445},"Chat-Export","https://cdn.linghuxiong.com/resources/snapshots/ai-chat-export.png",[24,1447],{},[27,1449,1451],{"id":1450},"ix-design-abwägung-warum-kein-vektor-rag","IX. Design-Abwägung: Warum kein „Vektor-RAG“?",[10,1453,1454,1455,1458],{},"Kollegen im Dokumenten-Q&A fragen oft: Wenn Retrieval-Augmented Generation—warum nicht ",[117,1456,1457],{},"Embedding + Vektor-DB Top-K","?",[10,1460,1461,1462,1465,1466,1469,1470,1473,1474,1477],{},"Wir ",[117,1463,1464],{},"machen RAG","—erst suchen, dann generieren. Der Unterschied: „RAG“ impliziert in der Community oft ",[117,1467,1468],{},"Vektor-Ähnlichkeit","; unsere Phase 3 ist ",[117,1471,1472],{},"Segment-Index + Tool mit Quelltext on demand","—",[117,1475,1476],{},"bewusst ohne Vektorschicht",". Unten: architektonische Gründe, kein Abwertung von Vektor-RAG.",[61,1479,1481],{"id":1480},"abgrenzung-nicht-kein-retrieval-sondern-kein-vektor-retrieval","Abgrenzung: nicht „kein Retrieval“, sondern „kein Vektor-Retrieval“",[35,1483,1484,1493],{},[38,1485,1486,1489,1490,627],{},[117,1487,1488],{},"Breites RAG:"," suchen → generieren → ",[117,1491,1492],{},"machen wir",[38,1494,1495,1498,1499,653],{},[117,1496,1497],{},"Vektor-RAG:"," Recall per Embedding-Ähnlichkeit → ",[117,1500,1501],{},"in dieser Version nicht",[10,1503,1504,1505,1508,1509,1511],{},"Die Vorverarbeitung baut einen ",[117,1506,1507],{},"Segment-Zusammenfassungs-Index","; das Modell wählt Segmente per Tools und erhält ",[117,1510,743],{},". Retrieval ohne separates Embedding-Modell und Vektor-Index-Pflege.",[24,1513],{},[61,1515,1517],{"id":1516},"grund-1-eigene-llm-providerkleine-integrationsfläche","Grund 1: Eigene LLM-Provider—kleine Integrationsfläche",[10,1519,1520,1521,1524,1525,1528],{},"Nutzer können ",[117,1522,1523],{},"eigene API-Keys",", eigene Base-URLs oder ",[117,1526,1527],{},"lokales Ollama"," nutzen—Chat-Modell ist ihre Wahl; Kosten und Datenpfad bleiben kontrollierbar.",[10,1530,1531],{},"Typisches Vektor-RAG erweitert die Integration:",[35,1533,1534,1545,1548],{},[38,1535,1536,1537,1540,1541,1544],{},"Neben ",[117,1538,1539],{},"Chat-Modell"," meist ein ",[117,1542,1543],{},"Embedding-Modell"," (anderer Name, oft anderer Endpoint);",[38,1546,1547],{},"Lokales Ollama braucht separates Embedding-Modell plus Dimension/API-Kompatibilität;",[38,1549,1550,1551,1554],{},"Mehr Fehlerdomänen: Chat ok, aber ",[117,1552,1553],{},"leerer Abruf","—Embedding, Index oder Dimension; schwerer zu debuggen als ein Provider end-to-end.",[10,1556,1557,1558,1561,1562,1565],{},"Hier teilen ",[117,1559,1560],{},"Segmentwahl und Antwort eine Provider-Konfiguration","—kein „Chat auf A, Index auf B“. Für ",[117,1563,1564],{},"austauschbare LLM","-Apps oft wichtiger als wenige Recall-Punkte.",[10,1567,1568],{},[13,1569],{"alt":1570,"src":1571},"Eigene KI-Provider","https://cdn.linghuxiong.com/resources/snapshots/ai-customize-providers.png",[24,1573],{},[61,1575,1577],{"id":1576},"grund-2-embeddings-binden-an-den-indexprovider-wechsel-ist-teuer","Grund 2: Embeddings binden an den Index—Provider-Wechsel ist teuer",[10,1579,1580,1581,1584,1585,1588,1589,1592],{},"Bei Vektor-RAG sind ",[117,1582,1583],{},"Vektoren kein universelles Zwischenformat","—sie sind Koordinaten unter einem Embedding-Modell. Index mit A, Abfrage mit B: Ähnlichkeit meist ",[117,1586,1587],{},"nicht vergleichbar","—oft ",[117,1590,1591],{},"vollständiges Re-Embedding",", Dimensionen (768 / 1024 / 1536 …) binden das Speicher-Schema.",[10,1594,1595,1596,1599,1600,1603],{},"Phase 3 persistiert ",[117,1597,1598],{},"strukturierte Zusammenfassungen + Zeichen-Spannen",", keine Vektoren; Chat-Modell wechseln ",[117,1601,1602],{},"ohne Index-Rebuild","; Belegkette (Quellpositionen) bleibt—passt zu „jederzeit andere LLMs testen“.",[24,1605],{},[61,1607,1609],{"id":1608},"grund-3-strukturiertes-routing-reicht-oft-für-toc-lastige-langdokumente","Grund 3: Strukturiertes Routing reicht oft für TOC-lastige Langdokumente",[10,1611,1612,1613,1616,1617,1620,1621,1624,1625,1630],{},"E-Books und PDFs haben meist ",[117,1614,1615],{},"Kapitelstruktur","; die Vorverarbeitung liefert ",[117,1618,1619],{},"Segmenttitel + Zusammenfassungen",". Für „was sagt Kapitel X“ oder „wie definiert das Buch Y“: Segmente aus dem Katalog wählen, dann ",[117,1622,1623],{},"Quelle ziehen","—in der Praxis stabil; Tool liefert ",[117,1626,1627,1628],{},"Quelle mit ",[99,1629,1262],{},", Zero Hallucination bleibt an Zeichen-Spannen verankert.",[10,1632,1633,1634,1637,1638,1641],{},"Vektoren helfen bei semantischer Unschärfe, Mehrsprachigkeit, langen wörtlichen Treffern; für ",[117,1635,1636],{},"TOC + Vorverarbeitung + starke Nachverfolgbarkeit"," lohnt sich die Investition in ",[117,1639,1640],{},"Tool + Quellrückgabe + Zitierregeln"," oft mehr.",[24,1643],{},[61,1645,1647],{"id":1646},"ausblick-hybrider-recall-kein-neuanfang","Ausblick: Hybrider Recall, kein Neuanfang",[10,1649,1650,1651,1654,1655,1658,1659,1662,1663,1666],{},"Möglich ist später ",[117,1652,1653],{},"Vektor-Grobrecall"," (Embedding nur für Top-N-Kapitel-Kandidaten), Ende bleibt ",[117,1656,1657],{},"Segment wählen → Quelle → klickbare Spur","—Zero-Hallucination-Regeln unverändert. Falls eingeführt: Embedding ",[117,1660,1661],{},"optional",", explizite ",[117,1664,1665],{},"Re-Index","-Hinweise bei Modellwechsel—kein silent wrong retrieval.",[10,1668,1669,1670],{},"Bis dahin: ",[117,1671,1672],{},"jede OpenAI-kompatible Chat-API funktioniert; Chat-Modell wechseln ohne lokalen Index-Rebuild.",[24,1674],{},[27,1676,1678],{"id":1677},"x-zusammenfassung","X. Zusammenfassung",[702,1680,1681,1694],{},[705,1682,1683],{},[708,1684,1685,1688,1691],{},[711,1686,1687],{},"Schritt",[711,1689,1690],{},"Methode",[711,1692,1693],{},"Rolle",[724,1695,1696,1707,1720,1735,1746,1757],{},[708,1697,1698,1701,1704],{},[729,1699,1700],{},"Vorverarbeitung",[729,1702,1703],{},"Aufteilung nach TOC/Länge + Segment-Cache",[729,1705,1706],{},"Lange Bücher durchsuchbar & lokalisierbar",[708,1708,1709,1712,1717],{},[729,1710,1711],{},"Positions-Tags",[729,1713,1714,1716],{},[99,1715,577],{}," in der Quelle",[729,1718,1719],{},"Maschinenlesbare Herkunft",[708,1721,1722,1725,1732],{},[729,1723,1724],{},"Tool-Abruf",[729,1726,1727,1728,1731],{},"Segmente / Vollbuch-Zusammenfassungen pro Frage, ",[117,1729,1730],{},"Quelle"," zurück",[729,1733,1734],{},"Beleg vor Antwort erzwingen",[708,1736,1737,1740,1743],{},[729,1738,1739],{},"System Prompt",[729,1741,1742],{},"Buch zuerst, keine gefälschten Tags, fehlendes benennen",[729,1744,1745],{},"Generierung einschränken",[708,1747,1748,1751,1754],{},[729,1749,1750],{},"Frontend",[729,1752,1753],{},"Fußnote → Vorschau → Sprung & Hervorhebung",[729,1755,1756],{},"Nutzer prüft Belege",[708,1758,1759,1762,1765],{},[729,1760,1761],{},"Kein Vektor-Retrieval",[729,1763,1764],{},"Ein Provider; Chat-Modell tauschen ohne Re-Index",[729,1766,1767],{},"Geringere Integrations- & Migrationskosten",[10,1769,1770,1771,1774],{},"„Zero Hallucination“ heißt nicht, dass das Modell nie irrt—sondern dass ",[117,1772,1773],{},"Engineering die Ausgabe an eine Belegkette bindet",": kein Abruf → nicht als Buchinhalt ausgeben; mit Abruf → verifizierbare Quellpositionen.",[10,1776,1777,1778,1781,1782,1785],{},"Wenn Sie AI-Reading oder Dokumenten-Q&A bauen, hoffen wir, der Weg ",[117,1779,1780],{},"Volltext → Schlüsselsätze → Tool-first on demand"," plus ",[117,1783,1784],{},"inline Positions-Tags + Quellrückgabe"," sei eine nützliche Referenz.",[18,1787,1788],{},[10,1789,1790,1791,1795,1796,653],{},"Das sind Erfahrungen aus dem ",[664,1792,267],{"href":1793,"rel":1794},"https://reader.linghuxiong.com",[668]," AI-Reader—nur zur Orientierung. Den Reader finden Sie auf der ",[664,1797,1799],{"href":1798},"/de-de#download","Download-Seite",{"title":72,"searchDepth":238,"depth":238,"links":1801},[1802,1807,1808,1809,1810,1814,1821,1825,1826,1833],{"id":464,"depth":238,"text":465,"children":1803},[1804,1805,1806],{"id":480,"depth":244,"text":481},{"id":560,"depth":244,"text":561},{"id":656,"depth":244,"text":657},{"id":846,"depth":238,"text":847},{"id":907,"depth":238,"text":908},{"id":922,"depth":238,"text":923},{"id":1051,"depth":238,"text":1052,"children":1811},[1812,1813],{"id":1079,"depth":244,"text":1080},{"id":1105,"depth":244,"text":1106},{"id":1182,"depth":238,"text":1183,"children":1815},[1816,1818,1820],{"id":1200,"depth":244,"text":1817},"6.1 get_related_segment_summaries — Gezielter Segment-Abruf",{"id":1266,"depth":244,"text":1819},"6.2 get_full_book_segment_summaries — Gesamtbuch-Überblick",{"id":1287,"depth":244,"text":1288},{"id":1318,"depth":238,"text":1319,"children":1822},[1823,1824],{"id":1328,"depth":244,"text":1329},{"id":1339,"depth":244,"text":1340},{"id":1375,"depth":238,"text":1376},{"id":1450,"depth":238,"text":1451,"children":1827},[1828,1829,1830,1831,1832],{"id":1480,"depth":244,"text":1481},{"id":1516,"depth":244,"text":1517},{"id":1576,"depth":244,"text":1577},{"id":1608,"depth":244,"text":1609},{"id":1646,"depth":244,"text":1647},{"id":1677,"depth":238,"text":1678},"2026-06-03","Technische Einblicke in Zero-Hallucination-Q&A im AI-Reader—Antworten strikt am Buchtext, mit Ein-Klick-Zitaten zu exakten Passagen.",{},"/de-de/blog/zero-hallucination-qa",{"title":438,"description":1835},"de-de/blog/zero-hallucination-qa",[1841,1842,1843],"Leser","KI","Technik","zero-hallucination-qa","g9uECFFgKYnaY-yPn0UEDOE7zh85obCBo3y-QSaUYvo",1786513819781]