From e0761cfe231491698d40cf62e716653771a83a07 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 2 May 2023 20:23:14 -0300 Subject: [PATCH] refactor(agents): change tool_names variable from list to set The `tool_names` variable was changed from a list to a set in the `JsonAgent`, `CSVAgent`, `VectorStoreAgent`, `SQLAgent`, and `MalfoyAgent` classes. This change was made to improve performance and avoid duplicates. --- src/backend/langflow/interface/agents/custom.py | 10 +++++----- src/backend/langflow/interface/agents/prebuilt.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/langflow/interface/agents/custom.py b/src/backend/langflow/interface/agents/custom.py index 84bf793f9..6b545ed3d 100644 --- a/src/backend/langflow/interface/agents/custom.py +++ b/src/backend/langflow/interface/agents/custom.py @@ -51,7 +51,7 @@ class JsonAgent(AgentExecutor): @classmethod def from_toolkit_and_llm(cls, toolkit: JsonToolkit, llm: BaseLanguageModel): tools = toolkit.get_tools() - tool_names = [tool.name for tool in tools] + tool_names = {tool.name for tool in tools} prompt = ZeroShotAgent.create_prompt( tools, prefix=JSON_PREFIX, @@ -109,7 +109,7 @@ class CSVAgent(AgentExecutor): llm=llm, prompt=partial_prompt, ) - tool_names = [tool.name for tool in tools] + tool_names = {tool.name for tool in tools} agent = ZeroShotAgent(llm_chain=llm_chain, allowed_tools=tool_names, **kwargs) return cls.from_agent_and_tools(agent=agent, tools=tools, verbose=True) @@ -146,7 +146,7 @@ class VectorStoreAgent(AgentExecutor): llm=llm, prompt=prompt, ) - tool_names = [tool.name for tool in tools] + tool_names = {tool.name for tool in tools} agent = ZeroShotAgent(llm_chain=llm_chain, allowed_tools=tool_names, **kwargs) return AgentExecutor.from_agent_and_tools( agent=agent, tools=tools, verbose=True @@ -212,7 +212,7 @@ class SQLAgent(AgentExecutor): llm=llm, prompt=prompt, ) - tool_names = [tool.name for tool in tools] # type: ignore + tool_names = {tool.name for tool in tools} # type: ignore agent = ZeroShotAgent(llm_chain=llm_chain, allowed_tools=tool_names, **kwargs) return AgentExecutor.from_agent_and_tools( agent=agent, @@ -255,7 +255,7 @@ class VectorStoreRouterAgent(AgentExecutor): llm=llm, prompt=prompt, ) - tool_names = [tool.name for tool in tools] + tool_names = {tool.name for tool in tools} agent = ZeroShotAgent(llm_chain=llm_chain, allowed_tools=tool_names, **kwargs) return AgentExecutor.from_agent_and_tools( agent=agent, tools=tools, verbose=True diff --git a/src/backend/langflow/interface/agents/prebuilt.py b/src/backend/langflow/interface/agents/prebuilt.py index 957dd4f7d..58d8d561f 100644 --- a/src/backend/langflow/interface/agents/prebuilt.py +++ b/src/backend/langflow/interface/agents/prebuilt.py @@ -21,7 +21,7 @@ class MalfoyAgent(AgentExecutor): @classmethod def from_toolkit_and_llm(cls, toolkit: JsonToolkit, llm: BaseLanguageModel): tools = toolkit.get_tools() - tool_names = [tool.name for tool in tools] + tool_names = {tool.name for tool in tools} prompt = ZeroShotAgent.create_prompt( tools, prefix=JSON_PREFIX,