Преглед на файлове

增加客户没有下单热销产品工具

longjoedyy преди 4 дни
родител
ревизия
28ee7a70db
променени са 4 файла, в които са добавени 17 реда и са изтрити 9 реда
  1. 4 3
      config/tool_config.json
  2. 2 1
      core/agent.py
  3. 1 1
      tools/money_tools.py
  4. 10 4
      tools/sale_tools.py

+ 4 - 3
config/tool_config.json

@@ -21,7 +21,8 @@
         "入参说明": {
             "backend_url": "后端API地址",
             "token": "认证令牌",
-            "funtion_name": "函数名称; get_sale_amt_by_month:按月汇总销售额; get_sale_amt_by_day:按天汇总销售额; get_sale_amt_by_produce:产品销售额; get_sale_amt_by_cus:客户销售额;get_sale_amt_by_saler:业务员销售额;get_sale_amt_by_cus_produce:客户产品销售额",
+            "funtion_name": "函数名称; get_sale_amt_by_month:按月汇总销售额; get_sale_amt_by_day:按天汇总销售额; get_sale_amt_by_produce:产品销售额; get_sale_amt_by_cus:客户销售额;get_sale_amt_by_saler:业务员销售额;get_sale_amt_by_cus_produce:客户产品销售额;get_hot_produce_not_buy:客户未购买过的热销产品",
+            "arg_cusname": "客户名称,只有get_hot_produce_not_buy需要",
             "firstdate": "开始日期,格式YYYY-MM-DD",
             "lastdate": "结束日期,格式YYYY-MM-DD 23:59:59"
         },
@@ -31,7 +32,7 @@
         "输出格式要求": [
             "以表格输出,重复信息要总结归纳,精简显示"
         ],
-        "使用示例": "用户输入:'查看2023年1月1日至2023年12月31日的销售金额' -> 系统调用此工具获取2023年1月至12月的销售金额;'2024年前5热销产品是哪些?' -> 系统调用此工具获取2024年产品销售额;'2025年前10销售额最高的客户是?' -> 系统调用此工具获取2025年客户销售额"
+        "使用示例": "用户输入:'查看2023年1月1日至2023年12月31日的销售金额' -> 获取2023年1月至12月的销售金额;'2024年前5热销产品是哪些?' -> 获取2024年产品销售额;'2025年前10销售额最高的客户是?' -> 获取2025年客户销售额';'客户A还没买过的热销型号有哪些?'->获取客户未买过近半年的热销款(没有指定时间范围默认近半年,并说明这是哪个时间范围的热销款)"
     },
     "get_mtrl_saleprice": {
         "基础描述": "获取指定物料的销售价格",
@@ -68,7 +69,7 @@
             "字段含义": "custname:客户名称, viewdate:收款日期, amt:收款金额,currency:币种,kind:收款类型"
         },
         "输出格式要求": [
-            "以表格输出,客户名称列默认要显示,除非用户有其他汇总需求"
+            "以表格输出,如果custname和viewdate数据全部空白,不显示客户名称和收款日期列"
         ],
         "使用示例": "用户输入:'查询客户A,2025年的收款情况' -> 系统调用此工具获取客户A在2025年1月至12月的收款数据"
     },

+ 2 - 1
core/agent.py

@@ -41,7 +41,7 @@ def create_system_prompt(
 
 {"- 后端地址: " + backend_url if backend_url else ""}
 {"- API用户的认证令牌: " + token if token else ""}
-时间:{datetime.datetime.now().strftime("%m-%d %H:%M")}
+时间:{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
 
 数据查询结果尽量以 Markdown 表格格式输出,格式如下:
 | 列名1 | 列名2 | 列名3 |
@@ -49,6 +49,7 @@ def create_system_prompt(
 | 数据1 | 数据2 | 数据3 |
 | 数据4 | 数据5 | 数据6 |
 """
+
     return system_prompt
 
 

+ 1 - 1
tools/money_tools.py

@@ -20,7 +20,7 @@ def get_cusamt_default_config():
                 "格式": "一个包含客户收款数据的字符串",
                 "字段含义": "custname:客户名称, viewdate:收款日期, amt:收款金额,currency:币种,kind:收款类型",
             },
-            "输出格式要求": ["以表格输出"],
+            "输出格式要求": ["以表格输出,如果viewdate数据全部空白,不显示viewdate列"],
             "使用示例": "用户输入:'查询客户A,2025年的收款情况' -> 系统调用此工具获取客户A在2025年1月至12月的收款数据",
         }
     }

+ 10 - 4
tools/sale_tools.py

@@ -10,7 +10,8 @@ def get_sale_amt_default_config():
             "入参说明": {
                 "backend_url": "后端API地址",
                 "token": "认证令牌",
-                "funtion_name": "函数名称; get_sale_amt_by_month:按月汇总销售额; get_sale_amt_by_day:按天汇总销售额; get_sale_amt_by_produce:产品销售额; get_sale_amt_by_cus:客户销售额;get_sale_amt_by_saler:业务员销售额;get_sale_amt_by_cus_produce:客户产品销售额",
+                "funtion_name": "函数名称; get_sale_amt_by_month:按月汇总销售额; get_sale_amt_by_day:按天汇总销售额; get_sale_amt_by_produce:产品销售额; get_sale_amt_by_cus:客户销售额;get_sale_amt_by_saler:业务员销售额;get_sale_amt_by_cus_produce:客户产品销售额;get_hot_produce_not_buy:客户未购买过的热销产品",
+                "cusname": "客户名称,只有get_hot_produce_not_buy需要",
                 "firstdate": "开始日期,格式YYYY-MM-DD",
                 "lastdate": "结束日期,格式YYYY-MM-DD 23:59:59",
             },
@@ -20,7 +21,7 @@ def get_sale_amt_default_config():
             "输出格式要求": [
                 "重复信息要总结归纳,精简显示",
             ],
-            "使用示例": "用户输入:'查看2023年1月1日至2023年12月31日的销售金额' -> 系统调用此工具获取2023年1月至12月的销售金额;'2024年前5热销产品是哪些?' -> 系统调用此工具获取2024年产品销售额;'2025年前10销售额最高的客户是?' -> 系统调用此工具获取2025年客户销售额",
+            "使用示例": "用户输入:'查看2023年1月1日至2023年12月31日的销售金额' -> 获取2023年1月至12月的销售金额;'2024年前5热销产品是哪些?' -> 获取2024年产品销售额;'2025年前10销售额最高的客户是?' -> 获取2025年客户销售额';'客户A还没买过的热销型号有哪些?'->获取客户未买过近半年的热销款(没有指定时间范围默认近半年)",
         }
     }
 
@@ -29,7 +30,12 @@ tool_description = get_tool_prompt("get_sale_amt", get_sale_amt_default_config()
 
 
 def get_sale_amt_func(
-    backend_url: str, token: str, funtion_name: str, firstdate: str, lastdate: str
+    backend_url: str,
+    token: str,
+    funtion_name: str,
+    firstdate: str,
+    lastdate: str,
+    cusname: str = "",
 ) -> str:
     """实际的函数实现"""
     print(f"正在获取销售金额{funtion_name},时间范围:{firstdate} 至 {lastdate}")
@@ -39,7 +45,7 @@ def get_sale_amt_func(
         token,
         "sale_data_ai",
         funtion_name,
-        {"arg_firstdate": firstdate, "arg_lastdate": lastdate},
+        {"arg_firstdate": firstdate, "arg_lastdate": lastdate, "arg_cusname": cusname},
     )