fix: Handle AttributeError in hybrid search with reranking (#17046)#19025
Merged
tjbck merged 1 commit intoopen-webui:devfrom Nov 10, 2025
Merged
Conversation
…i#17046) - Split attribute existence checks from document content checks - Added hasattr() check for metadatas attribute - Prevents AttributeError when collection_result is missing attributes - Maintains all original validation logic Fixes open-webui#17046
Contributor
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Fixes #17046 - AttributeError when using hybrid search with reranking enabled.
Problem
The current code attempts to access
collection_result.documentsin the conditional check even after usinghasattr(). Due to Python's short-circuit evaluation behavior, whencollection_resultis a list or doesn't have thedocumentsattribute, the subsequent conditions still try to access.documents, causing anAttributeError.Solution
Split the attribute existence checks from the content validation checks:
documentsandmetadatasattributes existChanges
hasattr()check formetadatasattribute (was missing)AttributeErrorwhile maintaining all original validation logicTesting
Impact
This fix ensures that hybrid search with reranking works correctly without throwing
AttributeErrorwhen the collection result doesn't have the expected structure.Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
Note: Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.