From 77cc23bf5fa5f9e731acfc1501405ba2be16746e Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 29 Jun 2023 17:39:36 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(base.py):=20fix=20method=20n?= =?UTF-8?q?ame=20in=20build=5Ftemplate=5Ffrom=5Fmethod=20call=20for=20Mult?= =?UTF-8?q?iQueryRetriever=20=E2=9C=A8=20feat(base.py):=20add=20support=20?= =?UTF-8?q?for=20ZepRetriever=20in=20from=5Fmethod=5Fnodes=20dictionary=20?= =?UTF-8?q?The=20build=5Ftemplate=5Ffrom=5Fmethod=20call=20for=20the=20Mul?= =?UTF-8?q?tiQueryRetriever=20in=20the=20get=5Fsignature=20method=20was=20?= =?UTF-8?q?using=20the=20incorrect=20method=20name=20"from=5Fllm".=20It=20?= =?UTF-8?q?has=20been=20fixed=20to=20use=20the=20correct=20method=20name?= =?UTF-8?q?=20"from=5Fmethod=5Fnodes".=20Additionally,=20support=20for=20t?= =?UTF-8?q?he=20ZepRetriever=20has=20been=20added=20to=20the=20from=5Fmeth?= =?UTF-8?q?od=5Fnodes=20dictionary=20to=20allow=20for=20its=20usage=20in?= =?UTF-8?q?=20the=20RetrieverCreator=20class.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../langflow/interface/retrievers/base.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/backend/langflow/interface/retrievers/base.py b/src/backend/langflow/interface/retrievers/base.py index 16f49191e..dc6056656 100644 --- a/src/backend/langflow/interface/retrievers/base.py +++ b/src/backend/langflow/interface/retrievers/base.py @@ -7,13 +7,13 @@ from langflow.interface.importing.utils import import_class from langflow.settings import settings from langflow.template.frontend_node.retrievers import RetrieverFrontendNode from langflow.utils.logger import logger -from langflow.utils.util import build_template_from_method +from langflow.utils.util import build_template_from_method, build_template_from_class class RetrieverCreator(LangChainTypeCreator): type_name: str = "retrievers" - from_method_nodes = {"MultiQueryRetriever": "from_llm"} + from_method_nodes = {"MultiQueryRetriever": "from_llm", "ZepRetriever": "__init__"} @property def frontend_node_class(self) -> Type[RetrieverFrontendNode]: @@ -31,9 +31,16 @@ class RetrieverCreator(LangChainTypeCreator): def get_signature(self, name: str) -> Optional[Dict]: """Get the signature of an embedding.""" try: - return build_template_from_method( - name, type_to_cls_dict=self.type_to_loader_dict, method_name="from_llm" - ) + if name in self.from_method_nodes: + return build_template_from_method( + name, + type_to_cls_dict=self.type_to_loader_dict, + method_name=self.from_method_nodes[name], + ) + else: + return build_template_from_class( + name, type_to_cls_dict=self.type_to_loader_dict + ) except ValueError as exc: raise ValueError(f"Retriever {name} not found") from exc except AttributeError as exc: