Complete phase two benchmarks, plot previews and static export workflow

This commit is contained in:
2026-09-07 02:54:52 +08:00
parent 95095197df
commit 89df10bc4e
59 changed files with 2535 additions and 83 deletions
+7 -1
View File
@@ -114,7 +114,13 @@ class RetrievalEngine:
elif request.mode == SearchMode.vector:
candidate_scores = vec_scores
else: # hybridRRF 融合
candidate_scores = rrf_fuse([fts_ranked, vec_ranked], k=request.rrf_k)
if request.fusion == 'weighted':
fts_normal = dict(normalize_scores(list(fts_scores.items())))
vec_normal = dict(normalize_scores(list(vec_scores.items())))
candidate_scores = {bid: .5 * fts_normal.get(bid, 0) + .5 * vec_normal.get(bid, 0)
for bid in dict.fromkeys(fts_ranked + vec_ranked)}
else:
candidate_scores = rrf_fuse([fts_ranked, vec_ranked], k=request.rrf_k)
if not candidate_scores:
return self._empty(request)