Skip to content

Commit 3b69e92

Browse files
committed
feat(cli): implement top-k filtering for reranked chunks.
1 parent 47246d7 commit 3b69e92

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/vectorcode/subcommands/query/reranker.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ def rerank(self, results: QueryResult) -> list[str]:
3838
continue
3939
documents[path].append(distance)
4040

41+
top_k = int(numpy.mean(tuple(len(i) for i in documents.values())))
42+
for key in documents.keys():
43+
documents[key] = heapq.nsmallest(top_k, documents[key])
44+
4145
return heapq.nsmallest(
4246
self.n_result, documents.keys(), lambda x: float(numpy.mean(documents[x]))
4347
)
@@ -68,6 +72,10 @@ def rerank(self, results: QueryResult) -> list[str]:
6872
float(rank["score"])
6973
)
7074

75+
top_k = int(numpy.mean(tuple(len(i) for i in documents.values())))
76+
for key in documents.keys():
77+
documents[key] = heapq.nlargest(top_k, documents[key])
78+
7179
return heapq.nlargest(
7280
self.n_result,
7381
documents.keys(),

0 commit comments

Comments
 (0)