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)