| from langchain_core.tools import tool |
| import operator |
|
|
| @tool("add_tool", parse_docstring=True) |
| def add(a: float, b: float) -> float: |
| """Adds two numbers. |
| |
| Args: |
| a (float): The first number. |
| b (float): The second number. |
| |
| Returns: |
| float: The sum of a and b. |
| """ |
| return operator.add(a, b) |
|
|
| @tool("subtract_tool", parse_docstring=True) |
| def subtract(a: float, b: float) -> float: |
| """Subtracts the second number from the first. |
| |
| Args: |
| a (float): The first number (minuend). |
| b (float): The second number (subtrahend). |
| |
| Returns: |
| float: The result of subtracting b from a. |
| """ |
| return operator.sub(a, b) |
|
|
| @tool("multiply_tool", parse_docstring=True) |
| def multiply(a: float, b: float) -> float: |
| """Multiplies two numbers. |
| |
| Args: |
| a (float): The first number. |
| b (float): The second number. |
| |
| Returns: |
| float: The product of a and b. |
| """ |
| return operator.mul(a, b) |
|
|
| @tool("divide_tool", parse_docstring=True) |
| def divide(a: float, b: float) -> float: |
| """Divides the first number by the second. |
| |
| Args: |
| a (float): The numerator. |
| b (float): The denominator. |
| |
| Returns: |
| float: The result of dividing a by b. |
| Returns an error message string if division by zero occurs. |
| """ |
| if b == 0: |
| return "Error: Cannot divide by zero." |
| return operator.truediv(a, b) |