VietCat commited on
Commit
3ea9a9c
·
1 Parent(s): 536792d

update new hybrid match_documents

Browse files
Files changed (2) hide show
  1. app/constants.py +12 -0
  2. app/supabase_db.py +12 -2
app/constants.py CHANGED
@@ -109,6 +109,18 @@ VEHICLE_KEYWORD_TO_COLUMN = {
109
  "bộ hành": "dibo"
110
  }
111
 
 
 
 
 
 
 
 
 
 
 
 
 
112
 
113
  SHEET_RANGE = 'chat!A2:L'
114
  EMBEDDING_DIM = 1536
 
109
  "bộ hành": "dibo"
110
  }
111
 
112
+ # 1. Định nghĩa danh sách stop words của riêng bạn
113
+ # Bạn có thể thêm/bớt các từ trong danh sách này tùy ý
114
+ VIETNAMESE_STOP_WORDS = {
115
+ "bị", "bởi", "cả", "các", "cái", "cần", "càng", "chỉ", "chiếc", "cho",
116
+ "chứ", "chưa", "có", "có thể", "cứ", "cùng", "cũng", "đã", "đang", "để",
117
+ "do", "đó", "được", "gì", "khi", "không", "là", "lại", "lên", "lúc",
118
+ "mà", "mỗi", "một", "nên", "nếu", "ngay", "như", "nhưng", "những",
119
+ "nơi", "nữa", "phải", "qua", "ra", "rằng", "rất", "rồi", "sau", "sẽ",
120
+ "thì", "trên", "trước", "từ", "từng", "và", "vẫn", "vào", "vậy", "về",
121
+ "vì", "việc", "với", "xong", "phạt", "xử", "xe"
122
+ # ... thêm các từ khác bạn muốn loại bỏ
123
+ }
124
 
125
  SHEET_RANGE = 'chat!A2:L'
126
  EMBEDDING_DIM = 1536
app/supabase_db.py CHANGED
@@ -4,7 +4,7 @@ from supabase.client import create_client, Client
4
  from loguru import logger
5
 
6
  from .utils import timing_decorator_sync
7
- from .constants import VEHICLE_KEYWORD_TO_COLUMN
8
 
9
  class SupabaseClient:
10
  def __init__(self, url: str, key: str):
@@ -41,7 +41,17 @@ class SupabaseClient:
41
 
42
  # Chuẩn bị chuỗi truy vấn trong Python
43
  # Tách từ và nối bằng '|'
44
- or_query_tsquery = " | ".join(user_question.split())
 
 
 
 
 
 
 
 
 
 
45
 
46
  try:
47
  payload = {
 
4
  from loguru import logger
5
 
6
  from .utils import timing_decorator_sync
7
+ from .constants import VEHICLE_KEYWORD_TO_COLUMN, VIETNAMESE_STOP_WORDS
8
 
9
  class SupabaseClient:
10
  def __init__(self, url: str, key: str):
 
41
 
42
  # Chuẩn bị chuỗi truy vấn trong Python
43
  # Tách từ và nối bằng '|'
44
+
45
+ """
46
+ Xử lý câu hỏi thô: tách từ, loại bỏ stop words,
47
+ và trả về chuỗi text sạch để truyền vào RPC.
48
+ """
49
+ # Tách câu hỏi thành các từ (chuyển về chữ thường)
50
+ words = user_question.lower().split()
51
+
52
+ # Lọc bỏ các từ có trong danh sách stop words và nối thành chuỗi với dấu cách
53
+ or_query_tsquery = " ".join([word for word in words if word not in VIETNAMESE_STOP_WORDS])
54
+ logger.info(f"[DEBUG][RPC]: or_query_tsquery: {or_query_tsquery}")
55
 
56
  try:
57
  payload = {