From 111bd7ddbebbc75f9befa746e3cdee27ab773820 Mon Sep 17 00:00:00 2001 From: Bagatur <22008038+baskaryan@users.noreply.github.com> Date: Mon, 17 Jul 2023 07:30:48 -0700 Subject: [PATCH] specify comparators (#7805) --- langchain/retrievers/self_query/pinecone.py | 10 +++++++++- langchain/retrievers/self_query/qdrant.py | 9 +++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/langchain/retrievers/self_query/pinecone.py b/langchain/retrievers/self_query/pinecone.py index 8daea9c8f16..e7664ad26d7 100644 --- a/langchain/retrievers/self_query/pinecone.py +++ b/langchain/retrievers/self_query/pinecone.py @@ -14,7 +14,15 @@ from langchain.chains.query_constructor.ir import ( class PineconeTranslator(Visitor): """Logic for converting internal query language elements to valid filters.""" - allowed_operators = [Operator.AND, Operator.OR] + allowed_comparators = ( + Comparator.EQ, + Comparator.LT, + Comparator.LTE, + Comparator.GT, + Comparator.GTE, + ) + """Subset of allowed logical comparators.""" + allowed_operators = (Operator.AND, Operator.OR) """Subset of allowed logical operators.""" def _format_func(self, func: Union[Operator, Comparator]) -> str: diff --git a/langchain/retrievers/self_query/qdrant.py b/langchain/retrievers/self_query/qdrant.py index 90bcd8ae5eb..84e964bdf90 100644 --- a/langchain/retrievers/self_query/qdrant.py +++ b/langchain/retrievers/self_query/qdrant.py @@ -19,6 +19,15 @@ if TYPE_CHECKING: class QdrantTranslator(Visitor): """Logic for converting internal query language elements to valid filters.""" + allowed_comparators = ( + Comparator.EQ, + Comparator.LT, + Comparator.LTE, + Comparator.GT, + Comparator.GTE, + ) + """Subset of allowed logical comparators.""" + def __init__(self, metadata_key: str): self.metadata_key = metadata_key