From 98e9d88f05980f2cb75560ed47ed8096f6ab52d3 Mon Sep 17 00:00:00 2001 From: AngryLittleBird <221623014+HarleyQeen@users.noreply.github.com> Date: Sun, 20 Jul 2025 22:27:37 +0300 Subject: [PATCH] =?UTF-8?q?fixes=20=D1=81=D1=89=D0=BA=D0=BA=D1=83=20return?= =?UTF-8?q?=20type=20bug=20in=20Update=20base=5Freranker.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The method was expected to return either a List[str] or List[List[str]] depending on whether a single or multiple queries were passed. However, the implementation returned a single concatenated string using "\n".join(...), which contradicted the type hint and docstring This led to: Type mismatches Unexpected behavior when consuming reranked outputs programmatically --- src/opendeepsearch/ranking_models/base_reranker.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/opendeepsearch/ranking_models/base_reranker.py b/src/opendeepsearch/ranking_models/base_reranker.py index f5abb95..059cb68 100644 --- a/src/opendeepsearch/ranking_models/base_reranker.py +++ b/src/opendeepsearch/ranking_models/base_reranker.py @@ -122,4 +122,6 @@ def get_reranked_documents( For multiple queries: List of lists of reranked document strings """ results = self.rerank(query, documents, top_k, normalize) - return "\n".join([x['document'].strip() for x in results]) + if isinstance(query, str): + return [x["document"].strip() for x in results] + return [[x["document"].strip() for x in query_results] for query_results in results]