Some checks failed
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
1.4 KiB
1.4 KiB
Retrieval & Learning Replay Benchmark
v1.3.0 adds a read-only benchmark endpoint: POST /api/quality/replay.
It does not write to GLPI, does not learn and does not call the answer LLM. It replays
historical ticket text through the current Knowledge retrieval and the human-validated
Outcome retrieval so quality changes can be measured before a rollout.
Each case may specify:
query: historical ticket subject/body snapshot.expected_knowledge_id: the KB article known to be correct at that time.expected_solution_terms: terms expected in a technician-validated outcome.k: evaluation depth (default 10, max 50).
Reported KPIs:
knowledge_recall_at_kknowledge_mrroutcome_recall_at_koutcome_mrrexperience_rescued_cases: cases where the expected KB was not retrieved in K but a matching human-validated experience was retrieved. This is a conservative proxy for learning lift; it is not counted as auto-reply authority.
Example:
./scripts/quality-replay.py docs/QUALITY-REPLAY-example.json \
--url http://127.0.0.1:8080 --user "$WEB_BASIC_USER" --password "$WEB_BASIC_PASSWORD" \
--output ./data/quality-replay-$(date +%F).json
For production acceptance, build a versioned set of historical tickets and require fixed minimum thresholds before changing retrieval weights, embedding models, HNSW settings or Outcome retrieval thresholds.