|
@@ -2,6 +2,7 @@ from langchain.tools import tool
|
|
|
from .base_tool import call_csharp_api, get_tool_prompt
|
|
from .base_tool import call_csharp_api, get_tool_prompt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+# 收款查询工具
|
|
|
def get_cusamt_default_config():
|
|
def get_cusamt_default_config():
|
|
|
"""get_cusamt 工具的默认配置"""
|
|
"""get_cusamt 工具的默认配置"""
|
|
|
return {
|
|
return {
|
|
@@ -17,8 +18,10 @@ def get_cusamt_default_config():
|
|
|
},
|
|
},
|
|
|
"返回值说明": {
|
|
"返回值说明": {
|
|
|
"格式": "一个包含客户收款数据的字符串",
|
|
"格式": "一个包含客户收款数据的字符串",
|
|
|
|
|
+ "字段含义": "custname:客户名称, viewdate:收款日期, amt:收款金额,currency:币种,kind:收款类型",
|
|
|
},
|
|
},
|
|
|
"输出格式要求": ["以表格输出"],
|
|
"输出格式要求": ["以表格输出"],
|
|
|
|
|
+ "使用示例": "用户输入:'查询客户A,2025年的收款情况' -> 系统调用此工具获取客户A在2025年1月至12月的收款数据",
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -55,3 +58,107 @@ def get_cusamt_func(
|
|
|
|
|
|
|
|
get_cusamt_func.__doc__ = tool_description
|
|
get_cusamt_func.__doc__ = tool_description
|
|
|
get_cusamt = tool(get_cusamt_func)
|
|
get_cusamt = tool(get_cusamt_func)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# 客户应收帐查询工具(包含明细信息)
|
|
|
|
|
+def get_bmsttake_with_mx_default_config():
|
|
|
|
|
+ """get_bmsttake_with_mx 工具的默认配置"""
|
|
|
|
|
+ return {
|
|
|
|
|
+ "get_bmsttake_with_mx": {
|
|
|
|
|
+ "基础描述": "获取指定客户的应收帐数据(含明细信息)",
|
|
|
|
|
+ "入参说明": {
|
|
|
|
|
+ "backend_url": "后端API地址",
|
|
|
|
|
+ "token": "认证令牌",
|
|
|
|
|
+ "cusname": "客户名称 或 客户编码, 必填",
|
|
|
|
|
+ },
|
|
|
|
|
+ "返回值说明": {
|
|
|
|
|
+ "格式": "一个包含客户应收帐数据的字符串",
|
|
|
|
|
+ "字段含义": "custname:客户名称, cus_balcamt:应收结余, currency:币种,scname:分部,billcode:单据编号,takedate:发生日期,oriamt:单据金额,msttakeamt:应收金额,takeamt:已收金额,balcamt:应收结余,balcamt:未收金额",
|
|
|
|
|
+ },
|
|
|
|
|
+ "输出格式要求": [
|
|
|
|
|
+ "以表格输出",
|
|
|
|
|
+ "custname,cus_balcamt,currency,scname是汇总信息,不需要在表格中显示",
|
|
|
|
|
+ "其余是明细信息,在表格中显示",
|
|
|
|
|
+ "按custname,currency,scname区分不同表格",
|
|
|
|
|
+ "无需进行任何汇总计算,cus_balcamt就是客户对应币种的应收结余,直接显示即可",
|
|
|
|
|
+ "默认不显示明细信息的表格,除非客户要求详细内容",
|
|
|
|
|
+ ],
|
|
|
|
|
+ "使用示例": "用户输入:'查询客户A的应收帐详细情况 或 详细介绍客户A还有多少单未付款' -> 系统调用此工具获取客户A的应收帐含明细数据",
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+tool_description_get_bmsttake_mx = get_tool_prompt(
|
|
|
|
|
+ "get_bmsttake_with_mx", get_bmsttake_with_mx_default_config()
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def get_bmsttake_with_mx_func(
|
|
|
|
|
+ backend_url: str,
|
|
|
|
|
+ token: str,
|
|
|
|
|
+ cusname: str,
|
|
|
|
|
+) -> str:
|
|
|
|
|
+ """实际的函数实现"""
|
|
|
|
|
+ print(f"正在获取客户{cusname}应收帐数据")
|
|
|
|
|
+
|
|
|
|
|
+ return call_csharp_api(
|
|
|
|
|
+ backend_url,
|
|
|
|
|
+ token,
|
|
|
|
|
+ "money_data_ai",
|
|
|
|
|
+ "get_bmsttake_with_mx",
|
|
|
|
|
+ {"arg_cusname": cusname},
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+get_bmsttake_with_mx_func.__doc__ = tool_description_get_bmsttake_mx
|
|
|
|
|
+get_bmsttake_with_mx = tool(get_bmsttake_with_mx_func)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# 客户应收帐查询工具(快速,不含明细,可不指定客户)
|
|
|
|
|
+def get_bmsttake_quick_default_config():
|
|
|
|
|
+ """get_bmsttake_quick 工具的默认配置"""
|
|
|
|
|
+ return {
|
|
|
|
|
+ "get_bmsttake_quick": {
|
|
|
|
|
+ "基础描述": "获取应收帐数据(快速,不含明细,可不指定客户)",
|
|
|
|
|
+ "入参说明": {
|
|
|
|
|
+ "backend_url": "后端API地址",
|
|
|
|
|
+ "token": "认证令牌",
|
|
|
|
|
+ "cusname": "客户名称 或 客户编码,如果不指定,则返回所有客户应收帐数据",
|
|
|
|
|
+ },
|
|
|
|
|
+ "返回值说明": {
|
|
|
|
|
+ "格式": "一个包含客户应收帐数据的字符串",
|
|
|
|
|
+ "字段含义": "custname:客户名称, cus_balcamt:应收结余, currency:币种,scname:分部",
|
|
|
|
|
+ },
|
|
|
|
|
+ "输出格式要求": [
|
|
|
|
|
+ "以表格输出",
|
|
|
|
|
+ "custname,cus_balcamt,currency,scname是汇总信息,不需要在表格中显示",
|
|
|
|
|
+ ],
|
|
|
|
|
+ "使用示例": "用户输入:'查询客户A的应收帐情况 或 客户A还有多少款未付 或 查询待收款情况' -> 系统调用此工具获取应收帐数据",
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+tool_description_get_bmsttake_quick = get_tool_prompt(
|
|
|
|
|
+ "get_bmsttake_quick", get_bmsttake_quick_default_config()
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def get_bmsttake_quick_func(
|
|
|
|
|
+ backend_url: str,
|
|
|
|
|
+ token: str,
|
|
|
|
|
+ cusname: str,
|
|
|
|
|
+) -> str:
|
|
|
|
|
+ """实际的函数实现"""
|
|
|
|
|
+ print(f"正在获取客户{cusname}应收帐数据")
|
|
|
|
|
+
|
|
|
|
|
+ return call_csharp_api(
|
|
|
|
|
+ backend_url,
|
|
|
|
|
+ token,
|
|
|
|
|
+ "money_data_ai",
|
|
|
|
|
+ "get_bmsttake_quick",
|
|
|
|
|
+ {"arg_cusname": cusname},
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+get_bmsttake_quick_func.__doc__ = tool_description_get_bmsttake_quick
|
|
|
|
|
+get_bmsttake_quick = tool(get_bmsttake_quick_func)
|