Protokoll #12729
| ID | 12729 |
|---|---|
| Zeitstempel | 2025-12-24 10:31:09.097304 |
| Client | root |
| IP | Warning: Undefined array key "request_ip" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 |
| Modell | claude-sonnet-4-20250514 |
| Status | completed |
| Tokens | 3,986 (Input: 0, Output: 0) |
| Dauer | 224 ms |
| Request-Zeit | Warning: Undefined array key "request_timestamp" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 18 |
| Response-Zeit | - |
Warning: Undefined array key "error_message" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 22
Request
{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_update",
"tool_input": {
"id": 100,
"content": "<nav class=\"breadcrumb\">\n <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/prozesse\">Prozesse<\/a> » RAG-Prozess\n<\/nav>\n\n<h1>RAG-Prozess<\/h1>\n\n<section>\n <h2>Übersicht<\/h2>\n <p>Der RAG-Prozess (Retrieval Augmented Generation) bildet das Herzstück der KI-gestützten Wissensgenerierung. Die Architektur trennt strikt zwischen <strong>Offline-Pipeline<\/strong> (Wissensaufbau) und <strong>Online-Pipeline<\/strong> (Wissenskonsum).<\/p>\n \n <h3>Grundprinzip<\/h3>\n <ul>\n <li>Die <strong>Offline-Pipeline<\/strong> (Phase 0-12) erzeugt und strukturiert Wissen.<\/li>\n <li>Die <strong>Online-Pipeline<\/strong> (Phase A0-A8) konsumiert Wissen, ohne es zu verändern.<\/li>\n <li>Zwischen beiden Pipelines besteht <strong>keine Rückkopplung zur Laufzeit<\/strong>.<\/li>\n <\/ul>\n<\/section>\n\n<section>\n <h2>Drei-Säulen-Architektur<\/h2>\n <table>\n <thead><tr><th>System<\/th><th>Rolle<\/th><th>Inhalt<\/th><\/tr><\/thead>\n <tbody>\n <tr><td><strong>SQL-Datenbank<\/strong><\/td><td>Single Source of Truth<\/td><td>Text, Struktur, Entitäten, Aussagen, Provenienz<\/td><\/tr>\n <tr><td><strong>Vektordatenbank<\/strong><\/td><td>Ähnlichkeitsindex<\/td><td>Embeddings für Chunk-Retrieval (keine Semantik!)<\/td><\/tr>\n <tr><td><strong>Graph<\/strong><\/td><td>Wissensmodell<\/td><td>Entitäten, Relationen, Ontologie, Taxonomie<\/td><\/tr>\n <\/tbody>\n <\/table>\n \n <h3>Einordnung des Graphen<\/h3>\n <p>Der Graph ist <strong>logisch primär<\/strong> als Wissensmodell, <strong>physisch jedoch aus der SQL-Quelle materialisiert<\/strong>. Er repräsentiert einen veröffentlichten, versionierten Wissenszustand - kein eigenständiges Speichersystem.<\/p>\n<\/section>\n\n<section>\n <h2>Offline-Pipeline (Phase 0-12)<\/h2>\n <p>Die Offline-Pipeline wird <strong>asynchron und batch-orientiert<\/strong> ausgeführt. Sie läuft unabhängig von Benutzeranfragen.<\/p>\n \n <h3>Indexierungsphase (Phase 0-4)<\/h3>\n <p>Dokumente werden importiert, identifiziert, strukturiert, in Chunks zerlegt und vektorisiert.<\/p>\n \n <h3>Semantische Phase (Phase 5-10)<\/h3>\n <p>Entitäten werden extrahiert, normalisiert und zu einem Wissensgraphen mit Ontologie und Taxonomie aufgebaut.<\/p>\n <p><strong>Begriffspräzision:<\/strong> \"Semantik\" bezeichnet hier die <em>strukturelle Bedeutungsextraktion<\/em> aus Text - nicht die Bedeutung im LLM-Kontext.<\/p>\n \n <h3>Persistenzphase (Phase 11-12)<\/h3>\n <p>Der Graph wird als versionierter Wissenszustand persistiert. Das System erreicht einen stabilen, supervisionstauglichen Zustand.<\/p>\n \n <h3>Datenfluss Offline<\/h3>\n <pre>\nDokument → Identität → SQL-Speicherung → Strukturzerlegung → Chunking\n ↓\n Embedding → Qdrant\n ↓\n Semantik-Extraktion → Normalisierung\n ↓\n Ontologie → Taxonomie → Graph-Persistenz\n ↓\n Stabiler Zielzustand\n <\/pre>\n<\/section>\n\n<section>\n <h2>Online-Pipeline (Phase A0-A8)<\/h2>\n <p>Die Online-Pipeline ist ein <strong>konsumierender Prozess<\/strong>, der ausschließlich auf bereits validierten, versionierten Zuständen arbeitet.<\/p>\n \n <h3>Kernprinzipien<\/h3>\n <ul>\n <li>Die Abfrage <strong>erzeugt kein Wissen<\/strong><\/li>\n <li>Sie <strong>kombiniert<\/strong>, <strong>filtert<\/strong> und <strong>formuliert<\/strong> vorhandene Information<\/li>\n <li>Der Graph wird <strong>nicht verändert<\/strong><\/li>\n <li>Die SQL-Datenbank bleibt <strong>kanonisch<\/strong><\/li>\n <li>Die Vektordatenbank wird <strong>nur zur Vorselektion<\/strong> genutzt<\/li>\n <\/ul>\n \n <h3>Datenfluss Online<\/h3>\n <pre>\nAnfrage → Query-Embedding → Ähnlichkeitssuche (Qdrant)\n ↓\n Chunk-IDs + Scores\n ↓\n SQL-Nachladen (kanonische Daten)\n ↓\n Kontext-Selektion → Prompt-Komposition\n ↓\n LLM-Generierung\n ↓\n Ausgabe mit Quellennachweis\n <\/pre>\n <p><strong>Wichtig:<\/strong> Es gibt keinen Rückfluss von der LLM-Ausgabe in Semantik, Ontologie oder Graph.<\/p>\n<\/section>\n\n<section>\n <h2>Graph-Rolle im Abfrageprozess<\/h2>\n <p>Der Graph wird im aktuellen RAG-Prozess <strong>nicht aktiv zur Laufzeit abgefragt<\/strong>. Das ist kein Defizit, sondern architektonisch gewollt:<\/p>\n \n <table>\n <thead><tr><th>Aspekt<\/th><th>Erklärung<\/th><\/tr><\/thead>\n <tbody>\n <tr><td><strong>Aktuelle Nutzung<\/strong><\/td><td>RAG nutzt textuelle Projektionen (Chunks) für Kontext<\/td><\/tr>\n <tr><td><strong>Graph-Funktion<\/strong><\/td><td>Referenz- und Wahrheitsmodell für Supervision und Validierung<\/td><\/tr>\n <tr><td><strong>Erweiterungspfad<\/strong><\/td><td>Graph-basierte Abfragen sind optionale Erweiterung, kein aktuelles Erfordernis<\/td><\/tr>\n <\/tbody>\n <\/table>\n \n <p>Der Graph garantiert <strong>strukturelle Konsistenz<\/strong> des Wissensbestands, ohne dass jede Abfrage ihn traversieren muss.<\/p>\n<\/section>\n\n<section>\n <h2>Autoritätsregel<\/h2>\n <ol>\n <li>Die <strong>SQL-Datenbank<\/strong> ist die kanonische Quelle der Wahrheit für alle bedeutungstragenden Daten.<\/li>\n <li>Der <strong>Graph<\/strong> ist logisch primär als Wissensmodell, physisch jedoch aus der SQL-Quelle materialisiert.<\/li>\n <li>Die <strong>Vektordatenbank<\/strong> ist ausschließlich ein technischer Ähnlichkeitsindex und trägt keine semantische Wahrheit.<\/li>\n <\/ol>\n<\/section>\n\n<section>\n <h2>Technische Konfiguration<\/h2>\n <table>\n <tr><th>Embedding-Modell<\/th><td>mxbai-embed-large (Ollama)<\/td><\/tr>\n <tr><th>Vektordatenbank<\/th><td>Qdrant (1536 Dimensionen, Cosine)<\/td><\/tr>\n <tr><th>LLM<\/th><td>Claude API \/ Ollama<\/td><\/tr>\n <tr><th>SQL-Datenbank<\/th><td>MariaDB (ki_content, ki_dev)<\/td><\/tr>\n <tr><th>Pipeline<\/th><td>\/var\/www\/scripts\/pipeline\/<\/td><\/tr>\n <\/table>\n<\/section>\n\n<section>\n <h2>Begriffspräzision: \"Semantik\"<\/h2>\n <p>Der Begriff \"Semantik\" wird in diesem Dokument kontextabhängig verwendet:<\/p>\n <table>\n <thead><tr><th>Kontext<\/th><th>Bedeutung<\/th><th>Phase<\/th><\/tr><\/thead>\n <tbody>\n <tr><td>Semantische Extraktion<\/td><td>Strukturierte Bedeutungsextraktion aus Text (Entitäten, Relationen)<\/td><td>Phase 5-6 (Offline)<\/td><\/tr>\n <tr><td>Semantische Aussagen<\/td><td>Formalisierte Subjekt-Prädikat-Objekt-Tripel<\/td><td>Phase 7 (Offline)<\/td><\/tr>\n <tr><td>Semantische Wahrheit<\/td><td>Bedeutung im Graphmodell, nicht im Vektorraum<\/td><td>Architekturprinzip<\/td><\/tr>\n <tr><td>Keine Semantik (Vektor)<\/td><td>Vektordatenbank enthält keine Bedeutung, nur Ähnlichkeit<\/td><td>Abgrenzung<\/td><\/tr>\n <\/tbody>\n <\/table>\n<\/section>"
}
}
Response
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 100,\n \"parent_id\": 91,\n \"slug\": \"rag-prozess\",\n \"path\": \"\/prozesse\/rag-prozess\",\n \"title\": \"RAG-Prozess\",\n \"description\": \"Dokumentation des gesamten RAG-Prozesses (Retrieval Augmented Generation) für Chat und Content Studio\",\n \"content\": \"<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/prozesse\\\">Prozesse<\/a> » RAG-Prozess\\n<\/nav>\\n\\n<h1>RAG-Prozess<\/h1>\\n\\n<section>\\n <h2>Übersicht<\/h2>\\n <p>Der RAG-Prozess (Retrieval Augmented Generation) bildet das Herzstück der KI-gestützten Wissensgenerierung. Die Architektur trennt strikt zwischen <strong>Offline-Pipeline<\/strong> (Wissensaufbau) und <strong>Online-Pipeline<\/strong> (Wissenskonsum).<\/p>\\n \\n <h3>Grundprinzip<\/h3>\\n <ul>\\n <li>Die <strong>Offline-Pipeline<\/strong> (Phase 0-12) erzeugt und strukturiert Wissen.<\/li>\\n <li>Die <strong>Online-Pipeline<\/strong> (Phase A0-A8) konsumiert Wissen, ohne es zu verändern.<\/li>\\n <li>Zwischen beiden Pipelines besteht <strong>keine Rückkopplung zur Laufzeit<\/strong>.<\/li>\\n <\/ul>\\n<\/section>\\n\\n<section>\\n <h2>Drei-Säulen-Architektur<\/h2>\\n <table>\\n <thead><tr><th>System<\/th><th>Rolle<\/th><th>Inhalt<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td><strong>SQL-Datenbank<\/strong><\/td><td>Single Source of Truth<\/td><td>Text, Struktur, Entitäten, Aussagen, Provenienz<\/td><\/tr>\\n <tr><td><strong>Vektordatenbank<\/strong><\/td><td>Ähnlichkeitsindex<\/td><td>Embeddings für Chunk-Retrieval (keine Semantik!)<\/td><\/tr>\\n <tr><td><strong>Graph<\/strong><\/td><td>Wissensmodell<\/td><td>Entitäten, Relationen, Ontologie, Taxonomie<\/td><\/tr>\\n <\/tbody>\\n <\/table>\\n \\n <h3>Einordnung des Graphen<\/h3>\\n <p>Der Graph ist <strong>logisch primär<\/strong> als Wissensmodell, <strong>physisch jedoch aus der SQL-Quelle materialisiert<\/strong>. Er repräsentiert einen veröffentlichten, versionierten Wissenszustand - kein eigenständiges Speichersystem.<\/p>\\n<\/section>\\n\\n<section>\\n <h2>Offline-Pipeline (Phase 0-12)<\/h2>\\n <p>Die Offline-Pipeline wird <strong>asynchron und batch-orientiert<\/strong> ausgeführt. Sie läuft unabhängig von Benutzeranfragen.<\/p>\\n \\n <h3>Indexierungsphase (Phase 0-4)<\/h3>\\n <p>Dokumente werden importiert, identifiziert, strukturiert, in Chunks zerlegt und vektorisiert.<\/p>\\n \\n <h3>Semantische Phase (Phase 5-10)<\/h3>\\n <p>Entitäten werden extrahiert, normalisiert und zu einem Wissensgraphen mit Ontologie und Taxonomie aufgebaut.<\/p>\\n <p><strong>Begriffspräzision:<\/strong> \\\"Semantik\\\" bezeichnet hier die <em>strukturelle Bedeutungsextraktion<\/em> aus Text - nicht die Bedeutung im LLM-Kontext.<\/p>\\n \\n <h3>Persistenzphase (Phase 11-12)<\/h3>\\n <p>Der Graph wird als versionierter Wissenszustand persistiert. Das System erreicht einen stabilen, supervisionstauglichen Zustand.<\/p>\\n \\n <h3>Datenfluss Offline<\/h3>\\n <pre>\\nDokument → Identität → SQL-Speicherung → Strukturzerlegung → Chunking\\n ↓\\n Embedding → Qdrant\\n ↓\\n Semantik-Extraktion → Normalisierung\\n ↓\\n Ontologie → Taxonomie → Graph-Persistenz\\n ↓\\n Stabiler Zielzustand\\n <\/pre>\\n<\/section>\\n\\n<section>\\n <h2>Online-Pipeline (Phase A0-A8)<\/h2>\\n <p>Die Online-Pipeline ist ein <strong>konsumierender Prozess<\/strong>, der ausschließlich auf bereits validierten, versionierten Zuständen arbeitet.<\/p>\\n \\n <h3>Kernprinzipien<\/h3>\\n <ul>\\n <li>Die Abfrage <strong>erzeugt kein Wissen<\/strong><\/li>\\n <li>Sie <strong>kombiniert<\/strong>, <strong>filtert<\/strong> und <strong>formuliert<\/strong> vorhandene Information<\/li>\\n <li>Der Graph wird <strong>nicht verändert<\/strong><\/li>\\n <li>Die SQL-Datenbank bleibt <strong>kanonisch<\/strong><\/li>\\n <li>Die Vektordatenbank wird <strong>nur zur Vorselektion<\/strong> genutzt<\/li>\\n <\/ul>\\n \\n <h3>Datenfluss Online<\/h3>\\n <pre>\\nAnfrage → Query-Embedding → Ähnlichkeitssuche (Qdrant)\\n ↓\\n Chunk-IDs + Scores\\n ↓\\n SQL-Nachladen (kanonische Daten)\\n ↓\\n Kontext-Selektion → Prompt-Komposition\\n ↓\\n LLM-Generierung\\n ↓\\n Ausgabe mit Quellennachweis\\n <\/pre>\\n <p><strong>Wichtig:<\/strong> Es gibt keinen Rückfluss von der LLM-Ausgabe in Semantik, Ontologie oder Graph.<\/p>\\n<\/section>\\n\\n<section>\\n <h2>Graph-Rolle im Abfrageprozess<\/h2>\\n <p>Der Graph wird im aktuellen RAG-Prozess <strong>nicht aktiv zur Laufzeit abgefragt<\/strong>. Das ist kein Defizit, sondern architektonisch gewollt:<\/p>\\n \\n <table>\\n <thead><tr><th>Aspekt<\/th><th>Erklärung<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td><strong>Aktuelle Nutzung<\/strong><\/td><td>RAG nutzt textuelle Projektionen (Chunks) für Kontext<\/td><\/tr>\\n <tr><td><strong>Graph-Funktion<\/strong><\/td><td>Referenz- und Wahrheitsmodell für Supervision und Validierung<\/td><\/tr>\\n <tr><td><strong>Erweiterungspfad<\/strong><\/td><td>Graph-basierte Abfragen sind optionale Erweiterung, kein aktuelles Erfordernis<\/td><\/tr>\\n <\/tbody>\\n <\/table>\\n \\n <p>Der Graph garantiert <strong>strukturelle Konsistenz<\/strong> des Wissensbestands, ohne dass jede Abfrage ihn traversieren muss.<\/p>\\n<\/section>\\n\\n<section>\\n <h2>Autoritätsregel<\/h2>\\n <ol>\\n <li>Die <strong>SQL-Datenbank<\/strong> ist die kanonische Quelle der Wahrheit für alle bedeutungstragenden Daten.<\/li>\\n <li>Der <strong>Graph<\/strong> ist logisch primär als Wissensmodell, physisch jedoch aus der SQL-Quelle materialisiert.<\/li>\\n <li>Die <strong>Vektordatenbank<\/strong> ist ausschließlich ein technischer Ähnlichkeitsindex und trägt keine semantische Wahrheit.<\/li>\\n <\/ol>\\n<\/section>\\n\\n<section>\\n <h2>Technische Konfiguration<\/h2>\\n <table>\\n <tr><th>Embedding-Modell<\/th><td>mxbai-embed-large (Ollama)<\/td><\/tr>\\n <tr><th>Vektordatenbank<\/th><td>Qdrant (1536 Dimensionen, Cosine)<\/td><\/tr>\\n <tr><th>LLM<\/th><td>Claude API \/ Ollama<\/td><\/tr>\\n <tr><th>SQL-Datenbank<\/th><td>MariaDB (ki_content, ki_dev)<\/td><\/tr>\\n <tr><th>Pipeline<\/th><td>\/var\/www\/scripts\/pipeline\/<\/td><\/tr>\\n <\/table>\\n<\/section>\\n\\n<section>\\n <h2>Begriffspräzision: \\\"Semantik\\\"<\/h2>\\n <p>Der Begriff \\\"Semantik\\\" wird in diesem Dokument kontextabhängig verwendet:<\/p>\\n <table>\\n <thead><tr><th>Kontext<\/th><th>Bedeutung<\/th><th>Phase<\/th><\/tr><\/thead>\\n <tbody>\\n <tr><td>Semantische Extraktion<\/td><td>Strukturierte Bedeutungsextraktion aus Text (Entitäten, Relationen)<\/td><td>Phase 5-6 (Offline)<\/td><\/tr>\\n <tr><td>Semantische Aussagen<\/td><td>Formalisierte Subjekt-Prädikat-Objekt-Tripel<\/td><td>Phase 7 (Offline)<\/td><\/tr>\\n <tr><td>Semantische Wahrheit<\/td><td>Bedeutung im Graphmodell, nicht im Vektorraum<\/td><td>Architekturprinzip<\/td><\/tr>\\n <tr><td>Keine Semantik (Vektor)<\/td><td>Vektordatenbank enthält keine Bedeutung, nur Ähnlichkeit<\/td><td>Abgrenzung<\/td><\/tr>\\n <\/tbody>\\n <\/table>\\n<\/section>\",\n \"status\": \"published\",\n \"sort_order\": 2,\n \"depth\": 1,\n \"created_at\": \"2025-12-24T09:41:17\",\n \"updated_at\": \"2025-12-24T10:31:09\"\n },\n \"message\": \"Dokument #100 aktualisiert\"\n}"
}
]
}