Nattapong Tapachoom commited on
Commit
62c2281
·
1 Parent(s): da299cd

No code changes made.

Browse files
Files changed (1) hide show
  1. app.py +25 -1
app.py CHANGED
@@ -583,6 +583,7 @@ def create_interface():
583
  )
584
 
585
  model_verification = gr.Button("🔍 ตรวจสอบโมเดล", variant="secondary", size="sm")
 
586
  model_status = gr.Textbox(
587
  label="สถานะโมเดล",
588
  value="ยังไม่ได้ตรวจสอบ",
@@ -591,7 +592,7 @@ def create_interface():
591
 
592
  # เชื่อมปุ่มตรวจสอบโมเดลกับฟังก์ชันตรวจสอบ
593
  def verify_model(model_name):
594
- from transformers import AutoTokenizer, AutoModelForCausalLM
595
  try:
596
  # ลองโหลด tokenizer (เร็วกว่าโหลด model)
597
  AutoTokenizer.from_pretrained(model_name)
@@ -604,6 +605,29 @@ def create_interface():
604
  inputs=[single_model_name],
605
  outputs=[model_status]
606
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
607
 
608
  # Suggested models
609
  suggested_model_group = gr.Group(visible=False)
 
583
  )
584
 
585
  model_verification = gr.Button("🔍 ตรวจสอบโมเดล", variant="secondary", size="sm")
586
+ model_download = gr.Button("⬇️ ดาวน์โหลดโมเดล", variant="secondary", size="sm")
587
  model_status = gr.Textbox(
588
  label="สถานะโมเดล",
589
  value="ยังไม่ได้ตรวจสอบ",
 
592
 
593
  # เชื่อมปุ่มตรวจสอบโมเดลกับฟังก์ชันตรวจสอบ
594
  def verify_model(model_name):
595
+ from transformers import AutoTokenizer
596
  try:
597
  # ลองโหลด tokenizer (เร็วกว่าโหลด model)
598
  AutoTokenizer.from_pretrained(model_name)
 
605
  inputs=[single_model_name],
606
  outputs=[model_status]
607
  )
608
+
609
+ # ปุ่มดาวน์โหลดโมเดล (preload)
610
+ def download_model(model_name):
611
+ import time
612
+ from transformers import AutoTokenizer, AutoModelForCausalLM
613
+ try:
614
+ t0 = time.time()
615
+ model_status_msg = f"⏳ กำลังดาวน์โหลดและโหลดโมเดล {model_name} ..."
616
+ yield gr.update(value=model_status_msg, interactive=False)
617
+ # โหลด tokenizer และ model
618
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
619
+ model = AutoModelForCausalLM.from_pretrained(model_name)
620
+ t1 = time.time()
621
+ msg = f"✅ โหลดโมเดล {model_name} สำเร็จใน {t1-t0:.1f} วินาที"
622
+ yield gr.update(value=msg, interactive=False)
623
+ except Exception as e:
624
+ yield gr.update(value=f"❌ ไม่สามารถโหลดโมเดล: {str(e)}", interactive=False)
625
+
626
+ model_download.click(
627
+ fn=download_model,
628
+ inputs=[single_model_name],
629
+ outputs=[model_status]
630
+ )
631
 
632
  # Suggested models
633
  suggested_model_group = gr.Group(visible=False)