Documentation Index
Fetch the complete documentation index at: https://docs.upsonic.ai/llms.txt
Use this file to discover all available pages before exploring further.
Agents can use tools during initialization or add/remove them dynamically.
During Initialization
from upsonic import Agent
from upsonic.tools import tool
@tool
def web_search(query: str) -> str:
"""Search the web for information."""
return f"Search results for: {query}"
agent = Agent(
model="anthropic/claude-sonnet-4-5",
tools=[web_search]
)
from upsonic import Agent
from upsonic.tools import tool
@tool
def calculator(a: float, b: float) -> float:
"""Add two numbers."""
return a + b
# Create agent
agent = Agent("anthropic/claude-sonnet-4-5")
# Add tools dynamically
agent.add_tools([calculator])
# Remove tools (by name or object)
agent.remove_tools([calculator])
# Or: agent.remove_tools(["calculator"])
Access registered tools via the registered_agent_tools attribute:
from upsonic import Agent
from upsonic.tools import tool
@tool
def calculator(a: float, b: float) -> float:
"""Add two numbers."""
return a + b
agent = Agent("anthropic/claude-sonnet-4-5")
agent.add_tools([calculator])
# Access registered tools
print("\nRegistered tools:", agent.registered_agent_tools) # Dict mapping tool names to wrapped tools
# Get tool definitions
tool_defs = agent.get_tool_defs() # List[ToolDefinition]
print("\nTool definitions:", tool_defs)
agent.remove_tools([calculator])
# Access registered tools
print("\nRegistered tools:", agent.registered_agent_tools) # Dict mapping tool names to wrapped tools
# Get tool definitions
tool_defs = agent.get_tool_defs() # List[ToolDefinition]
print("\nTool definitions:", tool_defs)