From 2d52c684c475c65ec919d5ddfd215645d23dad8c Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 16:59:38 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20refactor(config.yaml):=20remove?= =?UTF-8?q?=20HuggingFaceHub=20from=20list=20of=20supported=20models=20?= =?UTF-8?q?=F0=9F=94=A8=20refactor(loading.py):=20convert=20kwargs=20passe?= =?UTF-8?q?d=20as=20string=20to=20dict=20The=20HuggingFaceHub=20model=20wa?= =?UTF-8?q?s=20removed=20from=20the=20list=20of=20supported=20models=20in?= =?UTF-8?q?=20the=20config.yaml=20file.=20The=20model=20was=20removed=20be?= =?UTF-8?q?cause=20it=20is=20no=20longer=20being=20used=20in=20the=20proje?= =?UTF-8?q?ct.=20In=20the=20loading.py=20file,=20the=20convert=5Fkwargs=20?= =?UTF-8?q?function=20was=20added=20to=20convert=20kwargs=20passed=20as=20?= =?UTF-8?q?a=20string=20to=20a=20dictionary.=20This=20was=20done=20to=20en?= =?UTF-8?q?sure=20that=20the=20function=20can=20handle=20both=20string=20a?= =?UTF-8?q?nd=20dictionary=20inputs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/config.yaml | 1 - src/backend/langflow/interface/loading.py | 12 +++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/config.yaml b/src/backend/langflow/config.yaml index 1ff2c026b..4060d1f3e 100644 --- a/src/backend/langflow/config.yaml +++ b/src/backend/langflow/config.yaml @@ -52,7 +52,6 @@ llms: - OpenAI # - AzureOpenAI - ChatOpenAI - - HuggingFaceHub - LlamaCpp - CTransformers - Cohere diff --git a/src/backend/langflow/interface/loading.py b/src/backend/langflow/interface/loading.py index cd6898a7f..69c697823 100644 --- a/src/backend/langflow/interface/loading.py +++ b/src/backend/langflow/interface/loading.py @@ -31,7 +31,7 @@ from langflow.utils import util, validate def instantiate_class(node_type: str, base_type: str, params: Dict) -> Any: """Instantiate class from module type and key, and params""" params = convert_params_to_sets(params) - + params = convert_kwargs(params) if node_type in CUSTOM_AGENTS: custom_agent = CUSTOM_AGENTS.get(node_type) if custom_agent: @@ -50,6 +50,16 @@ def convert_params_to_sets(params): return params +def convert_kwargs(params): + # if *kwargs are passed as a string, convert to dict + # first find any key that has kwargs in it + kwargs_keys = [key for key in params.keys() if "kwargs" in key] + for key in kwargs_keys: + if isinstance(params[key], str): + params[key] = json.loads(params[key]) + return params + + def instantiate_based_on_type(class_object, base_type, node_type, params): if base_type == "agents": return instantiate_agent(class_object, params)