Views
No views yet
BAAI/bge-small-en-v1.5, chosen by evaluating three encoders on the
CoachTwin Workouts
dataset (10,393 workouts).goal and body_focus; loose requires body_focus.| model | params | dim | strict P@3 | loose P@3 | MRR@10 | corpus encode |
|---|---|---|---|---|---|---|
| bge-small-en-v1.5 | 33M | 384 | 0.6687 | 0.8273 | 0.8020 | 10.4s |
| all-mpnet-base-v2 | 110M | 768 | 0.5047 | 0.7453 | 0.6866 | 31.2s |
| all-MiniLM-L6-v2 | 22M | 384 | 0.4733 | 0.6667 | 0.6686 | 7.0s |
BAAI/bge-small-en-v1.5 - strict P@3 0.669, about 30x random.all-mpnet-base-v2 is 3.3x the parameters,
3x slower, and scores worse. The bigger encoder is not the better one here.from sentence_transformers import SentenceTransformer
model = SentenceTransformer("OrDora/coachtwin-embedder")
emb = model.encode([text], normalize_embeddings=True)embedding_info.json. This is a BGE model, so queries - not documents - take the
prefix Represent this sentence for searching relevant passages:
(needs_query_prefix: true).No module named 'sentence_transformers.base', and a client with a
try/except fallback then silently swaps in a different encoder - no error, wrong
neighbours, because several candidates share 384 dimensions.