Fix linting errors in ToolCallingAgentComponent

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-06-23 16:00:14 -03:00
commit d1eed09c01

View file

@ -1,13 +1,13 @@
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_core.prompts import ChatPromptTemplate
from langchain.agents import AgentExecutor
from langchain_core.messages import BaseMessage
from langflow.schema.message import Message
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):
@ -80,12 +80,12 @@ 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,
) )
input_dict: dict[str, str | list[BaseMessage]] = {"input": self.input_value} input_dict: dict[str, str | list[dict[str, str]]] = {"input": self.input_value}
if hasattr(self, "memory") and self.memory: if hasattr(self, "memory") and self.memory:
input_dict["chat_history"] = self.convert_chat_history(self.memory) input_dict["chat_history"] = self.convert_chat_history(self.memory)
result = await runnable.ainvoke(input_dict) result = await runnable.ainvoke(input_dict)