Evaluate frozen relevance hypothesis once on held-out Google CPU queries

This commit is contained in:
karl committed 2026-10-13 12:23:31 +02:00
1 parent e7245fe15e
commit 193ab08f62
3 files changed
+128 -24

No files matched your search

+14 -5
View File
@@ -1,10 +1,11 @@
# Calibration-only relevance diagnostic
# Frozen relevance diagnostic
This internal runner uses searchi's shared Rust engine and genuine Google
EmbeddingGemma 2. It has **no held-out execution option**. It indexes all 14 frozen
source files as the fixed distractor library, but evaluates only the 24
calibration queries. Held-out queries stay unevaluated until a policy and its
parameters are frozen using calibration evidence.
EmbeddingGemma 2. By default it indexes all 14 frozen source files as the fixed
distractor library and evaluates only the 24 calibration queries. Held-out
execution requires `--held-out-policy` with the exact SHA-256 of the hypothesis
frozen in commit `e7245fe`, before held-out inference. Changed policy bytes are
rejected. The two splits are selected independently and never mixed in one run.
First verify all frozen labels, source bytes, licenses and split integrity:
@@ -21,6 +22,14 @@ $env:SEARCHI_FORCE_CPU = '1'
tools/relevance-eval/target/release/searchi-relevance-eval.exe fixtures/relevance-v2 C:/path/to/verified-models C:/path/to/searchi-gemma-worker.exe .searchi/qa/calibration-v2.json
```
For the one frozen held-out evaluation, append
`--held-out-policy tools/relevance-eval/policies/cosine-v1.json` and use a new
held-out report name. Raw lexical, semantic and production hybrid results are
retained. `scores.hypothesis_semantic` evaluates raw semantic candidates after
the frozen cutoff; it is not a newly executed filtered hybrid fusion. This
diagnostic does not deploy a threshold into the shared engine. Do not retune
this policy using the held-out outcomes.
Supply an existing output directory and a new output filename. Existing evidence
is never overwritten: the output is reserved with `create_new` before costly
work and subsequent phase/row checkpoints replace JSON atomically. The runner verifies fixture SHA-256, exact source bytes,