Files
glpi-neural-brain/VALIDATION-CLUSTER-FAST-MODE.md
2026-08-07 21:54:37 +02:00

30 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Validierung Cluster/Fast Mode
## Funktionsprüfungen
Geprüft wurden:
- Semantic-Hash-Kandidatensuche findet einen absichtlich nahezu identischen Vektorkandidaten.
- Exakte Cosine-Arbeit ist auf `Anchors × CandidatesPerAnchor` begrenzt.
- Approximate Similarity Retrieval findet einen identischen Query-Vektor als Top-1.
- ENV-Parsing und Validierung für alle Cluster/Fast-Parameter.
- Runtime-Normalisierung `precise`/`clustered`.
- Reviewer-Evidenzlimit und Domain-Diversifizierung.
- JavaScript-Syntax von Haupt- und Analysis-UI.
- Projektweite Go-Typkompilierung und `go vet` in der verfügbaren Toolchain-Testkopie.
## Synthetischer A/B-Test
In der lokalen Validierungsumgebung wurde ein 5.000-Node/128-Dimensionen-Korpus mit 48 Anchors verglichen:
- `precise`: 239.952 vollständige Cosine-Berechnungen, ca. 71,8 ms
- `clustered`: 239.952 billige Hash-/Hamming-Vergleiche + 4.579 vollständige Cosine-Berechnungen, ca. 39,1 ms
Das sind in diesem Test rund 98,1 % weniger vollständige Dot-Products. Der reale 768-Dimensionen-Korpus profitiert stärker von jeder vermiedenen Cosine-Berechnung. Laufzeiten sind hardware- und datensatzabhängig; die Vergleichszahlen sind daher keine garantierten Produktionswerte.
Für den aktuellen Export mit etwa 21.500 Wissensvektoren und 48 Anchors sinkt das konfigurationsbedingte Maximum der vollen Cosine-Shortlist im Cluster-Modus auf 4.608, während der bisherige Modus ungefähr eine Million volle Paarbewertungen pro Schritt erzeugt.
## Umgebungslimit
Das Projekt deklariert Go 1.26 und `modernc.org/sqlite v1.37.1`. Die verfügbare Ausführungsumgebung enthält Go 1.23.2 und keinen Modul-Netzwerkzugriff. Für Typkompilierung und `go vet` wurde deshalb ausschließlich in einer temporären Kopie die Go-Direktive auf 1.23 gesetzt und ein lokaler compile-only SQLite-Stub verwendet. Der ausgelieferte Quellbaum behält Go 1.26 und die echte SQLite-Abhängigkeit unverändert.