Paul720810 commited on
Commit
73f942e
·
verified ·
1 Parent(s): a90716d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -14
app.py CHANGED
@@ -508,20 +508,28 @@ class TextToSQLSystem:
508
  # ==============================================================================
509
  entity_match_data = None
510
  entity_patterns = [
511
- # 模式1: 匹配 "类型 + ID" (e.g., "买家ID C0761N") - 最高优先级
512
- {'pattern': r"(買家|buyer)\s*(?:id|代號|代碼)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.BuyerID', 'type': '買家ID'},
513
- {'pattern': r"(申請方|申請廠商|applicant)\s*(?:id|代號|代碼)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.ApplicantID', 'type': '申請方ID'},
514
- {'pattern': r"(付款方|付款廠商|invoiceto)\s*(?:id|代號|代碼)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.InvoiceToID', 'type': '付款方ID'},
515
- {'pattern': r"(代理商|agent)\s*(?:id|代號|代碼)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.AgentID', 'type': '代理商ID'},
516
-
517
- # 模式2: 匹配 "類型 + 名稱" (e.g., "買家 Gap")
518
- {'pattern': r"(買家|buyer|客戶)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.BuyerName', 'type': '買家'},
519
- {'pattern': r"(申請方|申請廠商|applicant)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.ApplicantName', 'type': '申請方'},
520
- {'pattern': r"(付款方|付款廠商|invoiceto)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.InvoiceToName', 'type': '付款方'},
521
- {'pattern': r"(代理商|agent)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.AgentName', 'type': '代理商'},
522
-
523
- # 模式3: 单独匹配一个 ID (e.g., "c0761n") - 较低优先级
524
- {'pattern': r"\b([A-Z]\d{4}[A-Z])\b", 'column': 'sd.ApplicantID', 'type': 'ID'}
 
 
 
 
 
 
 
 
525
  ]
526
 
527
  for p in entity_patterns:
 
508
  # ==============================================================================
509
  entity_match_data = None
510
  entity_patterns = [
511
+ # 模式1: 匹配 "类型 + ID" (e.g., "买家ID C0761N") - 最高优先级
512
+ # 增加了繁體的 "買家", "代號", "代碼"
513
+ {'pattern': r"(買家|买家|buyer)\s*(?:id|代號|代碼|代号|代码)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.BuyerID', 'type': '買家ID'},
514
+ # 增加了繁體的 "申請方", "申請廠商"
515
+ {'pattern': r"(申請方|申请方|申請廠商|申请厂商|applicant)\s*(?:id|代號|代碼|代号|代码)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.ApplicantID', 'type': '申請方ID'},
516
+ # 增加了繁體的 "付款方", "付款廠商"
517
+ {'pattern': r"(付款方|付款厂商|invoiceto)\s*(?:id|代號|代碼|代号|代码)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.InvoiceToID', 'type': '付款方ID'},
518
+ # 增加了繁體的 "代理商"
519
+ {'pattern': r"(代理商|agent)\s*(?:id|代號|代碼|代号|代码)\s*'\"?\b([A-Z]\d{4}[A-Z])\b'\"?", 'column': 'sd.AgentID', 'type': '代理商ID'},
520
+
521
+ # 模式2: 匹配 "類型 + 名稱" (e.g., "買家 Gap")
522
+ # 增加了繁體的 "買家"
523
+ {'pattern': r"(買家|买家|buyer|客戶)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.BuyerName', 'type': '買家'},
524
+ # 增加了繁體的 "申請方", "申請廠商"
525
+ {'pattern': r"(申請方|申请方|申請廠商|申请厂商|applicant)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.ApplicantName', 'type': '申請方'},
526
+ # 增加了繁體的 "付款方", "付款廠商"
527
+ {'pattern': r"(付款方|付款厂商|invoiceto)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.InvoiceToName', 'type': '付款方'},
528
+ # 增加了繁體的 "代理商"
529
+ {'pattern': r"(代理商|agent)\s*'\"?([a-zA-Z0-9&.\s-]+?)(?:\s*的|\s+|$|有)", 'column': 'sd.AgentName', 'type': '代理商'},
530
+
531
+ # 模式3: 单独匹配一个 ID (e.g., "c0761n") - 较低优先级
532
+ {'pattern': r"\b([A-Z]\d{4}[A-Z])\b", 'column': 'sd.ApplicantID', 'type': 'ID'}
533
  ]
534
 
535
  for p in entity_patterns: