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