File size: 2,533 Bytes
bb0017c 503efa1 4b5c33b 503efa1 acfd0ee 593718f acfd0ee 791138f acfd0ee 503efa1 acfd0ee 593718f acfd0ee 791138f acfd0ee 503efa1 acfd0ee 593718f acfd0ee 791138f acfd0ee 503efa1 acfd0ee 593718f 503efa1 acfd0ee 791138f acfd0ee 503efa1 acfd0ee 593718f acfd0ee 791138f acfd0ee |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# References:
# https://docs.crewai.com/introduction
from crewai.tools import tool
class DeterministicTools():
# Arithmetic
@tool("Add Tool")
def add_tool(a: float, b: float) -> float:
"""Add two numbers.
Args:
a (float): First number
b (float): Second number
Returns:
number: Result
"""
print(f"π€ DeterministicTools: add_tool: a={a}, b={b}")
result = a + b
print(f"π€ DeterministicTools: add_tool: result={result}")
return result
@tool("Subtract Tool")
def subtract_tool(a: float, b: float) -> float:
"""Subtract two numbers.
Args:
a (float): First number
b (float): Second number
Returns:
number: Result
"""
print(f"π€ DeterministicTools: subtract_tool: a={a}, b={b}")
result = a - b
print(f"π€ DeterministicTools: subtract_tool: result={result}")
return result
@tool("Multiply Tool")
def multiply_tool(a: float, b: float) -> float:
"""Multiply two numbers.
Args:
a (float): First number
b (float): Second number
Returns:
number: Result
"""
print(f"π€ DeterministicTools: multiply_tool: a={a}, b={b}")
result = a * b
print(f"π€ DeterministicTools: multiply_tool: result={result}")
return result
@tool("Divide Tool")
def divide_tool(a: float, b: float) -> float:
"""Divide two numbers.
Args:
a (float): First number
b (float): Second number
Returns:
number: Result
Raises:
RuntimeError: If processing fails
"""
print(f"π€ DeterministicTools: divide_tool: a={a}, b={b}")
if b == 0:
raise RuntimeError("Cannot divide by zero.")
result = a / b
print(f"π€ DeterministicTools: divide_tool: result={result}")
return result
@tool("Modulus Tool")
def modulus_tool(a: float, b: float) -> float:
"""Get the modulus of two numbers.
Args:
a (float): First number
b (float): Second number
Returns:
number: Result
"""
print(f"π€ DeterministicTools: modulus_tool: a={a}, b={b}")
result = a % b
print(f"π€ DeterministicTools: modulus_tool: result={result}")
return result |