mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-26 08:43:23 +08:00
19 lines
533 B
Python
19 lines
533 B
Python
from chatchat.server.pydantic_v1 import Field
|
|
from .tools_registry import regist_tool, BaseToolOutput
|
|
|
|
|
|
@regist_tool(title="数学计算器")
|
|
def calculate(text: str = Field(description="a math expression")) -> float:
|
|
'''
|
|
Useful to answer questions about simple calculations.
|
|
translate user question to a math expression that can be evaluated by numexpr.
|
|
'''
|
|
import numexpr
|
|
|
|
try:
|
|
ret = str(numexpr.evaluate(text))
|
|
except Exception as e:
|
|
ret = f"wrong: {e}"
|
|
|
|
return BaseToolOutput(ret)
|