Retrieval starts with embeddings: the query and each document chunk become vectors, and the system compares them numerically. Cosine similarity is the usual metric, computed as the dot product of the two vectors divided by the product of their magnitudes, so a perfect match scores 1 and unrelated text scores near 0 (a retrieval settings walkthrough).
Three complications matter before you set a number.
Dot product is not cosine. Dot product and cosine agree only when vectors are normalized to unit length. An unnormalized dot product rewards long vectors as well as similar ones, so the same threshold means different things across index settings.
Hybrid systems change the scale. Many stacks combine a keyword ranker such as BM25 with a semantic score, for example final score equals weight times BM25 plus one minus weight times cosine similarity. That mix is not a similarity in the cosine sense; a 0.75 in a hybrid configuration is not the same filter as a 0.75 in pure vector search. Managed knowledge bases can force this on you: Amazon Bedrock managed knowledge bases always retrieve with hybrid search and do not expose semantic-only search (AWS knowledge base retrieval docs).
Rank fusion produces its own scores. Reciprocal rank fusion combines several retrievers by rank position, not by raw similarity, so the output lives on a scale of its own and any cutoff has to be tuned on that scale.
A study that varied similarity thresholds across open models found that the best threshold differed by model: lower cutoffs around 0.55 worked for two models, a moderate 0.65 for another, and one model also performed well at 0.70 and 0.85 (IEEE conference paper). The practical lesson is that no universal number exists. The correct reading of the table is that the threshold is a property of your retriever, your corpus and your cost structure together.
| Retrieval mode | What the score means | Safe to compare thresholds across modes? |
|---|---|---|
| Cosine similarity (normalized) | Angle between vectors, 0 to 1 | Yes, within the same embedding model |
| Dot product (unnormalized) | Magnitude-weighted overlap | No; normalize first or do not reuse cutoffs |
| Hybrid BM25 plus dense | Weighted blend of two scales | No; calibrate on the blended output |
| Rank fusion | Position-based aggregate | No; there is no similarity unit |
Treat the number as an evidence-admission policy rather than a cost knob. A passage that scores 0.79 against a policy question can still describe the wrong customer tier, pass a 0.75 cutoff and be treated by the model as authoritative, producing a fluent wrong answer with no error anywhere in the pipeline (DigitalOcean's analysis of thresholds).



