motleycrew.agents.langchain.tool_calling_react
Functions
|
|
|
|
|
|
|
Classes
|
Universal ReAct-style agent that supports tool calling. |
- motleycrew.agents.langchain.tool_calling_react.check_variables(prompt: ChatPromptTemplate)
- motleycrew.agents.langchain.tool_calling_react.render_text_description(tools: list[BaseTool]) str
- motleycrew.agents.langchain.tool_calling_react.get_relevant_internal_prompt(llm: BaseChatModel, force_output_handler: bool) ChatPromptTemplate
- motleycrew.agents.langchain.tool_calling_react.create_tool_calling_react_agent(llm: BaseChatModel, tools: Sequence[BaseTool], internal_prompt: ChatPromptTemplate, output_handlers: Sequence[BaseTool], force_output_handler: bool, intermediate_steps_processor: Callable | None = None) Runnable
- class motleycrew.agents.langchain.tool_calling_react.ReActToolCallingMotleyAgent(tools: Sequence[MotleySupportedTool], description: str | None = None, name: str | None = None, prompt: str | ChatPromptTemplate | None = None, chat_history: bool | GetSessionHistoryCallable = True, force_output_handler: bool = False, handle_parsing_errors: bool = False, llm: BaseChatModel | None = None, max_iterations: int | None = 15, internal_prompt: ChatPromptTemplate | None = None, intermediate_steps_processor: Callable | None = None, runnable_config: RunnableConfig | None = None, verbose: bool = False, prompt_prefix: str | None = None)
Bases:
LangchainMotleyAgentUniversal ReAct-style agent that supports tool calling.
This agent only works with newer models that support tool calling. If you are using an older model, you should use
motleycrew.agents.langchain.LegacyReActMotleyAgentinstead.- __init__(tools: Sequence[MotleySupportedTool], description: str | None = None, name: str | None = None, prompt: str | ChatPromptTemplate | None = None, chat_history: bool | GetSessionHistoryCallable = True, force_output_handler: bool = False, handle_parsing_errors: bool = False, llm: BaseChatModel | None = None, max_iterations: int | None = 15, internal_prompt: ChatPromptTemplate | None = None, intermediate_steps_processor: Callable | None = None, runnable_config: RunnableConfig | None = None, verbose: bool = False, prompt_prefix: str | None = None)
- Parameters:
tools – Tools to add to the agent.
description – Description of the agent.
name – Name of the agent.
prompt –
Prompt for the agent.
If a string, it will be used as a prompt. If a string containing f-string-style placeholders, it will be used as a prompt template. If a ChatPromptTemplate, it will be used as a prompt template.
chat_history – Whether to use chat history or not. If True, uses InMemoryChatMessageHistory. If a callable is passed, it is used to get the chat history by session_id. See
langchain_core.runnables.history.RunnableWithMessageHistoryfor more details.force_output_handler – Whether to force the agent to return through an output handler. If True, at least one tool must have return_direct set to True.
handle_parsing_errors – Whether to handle parsing errors.
handle_tool_errors – Whether to handle tool errors. If True, handle_tool_error and handle_validation_error in all tools are set to True.
llm – Language model to use.
max_iterations – The maximum number of agent iterations.
internal_prompt – The internal ReAct prompt to use. See Internal prompt section below for more on the expected input variables.
intermediate_steps_processor – Function that modifies the intermediate steps array in some way before each agent iteration.
runnable_config – Default Langchain config to use when invoking the agent. It can be used to add callbacks, metadata, etc.
verbose – Whether to log verbose output.
prompt_prefix – Deprecated. Please use the prompt argument instead.
- Internal prompt:
Not to be confused with the prompt argument, which is user-facing and is the recommended way to explain the task to the agent.
The internal (system) prompt contains the explanations for the low-level ReAct agent behavior (tool calling, reasoning, etc). Only modify this if you know what you are doing.
The internal prompt must have agent_scratchpad, chat_history, and additional_notes ``MessagesPlaceholder``s.
The default prompt slightly varies depending on the language model used. See
motleycrew.agents.langchain.tool_calling_react_promptsfor more details.