jamie8johnson commited on
Commit
769b9cd
·
verified ·
1 Parent(s): d1ab4b3

Add v9 + summaries column; recommend running v9 bare (no --llm-summaries)

Browse files
Files changed (1) hide show
  1. README.md +11 -9
README.md CHANGED
@@ -24,18 +24,20 @@ A fine-tuned code search embedding model based on **intfloat/e5-base-v2** (110M
24
 
25
  The headline results below are from cqs's production fixture — 218 queries (109 test + 109 dev) curated from real agent telemetry and LLM-generated retrieval cases on the cqs codebase itself. This is the eval that drives default-model decisions.
26
 
27
- | split | metric | BGE-large (1024-dim) | **v9-200k (768-dim)** | Δ |
28
- |-------|--------|---------------------:|----------------------:|--:|
29
- | test | R@1 | 43.1% | **45.9%** | +2.8 |
30
- | test | R@5 | 69.7% | **70.6%** | +0.9 |
31
- | test | R@20 | **83.5%** | 80.7% | -2.8 |
32
- | dev | R@1 | 45.9% | 46.8% | +0.9 |
33
- | dev | R@5 | **77.1%** | 68.8% | -8.3 |
34
- | dev | R@20 | **86.2%** | 81.7% | -4.5 |
35
 
36
  **v9-200k essentially ties BGE-large on test R@5 and edges it on R@1 across both splits** — at 1/3 the parameter count and 25% smaller embeddings (768 vs 1024 dim). The cost is on dev R@5/R@20 (~5–8 pp behind), where BGE-large's broader pre-training base helps on out-of-distribution queries. For latency-sensitive or memory-constrained workloads, v9-200k is the right choice.
37
 
38
- **Decision (2026-05-01):** cqs keeps BGE-large as default for the dev R@5 hedge, but v9-200k is shipped as a first-class opt-in preset. Set `CQS_EMBEDDING_MODEL=v9-200k` or `cqs slot create v9 --model v9-200k` to use it.
 
 
39
 
40
  ## Historical results (296q synthetic fixture)
41
 
 
24
 
25
  The headline results below are from cqs's production fixture — 218 queries (109 test + 109 dev) curated from real agent telemetry and LLM-generated retrieval cases on the cqs codebase itself. This is the eval that drives default-model decisions.
26
 
27
+ | split | metric | BGE-large (1024-dim) | **v9-200k bare (768-dim)** | v9-200k + LLM summaries |
28
+ |-------|--------|---------------------:|---------------------------:|------------------------:|
29
+ | test | R@1 | 43.1% | **45.9%** | 39.4% |
30
+ | test | R@5 | 69.7% | **70.6%** | 69.7% |
31
+ | test | R@20 | **83.5%** | 80.7% | 80.7% |
32
+ | dev | R@1 | 45.9% | **46.8%** | 45.0% |
33
+ | dev | R@5 | **77.1%** | 68.8% | 67.9% |
34
+ | dev | R@20 | 86.2% | 81.7% | **86.2%** |
35
 
36
  **v9-200k essentially ties BGE-large on test R@5 and edges it on R@1 across both splits** — at 1/3 the parameter count and 25% smaller embeddings (768 vs 1024 dim). The cost is on dev R@5/R@20 (~5–8 pp behind), where BGE-large's broader pre-training base helps on out-of-distribution queries. For latency-sensitive or memory-constrained workloads, v9-200k is the right choice.
37
 
38
+ **Run v9-200k bare — skip cqs's `--llm-summaries` enrichment pass for this model.** Adding LLM-generated summaries to chunks (and re-running the embedding pass over the summary-augmented text) *hurts* test R@1 by ~6 pp and is a wash on R@5 across both splits. The call-graph-trained dense channel already captures the signal summaries would add; injecting summary text dilutes the model's strongest top-1 signal. The only metric that materially benefits is dev R@20 (+4.5 pp). For BGE-large the same enrichment pass is a small net win; the v9-200k training distribution is the difference.
39
+
40
+ **Decision (2026-05-01):** cqs keeps BGE-large as default for the dev R@5 hedge, but v9-200k is shipped as a first-class opt-in preset. Set `CQS_EMBEDDING_MODEL=v9-200k` or `cqs slot create v9 --model v9-200k` to use it. Don't pass `--llm-summaries` on the index command unless you're specifically optimizing for dev R@20.
41
 
42
  ## Historical results (296q synthetic fixture)
43