uyen13 commited on
Commit
00fffc5
·
verified ·
1 Parent(s): 991d23a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -24
app.py CHANGED
@@ -22,18 +22,18 @@ def load_llm():
22
  )
23
 
24
  pipe = pipeline(
25
- "text2text-generation",
26
- model=model,
27
- tokenizer=tokenizer,
28
- max_new_tokens=512,
29
- temperature=0.7,
30
- top_p=0.9,
31
- top_k=50,
32
- repetition_penalty=1.2,
33
- num_beams=4,
34
- early_stopping=True,
35
- do_sample=True
36
- )
37
 
38
  return HuggingFacePipeline(pipeline=pipe)
39
 
@@ -56,7 +56,11 @@ def process_pdf(pdf_path):
56
 
57
 
58
  # --- Tiền xử lý prompt và hậu xử lý câu trả lời ---
59
- template = """以下の文書情報をもとに、質問に自然で丁寧な日本語で回答してください。できるだけ具体的に、例を挙げて分かりやすく説明してください。
 
 
 
 
60
 
61
  文書情報:
62
  {context}
@@ -73,21 +77,21 @@ QA_PROMPT = PromptTemplate(
73
  def postprocess_answer(answer):
74
  answer = answer.strip()
75
 
76
- # Loại bỏ phần đầu không cần thiết
77
- if "Answer:" in answer:
78
- answer = answer.split("Answer:")[-1].strip()
79
-
 
 
 
 
80
  # Thêm dấu chấm cuối câu nếu thiếu
81
  if answer and answer[-1] not in "。.?!":
82
  answer += "。"
83
 
84
- # Viết hoa chữ cái đầu tiên
85
- if len(answer) > 0:
86
- answer = answer[0].upper() + answer[1:]
87
-
88
- # Kiểm tra xem câu có quá ngắn không
89
- if len(answer.split()) < 3:
90
- answer = "ご参考までに、提供された資料にはその点についての詳細な記載が見受けられませんが、" + answer
91
 
92
  return answer
93
 
 
22
  )
23
 
24
  pipe = pipeline(
25
+ "text2text-generation",
26
+ model=model,
27
+ tokenizer=tokenizer,
28
+ max_new_tokens=512,
29
+ temperature=0.75, # Tăng tính sáng tạo (tự nhiên hơn)
30
+ top_p=0.92, # Kết hợp với temperature
31
+ top_k=40,
32
+ repetition_penalty=1.25, # Tránh lặp từ ngữ
33
+ num_beams=4, # Giúp câu mượt hơn nếu không sampling
34
+ early_stopping=True,
35
+ do_sample=True # Bật chế độ sampling để tránh cứng nhắc
36
+ )
37
 
38
  return HuggingFacePipeline(pipeline=pipe)
39
 
 
56
 
57
 
58
  # --- Tiền xử lý prompt và hậu xử lý câu trả lời ---
59
+ template = """あなたは親しみやすく丁寧なアシスタントです。以下の文書情報をもとに、質問に自然で分かりやすい日本語で回答してください。
60
+
61
+ - 回答はできるだけ口語的で柔らかい表現を使ってください。
62
+ - 理由や例を交えて説明すると良いでしょう。
63
+ - 分からない場合は正直に「その点については詳しく記載されていません」と答えてください。
64
 
65
  文書情報:
66
  {context}
 
77
  def postprocess_answer(answer):
78
  answer = answer.strip()
79
 
80
+ # Loại bỏ các cụm không mong muốn
81
+ for phrase in ["Answer:", "答え:", "回答:", "The answer is", "Based on the context"]:
82
+ answer = answer.replace(phrase, "").strip()
83
+
84
+ # Viết hoa chữ cái đầu tiên (nếu cần thiết trong tiếng Nhật)
85
+ if answer and len(answer) > 0:
86
+ answer = answer[0].upper() + answer[1:]
87
+
88
  # Thêm dấu chấm cuối câu nếu thiếu
89
  if answer and answer[-1] not in "。.?!":
90
  answer += "。"
91
 
92
+ # Nếu câu quá ngắn hoặc vô nghĩa, phản hồi mềm mại
93
+ if len(answer.split()) < 4:
94
+ answer = "資料にはその件についての詳細な記載が見受けられませんが、以下のように推測されます:" + answer
 
 
 
 
95
 
96
  return answer
97