zai-org--chatglm3
25 行
624 B
Python
25 行
624 B
Python
import math
|
|
from langchain.tools import BaseTool
|
|
|
|
|
|
class Calculator(BaseTool):
|
|
name = "Calculator"
|
|
description = "Useful for when you need to answer questions about math"
|
|
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
def _run(self, para: str) -> str:
|
|
para = para.replace("^", "**")
|
|
if "sqrt" in para:
|
|
para = para.replace("sqrt", "math.sqrt")
|
|
elif "log" in para:
|
|
para = para.replace("log", "math.log")
|
|
return eval(para)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
calculator_tool = Calculator()
|
|
result = calculator_tool.run("sqrt(2) + 3")
|
|
print(result)
|