{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_create",
"tool_input": {
"title": "Vektorspeicherung",
"slug": "vektorspeicherung",
"parent_id": 100,
"status": "published",
"sort_order": 4,
"content": "<h2>Vektorspeicherung<\/h2>\n\n<h3>Funktion<\/h3>\n<ul>\n<li>Embedding-Vektoren in Qdrant persistieren<\/li>\n<li>Payload mit Metadaten speichern (chunk_id, document_id, content)<\/li>\n<li>Collection-basierte Organisation (documents, system-docs, etc.)<\/li>\n<li>UUID als Point-ID für eindeutige Referenzierung<\/li>\n<\/ul>\n\n<h3>Eingabe<\/h3>\n<ul>\n<li>Embedding-Vektor (1536 Floats)<\/li>\n<li>Chunk-Metadaten (chunk_id, document_id, document_title, content)<\/li>\n<li>Ziel-Collection (documents, system-docs)<\/li>\n<\/ul>\n\n<h3>Ausgabe<\/h3>\n<ul>\n<li>Point in Qdrant Collection gespeichert<\/li>\n<li>qdrant_id in <code>chunks<\/code>-Tabelle aktualisiert<\/li>\n<\/ul>\n\n<h3>Qdrant-Konfiguration<\/h3>\n<table>\n<thead><tr><th>Eigenschaft<\/th><th>Wert<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Host<\/td><td>localhost:6333<\/td><\/tr>\n<tr><td>Dimensionen<\/td><td>1536<\/td><\/tr>\n<tr><td>Distance Metric<\/td><td>Cosine<\/td><\/tr>\n<tr><td>Collections<\/td><td>documents, system-docs<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<h3>Payload-Struktur<\/h3>\n<pre>\n{\n \"document_id\": 42,\n \"document_title\": \"Systemisches Coaching.pdf\",\n \"chunk_id\": 1234,\n \"content\": \"Die Wichtigkeit einer guten Auftragsklärung...\",\n \"source_path\": \"\/data\/documents\/coaching.pdf\"\n}\n<\/pre>\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>store_in_qdrant()<\/td><td><code>pipeline\/embed.py:47<\/code><\/td><td>Speicherung via REST API<\/td><\/tr>\n<tr><td>Qdrant REST API<\/td><td><code>PUT \/collections\/{name}\/points<\/code><\/td><td>Upsert Points<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<h3>Ablauf<\/h3>\n<ol>\n<li>UUID für Point generieren<\/li>\n<li>Payload mit Metadaten zusammenstellen<\/li>\n<li>PUT Request an Qdrant senden<\/li>\n<li>Bei Erfolg: qdrant_id in chunks-Tabelle speichern<\/li>\n<li>Bei Fehler: Logging, Retry-Logik<\/li>\n<\/ol>\n\n<h3>Code-Beispiel<\/h3>\n<pre>\ndef store_in_qdrant(collection, point_id, vector, payload):\n response = requests.put(\n f\"http:\/\/{QDRANT_HOST}:{QDRANT_PORT}\/collections\/{collection}\/points\",\n json={\"points\": [{\"id\": point_id, \"vector\": vector, \"payload\": payload}]},\n timeout=30\n )\n return response.status_code == 200\n<\/pre>\n\n<h3>Collections<\/h3>\n<table>\n<thead><tr><th>Collection<\/th><th>Inhalt<\/th><th>Verwendung<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>documents<\/td><td>Nutzdokumente (PDFs, Texte)<\/td><td>Chat, Content Studio<\/td><\/tr>\n<tr><td>system-docs<\/td><td>System-Dokumentation<\/td><td>Interne Recherche<\/td><\/tr>\n<\/tbody>\n<\/table>"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 114,\n \"parent_id\": 100,\n \"slug\": \"vektorspeicherung\",\n \"path\": \"\/prozesse\/rag-prozess\/vektorspeicherung\",\n \"title\": \"Vektorspeicherung\",\n \"description\": null,\n \"content\": \"<h2>Vektorspeicherung<\/h2>\\n\\n<h3>Funktion<\/h3>\\n<ul>\\n<li>Embedding-Vektoren in Qdrant persistieren<\/li>\\n<li>Payload mit Metadaten speichern (chunk_id, document_id, content)<\/li>\\n<li>Collection-basierte Organisation (documents, system-docs, etc.)<\/li>\\n<li>UUID als Point-ID für eindeutige Referenzierung<\/li>\\n<\/ul>\\n\\n<h3>Eingabe<\/h3>\\n<ul>\\n<li>Embedding-Vektor (1536 Floats)<\/li>\\n<li>Chunk-Metadaten (chunk_id, document_id, document_title, content)<\/li>\\n<li>Ziel-Collection (documents, system-docs)<\/li>\\n<\/ul>\\n\\n<h3>Ausgabe<\/h3>\\n<ul>\\n<li>Point in Qdrant Collection gespeichert<\/li>\\n<li>qdrant_id in <code>chunks<\/code>-Tabelle aktualisiert<\/li>\\n<\/ul>\\n\\n<h3>Qdrant-Konfiguration<\/h3>\\n<table>\\n<thead><tr><th>Eigenschaft<\/th><th>Wert<\/th><\/tr><\/thead>\\n<tbody>\\n<tr><td>Host<\/td><td>localhost:6333<\/td><\/tr>\\n<tr><td>Dimensionen<\/td><td>1536<\/td><\/tr>\\n<tr><td>Distance Metric<\/td><td>Cosine<\/td><\/tr>\\n<tr><td>Collections<\/td><td>documents, system-docs<\/td><\/tr>\\n<\/tbody>\\n<\/table>\\n\\n<h3>Payload-Struktur<\/h3>\\n<pre>\\n{\\n \\\"document_id\\\": 42,\\n \\\"document_title\\\": \\\"Systemisches Coaching.pdf\\\",\\n \\\"chunk_id\\\": 1234,\\n \\\"content\\\": \\\"Die Wichtigkeit einer guten Auftragsklärung...\\\",\\n \\\"source_path\\\": \\\"\/data\/documents\/coaching.pdf\\\"\\n}\\n<\/pre>\\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>store_in_qdrant()<\/td><td><code>pipeline\/embed.py:47<\/code><\/td><td>Speicherung via REST API<\/td><\/tr>\\n<tr><td>Qdrant REST API<\/td><td><code>PUT \/collections\/{name}\/points<\/code><\/td><td>Upsert Points<\/td><\/tr>\\n<\/tbody>\\n<\/table>\\n\\n<h3>Ablauf<\/h3>\\n<ol>\\n<li>UUID für Point generieren<\/li>\\n<li>Payload mit Metadaten zusammenstellen<\/li>\\n<li>PUT Request an Qdrant senden<\/li>\\n<li>Bei Erfolg: qdrant_id in chunks-Tabelle speichern<\/li>\\n<li>Bei Fehler: Logging, Retry-Logik<\/li>\\n<\/ol>\\n\\n<h3>Code-Beispiel<\/h3>\\n<pre>\\ndef store_in_qdrant(collection, point_id, vector, payload):\\n response = requests.put(\\n f\\\"http:\/\/{QDRANT_HOST}:{QDRANT_PORT}\/collections\/{collection}\/points\\\",\\n json={\\\"points\\\": [{\\\"id\\\": point_id, \\\"vector\\\": vector, \\\"payload\\\": payload}]},\\n timeout=30\\n )\\n return response.status_code == 200\\n<\/pre>\\n\\n<h3>Collections<\/h3>\\n<table>\\n<thead><tr><th>Collection<\/th><th>Inhalt<\/th><th>Verwendung<\/th><\/tr><\/thead>\\n<tbody>\\n<tr><td>documents<\/td><td>Nutzdokumente (PDFs, Texte)<\/td><td>Chat, Content Studio<\/td><\/tr>\\n<tr><td>system-docs<\/td><td>System-Dokumentation<\/td><td>Interne Recherche<\/td><\/tr>\\n<\/tbody>\\n<\/table>\",\n \"status\": \"published\",\n \"sort_order\": 4,\n \"depth\": 2,\n \"created_at\": \"2025-12-24T09:59:22\",\n \"updated_at\": \"2025-12-24T09:59:22\"\n },\n \"message\": \"Dokument 'Vektorspeicherung' erstellt mit ID 114\"\n}"
}
]
}