{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 129,\n \"parent_id\": 100,\n \"slug\": \"sql-nachladen\",\n \"path\": \"\/prozesse\/rag-prozess\/sql-nachladen\",\n \"title\": \"SQL-Nachladen\",\n \"description\": \"Phase A3: Kanonisches Nachladen der Chunks aus SQL-Datenbank\",\n \"content\": \"<h2>Kanonisches SQL-Nachladen (Phase A3)<\/h2>\\n\\n<h3>Ziel<\/h3>\\n<p>Rückführung der vorselektierten Chunks in den <strong>kanonischen Datenbestand<\/strong>. Ab dieser Phase spielt die Vektordatenbank keine Rolle mehr.<\/p>\\n\\n<h3>Grundprinzip<\/h3>\\n<p><strong>Kein Vertrauen in Payload-Content.<\/strong> Die Vektordatenbank liefert nur IDs. Der tatsächliche Content wird ausschließlich aus der SQL-Datenbank geladen.<\/p>\\n\\n<h3>Ablauf<\/h3>\\n<ol>\\n <li>Für jede Chunk-ID werden aus der SQL-Datenbank geladen:\\n <ul>\\n <li>Chunk-Text (vollständig)<\/li>\\n <li>Dokumenten-Referenz<\/li>\\n <li>Abschnitts-Referenz<\/li>\\n <li>Provenienzinformationen<\/li>\\n <\/ul>\\n <\/li>\\n <li>Die Vektordatenbank spielt <strong>keine Rolle mehr<\/strong><\/li>\\n <li>SQL ist alleinige Quelle der Wahrheit<\/li>\\n<\/ol>\\n\\n<h3>SQL-Abfrage<\/h3>\\n<pre>\\nSELECT \\n c.id, c.content, c.heading_path, c.token_count,\\n d.id AS document_id, d.filename, d.source_path,\\n dp.page_number\\nFROM chunks c\\nJOIN documents d ON c.document_id = d.id\\nLEFT JOIN document_pages dp ON c.page_id = dp.id\\nWHERE c.id IN (?, ?, ?, ...)\\n<\/pre>\\n\\n<h3>Warum nicht direkt aus Qdrant-Payload?<\/h3>\\n<table>\\n <thead><tr><th>Qdrant-Payload<\/th><th>SQL-Datenbank<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td>Kann veraltet sein<\/td><td>Ist kanonisch und aktuell<\/td><\/tr>\\n <tr><td>Keine Versionierung<\/td><td>Versioniert und nachvollziehbar<\/td><\/tr>\\n <tr><td>Keine Provenienz<\/td><td>Vollständige Quellenreferenz<\/td><\/tr>\\n <tr><td>Optimiert für Suche<\/td><td>Optimiert für Wahrheit<\/td><\/tr>\\n <\/tbody>\\n<\/table>\\n\\n<h3>Ergebnisartefakte<\/h3>\\n<ul>\\n <li>Vollständige Chunk-Datensätze<\/li>\\n <li>Dokumenten-Metadaten<\/li>\\n <li>Provenienz-Informationen<\/li>\\n<\/ul>\\n\\n<h3>Beteiligte Komponenten<\/h3>\\n<table>\\n <thead><tr><th>Komponente<\/th><th>Pfad<\/th><th>Funktion<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td>ChunkRepository<\/td><td><code>src\/Infrastructure\/<\/code><\/td><td>SQL-Abfrage<\/td><\/tr>\\n <tr><td>chunks-Tabelle<\/td><td><code>ki_content.chunks<\/code><\/td><td>Chunk-Speicher<\/td><\/tr>\\n <tr><td>documents-Tabelle<\/td><td><code>ki_content.documents<\/code><\/td><td>Dokument-Metadaten<\/td><\/tr>\\n <\/tbody>\\n<\/table>\\n\\n<h3>Prüfbedingungen für Supervision<\/h3>\\n<ul>\\n <li>Jeder verwendete Text ist aus SQL rekonstruierbar<\/li>\\n <li>Kein Content aus Qdrant-Payload wird direkt verwendet<\/li>\\n <li>Alle Chunks haben valide Dokumenten-Referenzen<\/li>\\n <li>Fehlende Chunks in SQL führen zum Ausschluss (nicht zur Nutzung von Payload)<\/li>\\n<\/ul>\",\n \"status\": \"published\",\n \"sort_order\": 8,\n \"depth\": 2,\n \"created_at\": \"2025-12-24T10:23:42\",\n \"updated_at\": \"2025-12-27T15:18:56\"\n }\n}"
}
]
}