Sentence Similarity
sentence-transformers
ONNX
English
code
bert
code-search
embeddings
LoRA
E5
cqs
Eval Results
text-embeddings-inference
Instructions to use jamie8johnson/e5-base-v2-code-search with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use jamie8johnson/e5-base-v2-code-search with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("jamie8johnson/e5-base-v2-code-search") sentences = [ "That is a happy person", "That is a happy dog", "That is a very happy person", "Today is a sunny day" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
Add v9 + summaries column; recommend running v9 bare (no --llm-summaries)
Browse files
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%**
|
| 30 |
-
| test | R@5 | 69.7% | **70.6%**
|
| 31 |
-
| test | R@20 | **83.5%** | 80.7%
|
| 32 |
-
| dev | R@1 | 45.9% | 46.8%
|
| 33 |
-
| dev | R@5 | **77.1%** | 68.8%
|
| 34 |
-
| dev | R@20 |
|
| 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 |
-
**
|
|
|
|
|
|
|
| 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 |
|