You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/langchain/agents/plan_and_execute/executors/agent_executor.py

29 lines
931 B
Python

from typing import List
from langchain.agents.agent import AgentExecutor
from langchain.agents.plan_and_execute.executors.base import ChainExecutor
from langchain.agents.structured_chat.base import StructuredChatAgent
from langchain.base_language import BaseLanguageModel
from langchain.tools import BaseTool
HUMAN_MESSAGE_TEMPLATE = """Previous steps: {previous_steps}
Current objective: {current_step}
{agent_scratchpad}"""
def load_agent_executor(
llm: BaseLanguageModel, tools: List[BaseTool], verbose: bool = False
) -> ChainExecutor:
agent = StructuredChatAgent.from_llm_and_tools(
llm,
tools,
human_message_template=HUMAN_MESSAGE_TEMPLATE,
input_variables=["previous_steps", "current_step", "agent_scratchpad"],
)
agent_executor = AgentExecutor.from_agent_and_tools(
agent=agent, tools=tools, verbose=verbose
)
return ChainExecutor(chain=agent_executor)