Reranker
@forge/monorepo / backend/src / Reranker
Interface: Reranker
Defined in: backend/src/knowledge/retrieval.ts:156
Reorders a fused candidate set — AC-5.
A port, and switchable, because a reranker's value is a claim that has to be provable. A cross-encoder is materially more expensive than the retrieval it reorders, so "we rerank" without a measured contribution is a cost nobody justified. Absent means fusion order stands, which is the honest default.
createExactTermReranker's measured contribution is negative — #219, over 56 documents of technical prose:
−5.6 points of success@5, −5.6 of recall, −0.028 MRR, and no latency saving. It promotes chunks containing query
terms verbatim, which on prose queries promotes chunks that happen to repeat a common word. Leave it off.
That is a result about that reranker, not about reranking: a cross-encoder is a different mechanism and might
well earn its cost. This port is how it would be measured, and docs/26-retrieval-quality.md is the baseline to
measure it against.
Properties
id
readonlyid:string
Defined in: backend/src/knowledge/retrieval.ts:157
Methods
rerank()
rerank(
input):Promise<readonlyRetrievalHit[]>
Defined in: backend/src/knowledge/retrieval.ts:158
Parameters
input
candidates
readonly RetrievalHit[]
limit
number
query
string
Returns
Promise<readonly RetrievalHit[]>