You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Đây là phần quan trọng nhất: Tách biệt luật lệ ra khỏi dữ liệu đầu vào
19
+
SYSTEM_INSTRUCTION="""
20
+
Bạn là chuyên gia AI về phân tích câu hỏi pháp luật Việt Nam (Luật Lao động, bảo hiểm xã hội).
21
+
22
+
NHIỆM VỤ:
23
+
Phân tích câu hỏi người dùng (có thể người dùng sử dụng một số từ địa phương và viết tắt, ví dụ: "BHXH" thay vì "Bảo hiểm xã hội",... do đó cần chuyển đổi các từ viết tắt thành đầy đủ)
24
+
và trả về JSON có cấu trúc để phục vụ tìm kiếm dữ liệu (RAG).
Input: "Chị A lương 10 triệu, đóng bảo hiểm 2 năm thì được nhận bao nhiêu?"
99
+
Output:
100
+
{
101
+
"is_relevant": true,
102
+
"intent": "Hỏi về mức hưởng bảo hiểm dựa trên mức lương và thời gian đóng cụ thể",
103
+
"search_queries": ["cách tính mức hưởng bảo hiểm xã hội một lần", "công thức tính trợ cấp bảo hiểm xã hội", "mức hưởng bảo hiểm xã hội theo mức lương đóng"],
104
+
"extracted_facts": {
105
+
"name": "Chị A",
106
+
"salary": "10 triệu",
107
+
"insurance_duration": "2 năm"
108
+
},
109
+
"category": "CONSULTATION"
110
+
}
111
+
112
+
Ví dụ 3 (Graph Lookup - Tra cứu đích danh):
113
+
Input: "Điều 60 Bộ luật Lao động quy định gì?"
114
+
Output:
115
+
{
116
+
"is_relevant": true,
117
+
"intent": "Tra cứu nội dung quy định tại Điều 60 Bộ luật Lao động",
118
+
"search_queries": ["nội dung Điều 60 Bộ luật Lao động", "quy định tại Điều 60 Bộ luật Lao động năm 2019"],
119
+
"extracted_facts": {
120
+
"legal_article": "Điều 60",
121
+
"law_name": "Bộ luật Lao động"
122
+
},
123
+
"category": "GRAPH_LOOKUP"
124
+
}
125
+
126
+
Ví dụ 4 (Web Search - Ngoài phạm vi):
127
+
Input: "Vượt đèn đỏ phạt bao nhiêu?"
128
+
Output:
129
+
{
130
+
"is_relevant": true,
131
+
"intent": "Hỏi về mức phạt vi phạm giao thông (vượt đèn đỏ)",
132
+
"search_queries": ["mức phạt lỗi vượt đèn đỏ xe máy 2024", "mức phạt vượt đèn đỏ ô tô"],
133
+
"extracted_facts": {},
134
+
"category": "WEBSITE_SEARCH"
135
+
}
136
+
"""
137
+
138
+
classQueryPreprocessor:
139
+
def__init__(self):
140
+
# Load API Key
141
+
settings=get_settings()
142
+
print(f'config: {settings.model_dump_json()}')
143
+
genai.configure(api_key=settings.gemini_api_key)
144
+
145
+
# Cấu hình Model
146
+
# Temperature = 0.0: Quan trọng để loại bỏ sự sáng tạo/ảo giác
147
+
generation_config= {
148
+
"response_mime_type": "application/json",
149
+
"temperature": 0.0,
150
+
}
151
+
152
+
# Khởi tạo model với System Instruction riêng biệt
153
+
# Khuyên dùng gemini-1.5-flash (nhanh, rẻ, tuân thủ tốt) hoặc gemini-1.5-pro
0 commit comments