Calculator Agent
Mathematical calculation tools for AI agents.
from praisonaiagents import Agent
from praisonai_tools import evaluate
agent = Agent(name="MathAssistant", tools=[evaluate])
agent.start("What is the area of a circle with radius 5?")The user asks a maths question; the agent evaluates expressions and returns a precise answer.
Calculator Tools
Use Calculator Tools to perform mathematical calculations with AI agents.
- Install Dependencies
First, install the required packages:
bash pip install praisonaiagents praisonai-tools sympy pint - Import Components
Import the necessary components:
python from praisonaiagents import Agent, Task, AgentTeam from praisonai_tools import ( evaluate, solve_equation, convert_units, calculate_statistics, calculate_financial ) - Create Agent
Create a calculator agent:
python calculator_agent = Agent( name="MathAssistant", role="Mathematical Computation Specialist", goal="Perform accurate mathematical calculations and solve equations.", backstory="Expert in mathematical computations and problem-solving.", tools=[ evaluate, solve_equation, convert_units, calculate_statistics, calculate_financial ], reflection=False ) - Define Task
Define the calculation task:
python calc_task = Task( description="Calculate the area of a circle with radius 5", expected_output="The area of the circle in square units", agent=calculator_agent, name="circle_area" ) - Run Agent
Initialize and run the agent:
python agents = AgentTeam( agents=[calculator_agent], tasks=[calc_task], process="sequential" ) agents.start()
Understanding Calculator Tools
What are Calculator Tools?Calculator Tools provide mathematical computation capabilities for AI agents: – Expression evaluation – Equation solving – Unit conversions – Support for mathematical functions – Variable substitution
Key Components
Evaluate mathematical expressions:
result = evaluate("2 + 2 * 3")Solve mathematical equations:
result = solve_equation("2*x + 3 = 7")Convert between units:
result = convert_units(100, "meters", "kilometers")Calculate statistical metrics:
result = calculate_statistics([1, 2, 3, 4, 5])Calculate financial metrics:
result = calculate_financial(1000, 5, 2)Available Functions
from praisonai_tools import evaluate
from praisonai_tools import solve_equation
from praisonai_tools import convert_units
from praisonai_tools import calculate_statistics
from praisonai_tools import calculate_financialAdvanced Usage
Expression Evaluation
Evaluate complex mathematical expressions with variables:
from praisonai_tools import evaluate
# Basic arithmetic
result = evaluate("2 + 2 * 3")
# With mathematical functions
result = evaluate("sin(pi/2) + sqrt(16)")
# With variables
result = evaluate(
"x^2 + y",
variables={"x": 3, "y": 4}
)Equation Solving
Solve different types of equations:
from praisonai_tools import solve_equation
# Linear equation
result = solve_equation("2*x + 3 = 7")
# With custom variable
result = solve_equation("y^2 = 4", variable="y")Unit Conversions
Convert between different units:
from praisonai_tools import convert_units
# Length conversion
result = convert_units(100, "meters", "kilometers")
# Temperature conversion
result = convert_units(32, "fahrenheit", "celsius")
# Time conversion
result = convert_units(2.5, "hours", "minutes")Statistical Calculations
Calculate statistical metrics:
from praisonai_tools import calculate_statistics
result = calculate_statistics([1, 2, 3, 4, 5])Financial Calculations
Calculate financial metrics:
from praisonai_tools import calculate_financial
result = calculate_financial(1000, 5, 2)Error Handling
Error ManagementThe tools include comprehensive error handling:
# Returns success result
{"result": 8.0}
# Returns error message
{"error": "Invalid expression"}Best Practices
Precision Control
Control calculation precision:
evaluate(
"pi",
precision=5
)Safe Execution
Uses safe evaluation environment with: – Restricted builtins – Mathematical functions only – Variable validation
Examples
Basic Calculator Agent
from praisonaiagents import Agent, Task, AgentTeam
from praisonai_tools import evaluate, solve_equation, convert_units
# Create calculator agent
calc_agent = Agent(
name="MathExpert",
role="Mathematical Specialist",
goal="Solve mathematical problems accurately.",
backstory="Expert in mathematics and calculations.",
tools=[evaluate, solve_equation, convert_units],
reflection=False
)
# Define task
calc_task = Task(
description="Solve the equation 2x + 5 = 15",
expected_output="Value of x",
agent=calc_agent,
name="equation_solver"
)
# Run agent
agents = AgentTeam(
agents=[calc_agent],
tasks=[calc_task],
process="sequential"
)
agents.start()