From 1c2b9cc9abb4a4244654de0df16d552a0488eee2 Mon Sep 17 00:00:00 2001 From: Philippe PRADOS Date: Fri, 21 Jun 2024 16:37:09 +0200 Subject: [PATCH] core[minor]: Update pgvector transalor for langchain_postgres (#23217) The SelfQuery PGVectorTranslator is not correct. The operator is "eq" and not "$eq". This patch use a new version of PGVectorTranslator from langchain_postgres. It's necessary to release a new version of langchain_postgres (see [here](https://github.com/langchain-ai/langchain-postgres/pull/75) before accepting this PR in langchain. --- libs/langchain/langchain/retrievers/self_query/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/langchain/langchain/retrievers/self_query/base.py b/libs/langchain/langchain/retrievers/self_query/base.py index f631f4e5478..b3cb8fc4c35 100644 --- a/libs/langchain/langchain/retrievers/self_query/base.py +++ b/libs/langchain/langchain/retrievers/self_query/base.py @@ -170,11 +170,12 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor: try: from langchain_postgres import PGVector + from langchain_postgres import PGVectorTranslator as NewPGVectorTranslator except ImportError: pass else: if isinstance(vectorstore, PGVector): - return PGVectorTranslator() + return NewPGVectorTranslator() raise ValueError( f"Self query retriever with Vector Store type {vectorstore.__class__}"