From c623b02bf29e6615e9bb08f69fa2faa1337e4a31 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 2 May 2023 11:29:38 -0300 Subject: [PATCH] refactor(loading.py): make allowed_tools a list if it's not already a list or set --- src/backend/langflow/interface/loading.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/interface/loading.py b/src/backend/langflow/interface/loading.py index 38023466d..7623db725 100644 --- a/src/backend/langflow/interface/loading.py +++ b/src/backend/langflow/interface/loading.py @@ -1,5 +1,5 @@ import json -from typing import Any, Callable, Dict, Optional +from typing import Any, Callable, Dict, Iterable, Optional from langchain.agents import ZeroShotAgent from langchain.agents import agent as agent_module @@ -195,6 +195,9 @@ def load_agent_executor(agent_class: type[agent_module.Agent], params, **kwargs) """Load agent executor from agent class, tools and chain""" allowed_tools = params["allowed_tools"] llm_chain = params["llm_chain"] + # if allowed_tools is not a list or set, make it a list + if not isinstance(allowed_tools, (list, set)): + allowed_tools = [allowed_tools] tool_names = [tool.name for tool in allowed_tools] # Agent class requires an output_parser but Agent classes # have a default output_parser.