{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 64,\n \"parent_id\": 8,\n \"slug\": \"semantic-explorer\",\n \"path\": \"\/anwendungen\/semantic-explorer\",\n \"title\": \"Doc2Vector Explorer\",\n \"description\": \"Exploration der dokumentation und dokumentation_chunks Pipeline: Dokumente, Seiten, Chunks, Taxonomie und Suche\",\n \"content\": \"<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/anwendungen\\\">Anwendungen<\/a> » Doc2Vector Explorer\\n<\/nav>\\n\\n<h1>Doc2Vector Explorer<\/h1>\\n<p>Exploration und Suche in der dokumentation-Pipeline. Zeigt hierarchische Dokumente, deren Seiten und die extrahierten Text-Chunks mit Taxonomie-Klassifizierung, Keywords und Entities.<\/p>\\n\\n<table>\\n <tr><th>URL<\/th><td><a href=\\\"\/explorer\\\">\/explorer<\/a><\/td><\/tr>\\n <tr><th>Datenbank<\/th><td>ki_system (dokumentation, dokumentation_chunks)<\/td><\/tr>\\n <tr><th>Controller<\/th><td>\/src\/Controller\/ExplorerController.php<\/td><\/tr>\\n <tr><th>API-Controller<\/th><td>\/src\/Controller\/Api\/ExplorerController.php<\/td><\/tr>\\n <tr><th>Views<\/th><td>\/src\/View\/explorer\/<\/td><\/tr>\\n <tr><th>Pipeline<\/th><td>\/opt\/scripts\/pipeline\/analyze.py<\/td><\/tr>\\n<\/table>\\n\\n<h2>Datenmodell<\/h2>\\n<table>\\n <tr><th>Tabelle<\/th><th>Beschreibung<\/th><th>Felder<\/th><\/tr>\\n <tr>\\n <td><code>dokumentation<\/code><\/td>\\n <td>Hierarchische Dokumente<\/td>\\n <td>id, parent_id, title, path, content, depth, status<\/td>\\n <\/tr>\\n <tr>\\n <td><code>dokumentation_chunks<\/code><\/td>\\n <td>Extrahierte Text-Chunks<\/td>\\n <td>id, dokumentation_id, chunk_index, content, token_count, taxonomy_category, entities, keywords, qdrant_id<\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Web-UI Komponenten<\/h2>\\n<table>\\n <tr><th>Seite<\/th><th>URL<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>Dashboard<\/td><td><a href=\\\"\/explorer\\\">\/explorer<\/a><\/td><td>Statistiken, Top-Kategorien, neueste Chunks<\/td><\/tr>\\n <tr><td>Dokumente<\/td><td><a href=\\\"\/explorer\/dokumente\\\">\/explorer\/dokumente<\/a><\/td><td>Hauptbereiche (depth=0)<\/td><\/tr>\\n <tr><td>Seiten<\/td><td><a href=\\\"\/explorer\/seiten\\\">\/explorer\/seiten<\/a><\/td><td>Unterseiten (depth>0) mit Filter<\/td><\/tr>\\n <tr><td>Chunks<\/td><td><a href=\\\"\/explorer\/chunks\\\">\/explorer\/chunks<\/a><\/td><td>Alle Chunks mit Kategorie\/Status-Filter<\/td><\/tr>\\n <tr><td>Taxonomie<\/td><td><a href=\\\"\/explorer\/taxonomie\\\">\/explorer\/taxonomie<\/a><\/td><td>Kategorien, Top-Keywords, Top-Entities<\/td><\/tr>\\n <tr><td>Suche<\/td><td><a href=\\\"\/explorer\/suche\\\">\/explorer\/suche<\/a><\/td><td>HybridSearch (Qdrant + DB)<\/td><\/tr>\\n<\/table>\\n\\n<h3>Detail-Ansichten<\/h3>\\n<ul>\\n <li><code>\/explorer\/dokumente\/{id}<\/code> - Dokument mit Seiten und Chunks<\/li>\\n <li><code>\/explorer\/seiten\/{id}<\/code> - Seite mit Chunks und Unterseiten<\/li>\\n <li><code>\/explorer\/chunks\/{id}<\/code> - Chunk-Details: Entities, Keywords, Taxonomie-Pfad<\/li>\\n<\/ul>\\n\\n<h2>API-Endpoints<\/h2>\\n<table>\\n <tr><th>Method<\/th><th>Endpoint<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/stats<\/td><td>Statistiken (Dokumente, Seiten, Chunks, Tokens)<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente<\/td><td>Alle Hauptbereiche<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente\/{id}<\/td><td>Dokument mit Seiten und Taxonomie<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten<\/td><td>Alle Seiten (?search=, ?parent_id=)<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten\/{id}<\/td><td>Seite mit Chunks und Unterseiten<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks<\/td><td>Alle Chunks (?category=, ?status=, ?search=)<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks\/{id}<\/td><td>Chunk-Details<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/taxonomie<\/td><td>Kategorien und Top-Keywords<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/entities<\/td><td>Aggregierte Entities aus allen Chunks<\/td><\/tr>\\n <tr><td>POST<\/td><td>\/api\/v1\/explorer\/suche<\/td><td>HybridSearch (JSON Body)<\/td><\/tr>\\n<\/table>\\n\\n<h2>Chunk-Analyse<\/h2>\\n<p>Die Pipeline extrahiert aus jedem Chunk:<\/p>\\n<ul>\\n <li><strong>taxonomy_category:<\/strong> Thematische Kategorie (z.B. \\\"Server\\\", \\\"Sicherheit\\\")<\/li>\\n <li><strong>taxonomy_path:<\/strong> Hierarchischer Pfad der Kategorien<\/li>\\n <li><strong>entities:<\/strong> Erkannte Entitäten mit Typ (PERSON, ORGANIZATION, CONCEPT, etc.)<\/li>\\n <li><strong>keywords:<\/strong> Relevante Schlüsselwörter<\/li>\\n <li><strong>heading_path:<\/strong> Überschriften-Hierarchie im Dokument<\/li>\\n <li><strong>token_count:<\/strong> Anzahl Tokens für LLM-Budgetierung<\/li>\\n <li><strong>analysis_status:<\/strong> pending, completed, error<\/li>\\n <li><strong>qdrant_id:<\/strong> ID im Vektor-Index (falls synced)<\/li>\\n<\/ul>\\n\\n<h2>HybridSearch<\/h2>\\n<p>Die Suche kombiniert semantische Vektorsuche (Qdrant) mit Keyword-Matching (MariaDB).<\/p>\\n\\n<h3>API-Aufruf<\/h3>\\n<pre><code># Einfache Suche\\ncurl -X POST https:\/\/dev.campus.systemische-tools.de\/api\/v1\/explorer\/suche \\\\\\n -H \\\"Content-Type: application\/json\\\" \\\\\\n -d '{\\\"query\\\": \\\"Apache Konfiguration\\\", \\\"limit\\\": 10}'\\n\\n# Mit Kategorie-Filter\\ncurl -X POST https:\/\/dev.campus.systemische-tools.de\/api\/v1\/explorer\/suche \\\\\\n -H \\\"Content-Type: application\/json\\\" \\\\\\n -d '{\\\"query\\\": \\\"SSL Zertifikat\\\", \\\"category\\\": \\\"Sicherheit\\\", \\\"limit\\\": 5}'<\/code><\/pre>\\n\\n<h3>Response-Format<\/h3>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"query\\\": \\\"Apache Konfiguration\\\",\\n \\\"results\\\": [\\n {\\n \\\"id\\\": 42,\\n \\\"content\\\": \\\"Apache wird mit systemctl...\\\",\\n \\\"dokument_title\\\": \\\"Apache\\\",\\n \\\"dokument_path\\\": \\\"\/docs\/modul\/apache\\\",\\n \\\"taxonomy_category\\\": \\\"Server\\\",\\n \\\"score\\\": 0.87\\n }\\n ],\\n \\\"suggestions\\\": [\\\"Apache Module\\\", \\\"Apache Security\\\"],\\n \\\"count\\\": 5\\n }\\n}<\/code><\/pre>\\n\\n<h2>Statistiken abrufen<\/h2>\\n<pre><code>curl https:\/\/dev.campus.systemische-tools.de\/api\/v1\/explorer\/stats<\/code><\/pre>\\n\\n<h3>Response<\/h3>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"dokumente\\\": 12,\\n \\\"seiten\\\": 45,\\n \\\"chunks\\\": {\\n \\\"total\\\": 234,\\n \\\"tokens\\\": 125000,\\n \\\"analyzed\\\": 230,\\n \\\"synced\\\": 220\\n },\\n \\\"taxonomy_categories\\\": [\\n {\\\"taxonomy_category\\\": \\\"Server\\\", \\\"count\\\": 45},\\n {\\\"taxonomy_category\\\": \\\"Sicherheit\\\", \\\"count\\\": 32}\\n ]\\n }\\n}<\/code><\/pre>\\n\\n<h2>Pipeline-Integration<\/h2>\\n<p>Die Chunks werden von der Analyse-Pipeline generiert:<\/p>\\n<ol>\\n <li><code>\/opt\/scripts\/pipeline\/analyze.py<\/code> - Chunk-Erstellung und Analyse<\/li>\\n <li><code>\/opt\/scripts\/pipeline\/sync_qdrant.py<\/code> - Sync zu Vektor-DB<\/li>\\n <li><code>\/opt\/scripts\/pipeline\/generate_semantics.py<\/code> - Semantik-Generierung<\/li>\\n<\/ol>\\n\\n<p>Siehe: <a href=\\\"\/docs\/ki-pipeline\\\">KI-Pipeline<\/a><\/p>\",\n \"status\": \"published\",\n \"sort_order\": 50,\n \"depth\": 1,\n \"created_at\": \"2025-12-20T11:25:16\",\n \"updated_at\": \"2025-12-20T13:46:44\"\n }\n}"
}
]
}