{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 79,\n \"parent_id\": 51,\n \"slug\": \"explorer\",\n \"path\": \"\/api\/explorer\",\n \"title\": \"Explorer API\",\n \"description\": \"REST-API für Dokumentations-Exploration mit Chunks, Taxonomie und Suche\",\n \"content\": \"<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/api\\\">API<\/a> » Explorer API\\n<\/nav>\\n\\n<h1>Explorer API<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-20 | <strong>Aktualisiert:<\/strong> 2025-12-29<\/p>\\n\\n<p>REST-API für Semantic Explorer mit Dokumenten, Chunks, Entitäten, Taxonomie und Suche.<\/p>\\n\\n<table>\\n <tr><th>Controller<\/th><td>Controller\\\\Api\\\\ExplorerController<\/td><\/tr>\\n <tr><th>Base-URL<\/th><td>\/api\/v1\/explorer<\/td><\/tr>\\n <tr><th>Datenbank<\/th><td>ki_content (documents, chunks, entities, ...)<\/td><\/tr>\\n<\/table>\\n\\n<h2>Statistiken<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/stats<\/code><\/pre>\\n<p>Liefert Übersicht über alle Daten:<\/p>\\n<pre><code>{\\n \\\"documents\\\": 15,\\n \\\"chunks\\\": {\\n \\\"total\\\": 450,\\n \\\"tokens\\\": 125000\\n },\\n \\\"entities\\\": 320,\\n \\\"relations\\\": 180,\\n \\\"taxonomy_terms\\\": 45\\n}<\/code><\/pre>\\n\\n<h2>Dokumente<\/h2>\\n\\n<h3>Liste aller Dokumente<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/documents<\/code><\/pre>\\n<p>Liefert alle Quelldokumente mit Statistiken.<\/p>\\n\\n<h3>Dokument-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/documents\/{id}<\/code><\/pre>\\n<p>Liefert Dokument mit zugehörigen Chunks.<\/p>\\n\\n<h2>Chunks<\/h2>\\n\\n<h3>Chunks auflisten<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/chunks?document_id=5&limit=50<\/code><\/pre>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>document_id<\/td><td>int<\/td><td>Filter nach Dokument<\/td><\/tr>\\n <tr><td>search<\/td><td>string<\/td><td>Suche in Content<\/td><\/tr>\\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse (max 100)<\/td><\/tr>\\n <tr><td>offset<\/td><td>int<\/td><td>Pagination-Offset<\/td><\/tr>\\n<\/table>\\n\\n<h3>Chunk-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/chunks\/{id}<\/code><\/pre>\\n<p>Liefert Chunk mit allen Metadaten:<\/p>\\n<pre><code>{\\n \\\"id\\\": 42,\\n \\\"chunk_index\\\": 3,\\n \\\"content\\\": \\\"...\\\",\\n \\\"token_count\\\": 280,\\n \\\"entities\\\": [\\n {\\\"name\\\": \\\"Carl Rogers\\\", \\\"type\\\": \\\"PERSON\\\"}\\n ],\\n \\\"keywords\\\": [\\\"Therapie\\\", \\\"Empathie\\\"],\\n \\\"qdrant_id\\\": \\\"abc123...\\\"\\n}<\/code><\/pre>\\n\\n<h2>Entitäten<\/h2>\\n\\n<h3>Entitäten auflisten<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/entities?type=PERSON&limit=50<\/code><\/pre>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Entity-Typ (PERSON, CONCEPT, ...)<\/td><\/tr>\\n <tr><td>search<\/td><td>string<\/td><td>Suche in Name<\/td><\/tr>\\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse<\/td><\/tr>\\n<\/table>\\n\\n<h3>Entity-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/entities\/{id}<\/code><\/pre>\\n\\n<h2>Relationen<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/relations<\/code><\/pre>\\n<p>Liefert alle Beziehungen zwischen Entitäten:<\/p>\\n<pre><code>{\\n \\\"relations\\\": [\\n {\\n \\\"source\\\": {\\\"id\\\": 1, \\\"name\\\": \\\"Carl Rogers\\\", \\\"type\\\": \\\"PERSON\\\"},\\n \\\"target\\\": {\\\"id\\\": 5, \\\"name\\\": \\\"Klientenzentrierte Therapie\\\", \\\"type\\\": \\\"CONCEPT\\\"},\\n \\\"relation_type\\\": \\\"INFLUENCED\\\",\\n \\\"confidence\\\": 0.95\\n }\\n ],\\n \\\"total\\\": 180\\n}<\/code><\/pre>\\n\\n<h2>Taxonomie<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/taxonomy<\/code><\/pre>\\n<p>Liefert Taxonomie-Hierarchie:<\/p>\\n<pre><code>{\\n \\\"terms\\\": [\\n {\\\"id\\\": 1, \\\"name\\\": \\\"Psychotherapie\\\", \\\"parent_id\\\": null, \\\"children\\\": [...]},\\n ...\\n ],\\n \\\"total\\\": 45\\n}<\/code><\/pre>\\n\\n<h2>Ontologie<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/ontology<\/code><\/pre>\\n<p>Liefert Ontologie-Klassen.<\/p>\\n\\n<h2>Hybrid-Suche<\/h2>\\n<pre><code>POST \/api\/v1\/explorer\/search\\nContent-Type: application\/json\\n\\n{\\n \\\"query\\\": \\\"Systemische Therapie\\\",\\n \\\"limit\\\": 10\\n}<\/code><\/pre>\\n<p>Kombiniert Vektor- und Keyword-Suche:<\/p>\\n<pre><code>{\\n \\\"query\\\": \\\"Systemische Therapie\\\",\\n \\\"results\\\": [\\n {\\n \\\"chunk_id\\\": 42,\\n \\\"content\\\": \\\"...\\\",\\n \\\"score\\\": 0.92,\\n \\\"document_title\\\": \\\"Handbuch\\\"\\n }\\n ],\\n \\\"count\\\": 8\\n}<\/code><\/pre>\\n\\n<h2>Response-Format<\/h2>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": { ... },\\n \\\"meta\\\": {\\n \\\"total\\\": 450,\\n \\\"limit\\\": 50,\\n \\\"offset\\\": 0\\n }\\n}<\/code><\/pre>\\n\\n<h2>Datenmodell<\/h2>\\n\\n<h3>documents (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>filename<\/td><td>varchar<\/td><td>Dateiname<\/td><\/tr>\\n <tr><td>title<\/td><td>varchar<\/td><td>Titel<\/td><\/tr>\\n <tr><td>source<\/td><td>varchar<\/td><td>Quelle (Nextcloud-Pfad)<\/td><\/tr>\\n <tr><td>page_count<\/td><td>int<\/td><td>Seitenanzahl<\/td><\/tr>\\n <tr><td>status<\/td><td>enum<\/td><td>pending, processing, completed, error<\/td><\/tr>\\n<\/table>\\n\\n<h3>chunks (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>document_id<\/td><td>int<\/td><td>FK zu documents<\/td><\/tr>\\n <tr><td>chunk_index<\/td><td>int<\/td><td>Position in Dokument<\/td><\/tr>\\n <tr><td>content<\/td><td>text<\/td><td>Chunk-Inhalt<\/td><\/tr>\\n <tr><td>token_count<\/td><td>int<\/td><td>Token-Anzahl<\/td><\/tr>\\n <tr><td>embedding_model<\/td><td>varchar<\/td><td>Verwendetes Modell<\/td><\/tr>\\n <tr><td>qdrant_id<\/td><td>varchar<\/td><td>Qdrant-Vektor-ID<\/td><\/tr>\\n<\/table>\\n\\n<h3>entities (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>name<\/td><td>varchar<\/td><td>Entity-Name<\/td><\/tr>\\n <tr><td>canonical_name<\/td><td>varchar<\/td><td>Normalisierter Name<\/td><\/tr>\\n <tr><td>type<\/td><td>enum<\/td><td>PERSON, CONCEPT, ORGANIZATION, ...<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Dokumentation<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/anwendungen\/semantic-explorer\\\">Semantic Explorer<\/a><\/li>\\n <li><a href=\\\"\/docs\/ki-system\/qdrant\\\">Qdrant Vektor-Datenbank<\/a><\/li>\\n <li><a href=\\\"\/docs\/prozesse\/rag-prozess\\\">RAG-Prozess<\/a><\/li>\\n<\/ul>\",\n \"status\": \"published\",\n \"sort_order\": 5,\n \"depth\": 1,\n \"created_at\": \"2025-12-20T13:39:32\",\n \"updated_at\": \"2025-12-29T14:59:40\"\n }\n}"
}
]
}