44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
# Architektur und Vertrauensgrenzen
|
|
|
|
```text
|
|
Lokale Knowledge-JSONs ──ro──┐
|
|
GLPI Knowledge Base ─────ro──┼──► Ingest ─► In-Memory Graph + Vectors
|
|
Agent runs.jsonl ─────────ro──┘ │
|
|
├──► Ollama Pool
|
|
├──► AI-THINK / Research
|
|
├──► SSE / Hierarchical LOD UI
|
|
└──► Batched Persistence
|
|
├── staging drafts
|
|
├── GLPI cache
|
|
└── graph-state.json
|
|
```
|
|
|
|
## Edge-Klassen
|
|
|
|
- `categorized_as`, `mentions`, `derived_from`: deterministisch aus lokalen oder GLPI-Daten.
|
|
- `research_evidence`: aus explizit kontrollierter Recherche, weiterhin `staging`.
|
|
- `related_to`, `depends_on`, `supports`, `contradicts`, `extends`, `same_topic`, `caused_by`: Qwen-Inferenz mit Confidence und Evidence.
|
|
- `rejected`: intern gespeicherte Prüfung ohne sichtbare Beziehung.
|
|
|
|
## Schreibmodell
|
|
|
|
Produktive Knowledge-Dateien und GLPI sind read-only. AI-THINK wird nur in das konfigurierte Staging geschrieben. Alle Schreibzugriffe laufen durch einen Prozess-weiten Coordinator, der Dateien dedupliziert und seriell vor dem Graph-Snapshot schreibt.
|
|
|
|
## Ollama-Pool
|
|
|
|
Chat- und Embeddingaufrufe werden als vollständige Requests geroutet. Healthchecks prüfen Erreichbarkeit und Modelle. Ein Per-Node-Inflight-Limit verhindert lokale Überlastung. Failover verändert keine produktiven Daten, da Schreiboperationen erst nach erfolgreicher Inferenz deterministisch ausgeführt werden.
|
|
|
|
## Hierarchische Render-Schicht
|
|
|
|
Der persistierte Wissensgraph bleibt vollständig. Das Frontend leitet eine temporäre LOD-Struktur ab:
|
|
|
|
```text
|
|
Full Graph
|
|
└── Cortex-Region
|
|
└── Themenwolke
|
|
└── lokale Gruppe
|
|
└── einzelner Wissensknoten
|
|
```
|
|
|
|
Außenkanten werden nach sichtbaren Endpunkten, Relationstyp, Richtung, Herkunft und Status aggregiert. Aktivität öffnet nur den betroffenen Hierarchiepfad.
|