refactor:cast agent to BaseSingleActionAgent

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-06-21 13:07:32 -03:00
commit f85d641bbc

View file

@ -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.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 langchain_core.messages import BaseMessage
from langflow.schema.message import Message from langchain_core.prompts import ChatPromptTemplate
from langflow.custom import Component 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 import Data
from langflow.schema.message import Message
class ToolCallingAgentComponent(Component): class ToolCallingAgentComponent(Component):
@ -73,7 +74,7 @@ class ToolCallingAgentComponent(Component):
agent = create_tool_calling_agent(self.llm, self.tools, prompt) agent = create_tool_calling_agent(self.llm, self.tools, prompt)
runnable = AgentExecutor.from_agent_and_tools( runnable = AgentExecutor.from_agent_and_tools(
agent=agent, agent=cast(BaseSingleActionAgent, agent),
tools=self.tools, tools=self.tools,
verbose=True, verbose=True,
handle_parsing_errors=self.handle_parsing_errors, handle_parsing_errors=self.handle_parsing_errors,
@ -97,3 +98,4 @@ class ToolCallingAgentComponent(Component):
role = "user" if item.sender == "User" else "assistant" role = "user" if item.sender == "User" else "assistant"
messages.append({"role": role, "content": item.text}) messages.append({"role": role, "content": item.text})
return messages return messages
return messages