diff --git a/src/backend/base/langflow/components/agents/ToolCallingAgent.py b/src/backend/base/langflow/components/agents/ToolCallingAgent.py index 5e82fb15c..5a37cb481 100644 --- a/src/backend/base/langflow/components/agents/ToolCallingAgent.py +++ b/src/backend/base/langflow/components/agents/ToolCallingAgent.py @@ -1,13 +1,14 @@ -from typing import List +from typing import List, cast +from langchain.agents import AgentExecutor, BaseSingleActionAgent from langchain.agents.tool_calling_agent.base import create_tool_calling_agent -from langchain_core.prompts import ChatPromptTemplate -from langchain.agents import AgentExecutor from langchain_core.messages import BaseMessage -from langflow.schema.message import Message +from langchain_core.prompts import ChatPromptTemplate + from langflow.custom import Component -from langflow.io import HandleInput, TextInput, BoolInput, Output +from langflow.io import BoolInput, HandleInput, Output, TextInput from langflow.schema import Data +from langflow.schema.message import Message class ToolCallingAgentComponent(Component): @@ -73,7 +74,7 @@ class ToolCallingAgentComponent(Component): agent = create_tool_calling_agent(self.llm, self.tools, prompt) runnable = AgentExecutor.from_agent_and_tools( - agent=agent, + agent=cast(BaseSingleActionAgent, agent), tools=self.tools, verbose=True, handle_parsing_errors=self.handle_parsing_errors, @@ -97,3 +98,4 @@ class ToolCallingAgentComponent(Component): role = "user" if item.sender == "User" else "assistant" messages.append({"role": role, "content": item.text}) return messages + return messages