wangdalin 7 kuukautta sitten
vanhempi
commit
10dd02eb8a
1 muutettua tiedostoa jossa 40 lisäystä ja 20 poistoa
  1. 40 20
      functions.py

+ 40 - 20
functions.py

@@ -1,72 +1,89 @@
 
 from datetime import datetime
 import asyncio
+from fuzzywuzzy import process, fuzz
 async def generate_response(input_str):
     # 定义时间和店铺分类的字典
     responses = {
         ("2天前", "仓"): {
 
             "洗后泛白#洗后缩水#染色": "洗涤不当引起,修复不了",
-            "脏污#破损": "反馈超时",
+            "脏污#破损#异味#香水味": "反馈超时",
             "起球": "摩擦引起,修复不了",
             "勾丝": "人为引起,修复不了",
             "勾线#漏针": "退回尝试维修",
-            "打折#爆口#开线#拉链坏": "退回维修",
-            "扣子磨损#掉扣": "可以补扣",
+            "打折#爆口#开线#拉链坏#脱线#散线#针孔": "退回维修",
+            "扣子磨损#掉扣#掉珠#掉钻": "可以补发",
+            "领子不对称":"对称熨烫一下即可",
             "线头": "修剪一下即可",
             "洗后掉色": "深颜色面料洗涤时,掉浮色属正常。",
             "模特图与实物图不同": "以实物图为准",
             "口袋有异物": "退回分析,需要拦截一下系统",
-            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!"
+            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!",
+            "裤子长短#袖子长短": "退回维修",
+            "下摆前后长短":"工艺设计属正常",
+            "过敏":"个人皮肤比较敏感",
             
         },
 
         ("2天内", "仓"): {
             "洗后泛白#洗后缩水#染色": "退回分析",
-            "脏污#破损": "退回分析",
-            "起球": "衣在穿着过程中,由于摩擦和压力,会产生起球属正常。",
+            "脏污#破损#异味#香水味": "退回分析",
+            "起球": "衣在穿着过程中,由于摩擦和压力,会产生起球属正常。",
             "勾丝": "退回分析",
             "勾线#漏针": "退回分析",
-            "打折#爆口#开线#拉链坏#脱线#散线": "退回维修",
-            "扣子磨损#掉扣": "可以补扣",
+            "打折#爆口#开线#拉链坏#脱线#散线#针孔": "退回维修",
+            "扣子磨损#掉扣#掉珠#掉钻": "可以补发",
+            "领子不对称":"对称熨烫一下即可",
             "线头": "修剪一下即可",
             "洗后掉色": "深颜色面料洗涤时,掉浮色属正常。",
             "模特图与实物图不同": "以实物图为准",
             "口袋有异物": "退回分析,需要拦截一下系统",
-            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!"
+            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!",
+            "裤子长短#袖子长短": "退回维修",
+            "下摆前后长短":"工艺设计属正常",
+            "过敏":"个人皮肤比较敏感",
             
 
         },
 
         ("2天前", "门店"): {
             "洗后泛白#洗后缩水#染色": "洗涤不当引起,修复不了",
-            "脏污#破损": "反馈超时",
+            "脏污#破损#异味#香水味": "反馈超时",
             "起球": "摩擦引起,修复不了",
             "勾丝": "人为引起,修复不了",
             "勾线#漏针": "退回尝试维修",
-            "打折#爆口#开线#拉链坏": "退回维修",
-            "扣子磨损#掉扣": "可以补扣",
+            "打折#爆口#开线#拉链坏#脱线#散线#针孔": "退回维修",
+            "扣子磨损#掉扣#掉珠#掉钻": "可以补发",
+            "领子不对称":"对称熨烫一下即可",
             "线头": "修剪一下即可",
             "洗后掉色": "深颜色面料洗涤时,掉浮色属正常。",
             "模特图与实物图不同": "以实物图为准",
             "口袋有异物": "退回分析,需要拦截一下系统",
-            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!"
+            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!",
+            "裤子长短#袖子长短": "退回维修",
+            "下摆前后长短":"工艺设计属正常",
+            "过敏":"个人皮肤比较敏感",
             
         },
 
         ("2天内", "门店"): {
             "洗后泛白#洗后缩水#染色": "退回分析",
-            "脏污#破损": "人为引起",
-            "起球": "衣在穿着过程中,由于摩擦和压力,会产生起球属正常。",
+            "脏污#破损#异味#香水味": "人为引起",
+            "起球": "衣在穿着过程中,由于摩擦和压力,会产生起球属正常。",
             "勾丝": "退回分析",
             "勾线#漏针": "退回分析",
-            "打折#爆口#开线#拉链坏": "退回维修",
-            "扣子磨损#掉扣": "可以补扣",
+            "打折#爆口#开线#拉链坏#脱线#散线#针孔": "退回维修",
+            "扣子磨损#掉扣#掉珠#掉钻": "可以补发",
+            "领子不对称":"对称熨烫一下即可",
             "线头": "修剪一下即可",
             "洗后掉色": "深颜色面料洗涤时,掉浮色属正常。",
             "模特图与实物图不同": "以实物图为准",
             "口袋有异物": "退回分析,需要拦截一下系统",
-            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!"
+            "钻绒#跑绒": "羽绒缝线或车缝位置会轻微钻绒属正常,因为在缝制过程中有些绒毛就沾在针眼位置经挤压或穿着后经摩擦会跑出来,请知悉!",
+            "裤子长短#袖子长短": "退回维修",
+            "下摆前后长短":"工艺设计属正常",
+            "过敏":"个人皮肤比较敏感",
         },
 
 
@@ -150,12 +167,15 @@ async def generate_response(input_str):
         if not response_dict:
             return "无法处理该类型的响应。"
 
+        matching = []
         # 查找匹配的反馈关键词
         for key, value in response_dict.items():
+            map_temp = [i for i in key.split('#')]
+            matching.extend(map_temp)
             if any(i in feedback for i in key.split('#')):
                 return value
-                
-        return "无法识别的反馈内容。"
+        top_2 = [x[0] for x in process.extract(feedback, matching, limit=2)]   # 取相似性最大的2个        
+        return f"无法识别的反馈内容, 你可以这样提问试试: {top_2}"
 
     except Exception as e:
         return f"处理过程中出现错误:{str(e)}"