TheWeeeed commited on
Commit
5f001c4
·
verified ·
1 Parent(s): daca86f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -6
app.py CHANGED
@@ -260,21 +260,43 @@ def two_stage_qa(question, candidate_paragraphs_str, max_seq_len_mc=512, max_seq
260
  return final_answer, f"選中的段落 (索引 {selected_idx}):\n{selected_paragraph}", predictions_dict
261
 
262
  # --- 創建 Gradio 界面 ---
 
 
 
 
 
 
 
 
 
263
  iface = gr.Interface(
264
- fn=two_stage_qa,
265
  inputs=[
266
- gr.Textbox(lines=2, placeholder="輸入您的問題...", label="問題 (Question)"),
267
- gr.Textbox(lines=10, placeholder="在此處輸入候選段落,每段一行...", label="候選段落 (Candidate Paragraphs - One per line)")
 
 
 
 
 
 
 
 
 
 
268
  ],
269
  outputs=[
270
  gr.Textbox(label="預測答案 (Predicted Answer)"),
271
  gr.Textbox(label="選中的相關段落 (Selected Relevant Paragraph)"),
272
- gr.JSON(label="原始預測字典 (Raw Predictions Dict - for debugging)") # 可選的調試輸出
273
  ],
274
  title="兩階段中文抽取式問答系統",
275
  description="輸入一個問題和多個候選段落(每行一個段落)。系統會先選擇最相關的段落,然後從中抽取答案。",
276
- allow_flagging="never"
277
  )
278
 
279
  if __name__ == "__main__":
280
- iface.launch()
 
 
 
 
260
  return final_answer, f"選中的段落 (索引 {selected_idx}):\n{selected_paragraph}", predictions_dict
261
 
262
  # --- 創建 Gradio 界面 ---
263
+ # 定義預設的問題和段落內容
264
+ DEFAULT_QUESTION = "世界最高峰是什麼?"
265
+ DEFAULT_PARAGRAPHS = (
266
+ "珠穆朗瑪峰是喜馬拉雅山脈的主峰,位於中國與尼泊爾邊界上,是世界海拔最高的山峰。\n"
267
+ "喬戈里峰,又稱K2,是喀喇崑崙山脈的主峰,海拔8611米,是世界第二高峰,位於中國與巴基斯坦邊界。\n"
268
+ "干城章嘉峰位於喜馬拉雅山脈中段尼泊爾和印度邊界線上,海拔8586米,為世界第三高峰。\n"
269
+ "洛子峰,海拔8516米,為世界第四高峰,位於珠穆朗瑪峰以南約3公里處,同屬喜馬拉雅山脈。"
270
+ )
271
+
272
  iface = gr.Interface(
273
+ fn=two_stage_qa, # 您的兩階段問答處理函數
274
  inputs=[
275
+ gr.Textbox(
276
+ lines=2,
277
+ placeholder="輸入您的問題...",
278
+ label="問題 (Question)",
279
+ value=DEFAULT_QUESTION # <--- 為問題設置預設值
280
+ ),
281
+ gr.Textbox(
282
+ lines=10,
283
+ placeholder="在此處輸入候選段落,每段一行...",
284
+ label="候選段落 (Candidate Paragraphs - One per line)",
285
+ value=DEFAULT_PARAGRAPHS # <--- 為段落設置預設值
286
+ )
287
  ],
288
  outputs=[
289
  gr.Textbox(label="預測答案 (Predicted Answer)"),
290
  gr.Textbox(label="選中的相關段落 (Selected Relevant Paragraph)"),
291
+ gr.JSON(label="原始預測字典 (Raw Predictions Dict - for debugging)")
292
  ],
293
  title="兩階段中文抽取式問答系統",
294
  description="輸入一個問題和多個候選段落(每行一個段落)。系統會先選擇最相關的段落,然後從中抽取答案。",
295
+ allow_flagging="never" # 或者您希望的標記設置
296
  )
297
 
298
  if __name__ == "__main__":
299
+ if models_loaded_successfully: # 確保模型已加載才啟動
300
+ iface.launch()
301
+ else:
302
+ print(f"Gradio 應用無法啟動,因為模型加載失敗: {error_message if 'error_message' in locals() else '未知錯誤'}")