Renovation_Planner_AI / tools /material_calculator.py
diegocp01's picture
Upload agent
d80b863 verified
from smolagents import Tool
from typing import Any, Optional
class SimpleTool(Tool):
name = "material_calculator"
description = "Calculates required material quantities for renovation projects."
inputs = {"material_type":{"type":"string","description":"Type of material (paint, flooring, tile, drywall)"},"square_footage":{"type":"number","description":"Area to be covered in square feet"}}
output_type = "string"
def forward(self, material_type: str, square_footage: float) -> str:
"""
Calculates required material quantities for renovation projects.
Args:
material_type: Type of material (paint, flooring, tile, drywall)
square_footage: Area to be covered in square feet
"""
calculations = {
"paint": f"{(square_footage / 400):.2f} gallons (assuming 2 coats)",
"flooring": f"{(square_footage * 1.1):.2f} sq ft (includes 10% waste)",
"tile": f"{(square_footage * 1.15):.2f} sq ft (includes 15% for cuts and waste)",
"drywall": f"{(square_footage / 32):.1f} sheets of 4'x8' drywall"
}
return calculations.get(material_type.lower(), "Material type not recognized")