Fix: Correct Return Type in Update base_reranker.py #40
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Fix: The return logic is now explicitly conditional based on whether the query is a single string or a list of strings:
results = self.rerank(query, documents, top_k, normalize)
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]
Result: Respects the documented return type
Enables reliable use in both single- and multi-query scenarios
No behavioral change for existing rerank logic — only return structure is corrected