from langchain.tools import tool from .base_tool import call_csharp_api, get_tool_prompt from typing import Optional def get_mtrl_info_default_config(): """get_mtrl_info 工具的默认配置""" return { "get_mtrl_info": { "基础描述": "获取指定产品的详细信息", "入参说明": { "backend_url": "后端API地址", "token": "认证令牌", "mtrlname": "产品名称", }, "返回值说明": {"格式": "一个包含产品信息的字符串"}, "输出格式要求": [ "**产品编码:**{mtrlcode}", "**产品名称:**{mtrlname}", "**产品规格:**{mtrlmode}", "**当前库存:**{noallocqty}{unit}", "**销售分析**", "销售周期:最近一年", "*销售概况*", "| 指标 | 数据 | 同比 |", "| :--- | :--- | :--- |", "| indicator | current_value | last_year_value |", "*客户排名*", "| 排名 | 客户名称 | 销售量 | 销售额(万元) | 占比 |", "| :--- | :--- | :--- | :--- | :--- |", "| rank_no | cusname | saleqty | amt | percentage |", "*业务员排名*", "| 排名 | 业务员 | 销售量 | 销售额(万元) | 占比 |", "| :--- | :--- | :--- | :--- | :--- |", "| rank_no | saler | saleqty | amt | percentage |", ], "使用示例": "查产品 A388餐椅", } } tool_description = get_tool_prompt("get_mtrl_info", get_mtrl_info_default_config()) def get_mtrl_info_func( backend_url: str, token: str, mtrlname: str = "", ) -> str: """实际的函数实现""" print(f"正在获取产品信息{mtrlname}") return call_csharp_api( backend_url, token, "mtrl_data_ai", "get_mtrl_info", {"arg_mtrlname": mtrlname}, ) get_mtrl_info_func.__doc__ = tool_description get_mtrl_info = tool(get_mtrl_info_func)