Kanonisches SQL-Nachladen (Phase A3)

Ziel

Rückführung der vorselektierten Chunks in den kanonischen Datenbestand. Ab dieser Phase spielt die Vektordatenbank keine Rolle mehr.

Grundprinzip

Kein Vertrauen in Payload-Content. Die Vektordatenbank liefert nur IDs. Der tatsächliche Content wird ausschließlich aus der SQL-Datenbank geladen.

Ablauf

  1. Für jede Chunk-ID werden aus der SQL-Datenbank geladen:
    • Chunk-Text (vollständig)
    • Dokumenten-Referenz
    • Abschnitts-Referenz
    • Provenienzinformationen
  2. Die Vektordatenbank spielt keine Rolle mehr
  3. SQL ist alleinige Quelle der Wahrheit

SQL-Abfrage

SELECT 
    c.id, c.content, c.heading_path, c.token_count,
    d.id AS document_id, d.filename, d.source_path,
    dp.page_number
FROM chunks c
JOIN documents d ON c.document_id = d.id
LEFT JOIN document_pages dp ON c.page_id = dp.id
WHERE c.id IN (?, ?, ?, ...)

Warum nicht direkt aus Qdrant-Payload?

Qdrant-PayloadSQL-Datenbank
Kann veraltet seinIst kanonisch und aktuell
Keine VersionierungVersioniert und nachvollziehbar
Keine ProvenienzVollständige Quellenreferenz
Optimiert für SucheOptimiert für Wahrheit

Ergebnisartefakte

Beteiligte Komponenten

KomponentePfadFunktion
ChunkRepositorysrc/Infrastructure/SQL-Abfrage
chunks-Tabelleki_content.chunksChunk-Speicher
documents-Tabelleki_content.documentsDokument-Metadaten

Prüfbedingungen für Supervision