From 6b893237d067de0e73ca4848e93cd7cbc8184399 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Thu, 29 Jun 2023 11:17:30 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(utils.py):=20add=20import=5F?= =?UTF-8?q?retriever=20function=20to=20import=20retriever=20module=20?= =?UTF-8?q?=E2=9C=A8=20feat(utils.py):=20add=20support=20for=20importing?= =?UTF-8?q?=20retriever=20module=20based=20on=20retriever=20name=20The=20`?= =?UTF-8?q?import=5Fretriever`=20function=20is=20added=20to=20the=20`utils?= =?UTF-8?q?.py`=20module=20to=20allow=20importing=20the=20retriever=20modu?= =?UTF-8?q?le=20based=20on=20the=20retriever=20name.=20This=20function=20u?= =?UTF-8?q?ses=20the=20`import=5Fmodule`=20function=20from=20the=20`import?= =?UTF-8?q?lib`=20module=20to=20dynamically=20import=20the=20retriever=20m?= =?UTF-8?q?odule=20from=20the=20`langchain.retrievers`=20package.=20This?= =?UTF-8?q?=20enhances=20the=20modularity=20and=20extensibility=20of=20the?= =?UTF-8?q?=20codebase=20by=20providing=20a=20convenient=20way=20to=20impo?= =?UTF-8?q?rt=20retrievers=20based=20on=20their=20names.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/importing/utils.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/langflow/interface/importing/utils.py b/src/backend/langflow/interface/importing/utils.py index f65376d48..7ef916ca9 100644 --- a/src/backend/langflow/interface/importing/utils.py +++ b/src/backend/langflow/interface/importing/utils.py @@ -44,6 +44,7 @@ def import_by_type(_type: str, name: str) -> Any: "documentloaders": import_documentloader, "textsplitters": import_textsplitter, "utilities": import_utility, + "retrievers": import_retriever, } if _type == "llms": key = "chat" if "chat" in name.lower() else "llm" @@ -59,6 +60,11 @@ def import_chat_llm(llm: str) -> BaseChatModel: return import_class(f"langchain.chat_models.{llm}") +def import_retriever(retriever: str) -> Any: + """Import retriever from retriever name""" + return import_module(f"from langchain.retrievers import {retriever}") + + def import_memory(memory: str) -> Any: """Import memory from memory name""" return import_module(f"from langchain.memory import {memory}")