diff --git a/packages/components/nodes/agents/AutoGPT/AutoGPT.ts b/packages/components/nodes/agents/AutoGPT/AutoGPT.ts index a9314f791..17318eb0b 100644 --- a/packages/components/nodes/agents/AutoGPT/AutoGPT.ts +++ b/packages/components/nodes/agents/AutoGPT/AutoGPT.ts @@ -66,7 +66,8 @@ class AutoGPT_Agents implements INode { async init(nodeData: INodeData): Promise { const model = nodeData.inputs?.model as BaseChatModel const vectorStoreRetriever = nodeData.inputs?.vectorStoreRetriever as VectorStoreRetriever - const tools = nodeData.inputs?.tools as Tool[] + let tools = nodeData.inputs?.tools as Tool[] + tools = tools.flat() const aiName = (nodeData.inputs?.aiName as string) || 'AutoGPT' const aiRole = (nodeData.inputs?.aiRole as string) || 'Assistant' const maxLoop = nodeData.inputs?.maxLoop as string diff --git a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts index 90a557823..76ceba056 100644 --- a/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts +++ b/packages/components/nodes/agents/ConversationalAgent/ConversationalAgent.ts @@ -62,7 +62,8 @@ class ConversationalAgent_Agents implements INode { async init(nodeData: INodeData): Promise { const model = nodeData.inputs?.model as BaseChatModel - const tools = nodeData.inputs?.tools as Tool[] + let tools = nodeData.inputs?.tools as Tool[] + tools = tools.flat() const memory = nodeData.inputs?.memory as BaseChatMemory const humanMessage = nodeData.inputs?.humanMessage as string const systemMessage = nodeData.inputs?.systemMessage as string diff --git a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts index 1a619e6ac..01a85889b 100644 --- a/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts +++ b/packages/components/nodes/agents/MRKLAgentChat/MRKLAgentChat.ts @@ -39,7 +39,8 @@ class MRKLAgentChat_Agents implements INode { async init(nodeData: INodeData): Promise { const model = nodeData.inputs?.model as BaseChatModel - const tools = nodeData.inputs?.tools as Tool[] + let tools = nodeData.inputs?.tools as Tool[] + tools = tools.flat() const executor = await initializeAgentExecutorWithOptions(tools, model, { agentType: 'chat-zero-shot-react-description', verbose: true diff --git a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts index f0bf54c00..c092fc17e 100644 --- a/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts +++ b/packages/components/nodes/agents/MRKLAgentLLM/MRKLAgentLLM.ts @@ -26,7 +26,7 @@ class MRKLAgentLLM_Agents implements INode { { label: 'Allowed Tools', name: 'tools', - type: 'Tool' || 'Tool[]', + type: 'Tool', list: true }, { @@ -39,8 +39,9 @@ class MRKLAgentLLM_Agents implements INode { async init(nodeData: INodeData): Promise { const model = nodeData.inputs?.model as BaseLLM - const tools = nodeData.inputs?.tools as Tool[] - console.log(`something about tools: ${JSON.stringify(tools)}`) + let tools = nodeData.inputs?.tools as Tool[] + tools = tools.flat() + const executor = await initializeAgentExecutorWithOptions(tools, model, { agentType: 'zero-shot-react-description', verbose: true diff --git a/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts b/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts index d38da20a5..849f5946d 100644 --- a/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts +++ b/packages/components/nodes/tools/ZapierNLA/ZapierNLA.ts @@ -1,7 +1,6 @@ import { ZapierNLAWrapper, ZapiterNLAWrapperParams } from 'langchain/tools' import { INode, INodeData, INodeParams } from '../../../src/Interface' -import { getBaseClasses } from '../../../src/utils' -import { ZapierToolKit, createSqlAgent } from 'langchain/agents' +import { ZapierToolKit } from 'langchain/agents' class ZapierNLA_Tools implements INode { label: string @@ -19,7 +18,7 @@ class ZapierNLA_Tools implements INode { this.type = 'ZapierNLA' this.icon = 'zapier.png' this.category = 'Tools' - this.description = 'Access to apps and actions on Zapier's platform through a natural language API interface' + this.description = "Access to apps and actions on Zapier's platform through a natural language API interface" this.inputs = [ { label: 'Zapier NLA Api Key', @@ -27,7 +26,7 @@ class ZapierNLA_Tools implements INode { type: 'password' } ] - this.baseClasses = [this.type, ...getBaseClasses(ZapierNLAWrapper)] + this.baseClasses = [this.type, 'Tool'] } async init(nodeData: INodeData): Promise {