Spaces:
Sleeping
Sleeping
File size: 1,214 Bytes
d80b863 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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") |