diff --git a/libs/langchain/langchain/retrievers/self_query/base.py b/libs/langchain/langchain/retrievers/self_query/base.py index 636e9665eb..2390351b52 100644 --- a/libs/langchain/langchain/retrievers/self_query/base.py +++ b/libs/langchain/langchain/retrievers/self_query/base.py @@ -203,11 +203,17 @@ class SelfQueryRetriever(BaseRetriever, BaseModel): structured_query_translator = _get_builtin_translator(vectorstore) chain_kwargs = chain_kwargs or {} - if "allowed_comparators" not in chain_kwargs: + if ( + "allowed_comparators" not in chain_kwargs + and structured_query_translator.allowed_comparators is not None + ): chain_kwargs[ "allowed_comparators" ] = structured_query_translator.allowed_comparators - if "allowed_operators" not in chain_kwargs: + if ( + "allowed_operators" not in chain_kwargs + and structured_query_translator.allowed_operators is not None + ): chain_kwargs[ "allowed_operators" ] = structured_query_translator.allowed_operators