Paul720810 commited on
Commit
d6b821e
·
verified ·
1 Parent(s): aa41c39

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -3
app.py CHANGED
@@ -670,9 +670,15 @@ class TextToSQLSystem:
670
  year_a, year_b = years_unique[0], years_unique[1]
671
  # 嘗試抓買家名稱(英文/數字/符號),若沒有則不加 buyer 條件
672
  buyer_name = None
673
- buyer_match = re.search(r"(?:買家|买家|buyer)\s*[:]?\s*([A-Za-z0-9&.\- ]+)", question, re.IGNORECASE)
674
- if buyer_match:
675
- buyer_name = buyer_match.group(1).strip()
 
 
 
 
 
 
676
 
677
  # 判斷偏向金額或件數
678
  amount_intent = any(kw in q_lower for kw in ["金額", "金钱", "amount", "營收", "業績", "營業額", "銷售額", "revenue"])
 
670
  year_a, year_b = years_unique[0], years_unique[1]
671
  # 嘗試抓買家名稱(英文/數字/符號),若沒有則不加 buyer 條件
672
  buyer_name = None
673
+ # 1) 優先解析明確條件BuyerName LIKE '%...%'
674
+ m_like = re.search(r"BuyerName\s+LIKE\s*'%([^']+)%'", question, re.IGNORECASE)
675
+ if m_like:
676
+ buyer_name = m_like.group(1).strip()
677
+ else:
678
+ # 2) 解析自然語言:避免 'BuyerName' 被誤判成 'buyer'
679
+ buyer_match = re.search(r"(?:買家|买家|客戶|客户|\bbuyer\b(?!name))\s*[::]?\s*([A-Za-z0-9&.\- ]+)", question, re.IGNORECASE)
680
+ if buyer_match:
681
+ buyer_name = buyer_match.group(1).strip()
682
 
683
  # 判斷偏向金額或件數
684
  amount_intent = any(kw in q_lower for kw in ["金額", "金钱", "amount", "營收", "業績", "營業額", "銷售額", "revenue"])