liunux4odoo 9818bd2a88
- 重写 tool 部分: (#3553)
- 简化 tool 的定义方式
    - 所有 tool 和 tool_config 支持热加载
    - 修复:json_schema_extra warning
2024-03-28 13:08:51 +08:00

17 lines
462 B
Python

from chatchat.server.pydantic_v1 import Field
from .tools_registry import regist_tool
@regist_tool
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:
return str(numexpr.evaluate(text))
except Exception as e:
return f"wrong: {e}"