Agents API
BaseToolAgent
Main synchronous interface:
get_default_settings()step(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)stream_step(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_response(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_streaming_response(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_last_response()
AsyncBaseToolAgent
Main async interface:
get_default_settings()step(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)stream_step(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_response(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_streaming_response(messages, tool_registry=None, settings=None, reset_last_messages_buffer=True)get_last_response()
ChatToolAgent
from ToolAgents.agents import ChatToolAgent
agent = ChatToolAgent(chat_api=api_provider, log_output=False, log_to_file=False)
Constructor parameters:
chat_api:ChatAPIProviderlog_output: enable request/response logginglog_to_file: write logs to a timestamped file when logging is enabled
Additional method:
handle_function_calling_response(chat_message, current_messages)
AsyncChatToolAgent
from ToolAgents.agents import AsyncChatToolAgent
agent = AsyncChatToolAgent(chat_api=async_api_provider)
Current constructor parameter:
chat_api:AsyncChatAPIProvider
AdvancedAgent
Legacy compatibility wrapper. Prefer composing ChatToolAgent directly with
explicit memory, prompt, state, and persistence helpers for new code.
from ToolAgents import ToolRegistry
from ToolAgents.agents import AdvancedAgent, ChatToolAgent
from ToolAgents.agents.advanced_agent import AgentConfig
base_agent = ChatToolAgent(chat_api=api_provider)
advanced_agent = AdvancedAgent(
agent=base_agent,
tool_registry=ToolRegistry(),
agent_config=AgentConfig(),
)
Constructor parameters:
agent: baseBaseToolAgentimplementationtool_registry: optionalToolRegistryagent_config: optionalAgentConfiguser_name: optional display name for the userassistant_name: optional display name for the assistantdebug_mode: enable verbose agent internals
Response Types
ChatResponse
Fields:
messages: full message list accumulated by the agentresponse: final assistant text
ChatResponseChunk
Fields:
chunkhas_tool_calltool_callhas_tool_call_resulttool_call_resultfinishedfinished_response
Helper methods:
get_tool_name()get_tool_arguments()get_tool_results()