{
"assistant_response": "## RAG-Prozess - Zusammenfassung\n\n### Grundprinzip\nDer RAG-Prozess (Retrieval Augmented Generation) teilt sich in zwei strikt getrennte Pipelines:\n\n| Pipeline | Phasen | Funktion |\n|----------|--------|----------|\n| **Offline** | 0-12 | Wissen erzeugen und strukturieren (asynchron, batch) |\n| **Online** | A0-A8 | Wissen konsumieren, ohne es zu verändern |\n\n**Keine Rückkopplung** zwischen den Pipelines zur Laufzeit.\n\n---\n\n### Drei-Säulen-Architektur\n\n| System | Rolle | Inhalt |\n|--------|-------|--------|\n| **SQL-Datenbank** | Single Source of Truth | Text, Struktur, Entitäten, Aussagen, Provenienz |\n| **Vektordatenbank** | Ähnlichkeitsindex | Embeddings für Chunk-Retrieval (keine Semantik!) |\n| **Graph** | Wissensmodell | Entitäten, Relationen, Ontologie, Taxonomie |\n\n---\n\n### Offline-Pipeline (Phase 0-12)\n```\nDokument → Identität → SQL → Struktur → Chunking → Embedding → Qdrant\n ↓\n Semantik-Extraktion → Normalisierung → Graph\n```\n\n1. **Indexierung (0-4):** Import, Identifikation, Chunking, Vektorisierung\n2. **Semantik (5-10):** Entitäten, Normalisierung, Ontologie, Taxonomie\n3. **Persistenz (11-12):** Versionierter Wissenszustand\n\n---\n\n### Online-Pipeline (Phase A0-A8)\n```\nAnfrage → Embedding → Qdrant (Ähnlichkeit) → Chunk-IDs\n ↓\n SQL-Nachladen → Kontext → LLM → Ausgabe + Quellen\n```\n\n**Kernprinzipien:**\n- Abfrage erzeugt kein Wissen\n- Graph wird nicht verändert\n- SQL bleibt kanonisch\n- Vektor nur zur Vorselektion\n\n---\n\n### Autoritätsregel\n1. **SQL** = kanonische Wahrheitsquelle\n2. **Graph** = logisch primär, physisch aus SQL materialisiert\n3. **Vektor** = nur technischer Index, keine semantische Wahrheit\n\n---\n\n### Technische Konfiguration\n| Komponente | Technologie |\n|------------|-------------|\n| Embedding | mxbai-embed-large (Ollama) |\n| Vektordatenbank | Qdrant (1536 Dim, Cosine) |\n| LLM | Claude API \/ Ollama |\n| SQL | MariaDB (ki_content, ki_dev) |\n| Pipeline | `\/var\/www\/scripts\/pipeline\/` |"
}