SHERWYNLUCIAN commited on
Commit
881bb63
·
verified ·
1 Parent(s): 84aa364

Upload 5 files

Browse files
Files changed (1) hide show
  1. main.py +18 -4
main.py CHANGED
@@ -329,7 +329,9 @@ def fallback_infer(prompt):
329
  if llm is None:
330
  return "Xin lỗi, hệ thống đang bị lỗi tải mô hình GGUF."
331
 
332
- system_prompt = "Bạn là trợ lý AI tiếng Việt tên là EvoNet. Hãy trả lời ngắn gọn, trực tiếp và chính xác. Không sử dụng tiếng Anh."
 
 
333
  formatted_prompt = f"<|im_start|>system\n{system_prompt}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\n"
334
 
335
  res = llm.create_completion(
@@ -340,14 +342,26 @@ def fallback_infer(prompt):
340
  )
341
  text = res["choices"][0]["text"].strip()
342
 
343
- # Loại bỏ các đoạn <think>...</think> nếu AI lỡ sinh ra
344
  text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
345
- # Loại bỏ nếu bị đứt đoạn <think> mà không có đóng
346
  text = re.sub(r'<think>.*', '', text, flags=re.DOTALL)
347
 
348
  text = text.strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  if not text:
350
- return "Xin lỗi, câu hỏi này làm hệ thống xử lý hơi bối rối. Bạn có thể hỏi lại theo cách khác được không?"
351
 
352
  return text
353
 
 
329
  if llm is None:
330
  return "Xin lỗi, hệ thống đang bị lỗi tải mô hình GGUF."
331
 
332
+ system_prompt = "Bạn là trợ lý AI tiếng Việt tên là EvoNet. Hãy trả lời ngắn gọn, trực tiếp và chính xác."
333
+
334
+ # Assistant Prefill: Ép model bắt đầu bằng một từ tiếng Việt để chặn nó sinh thẻ <think> tiếng Anh
335
  formatted_prompt = f"<|im_start|>system\n{system_prompt}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\n"
336
 
337
  res = llm.create_completion(
 
342
  )
343
  text = res["choices"][0]["text"].strip()
344
 
345
+ # Lọc rác (nếu có)
346
  text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
 
347
  text = re.sub(r'<think>.*', '', text, flags=re.DOTALL)
348
 
349
  text = text.strip()
350
+
351
+ # Nếu text vẫn rỗng, thử gọi lại 1 lần nữa với prefill mạnh hơn
352
+ if not text:
353
+ formatted_prompt_retry = f"<|im_start|>system\n{system_prompt}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\nTôi"
354
+ res_retry = llm.create_completion(
355
+ formatted_prompt_retry,
356
+ max_tokens=512,
357
+ stop=["<|im_end|>", "<|im_start|>"],
358
+ temperature=0.8
359
+ )
360
+ text = "Tôi" + res_retry["choices"][0]["text"]
361
+ text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL).strip()
362
+
363
  if not text:
364
+ return "Xin lỗi, hiện tại tôi không thể trả lời câu hỏi này."
365
 
366
  return text
367