mrbui1990 commited on
Commit
c848376
·
verified ·
1 Parent(s): f6b5052

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -8
app.py CHANGED
@@ -3,7 +3,8 @@ import torch
3
  from transformers import AutoTokenizer, AutoModelForCausalLM
4
  import spaces , os
5
  from quickmt import Translator
6
- from huggingface_hub import snapshot_download
 
7
 
8
 
9
  MODEL_ID = "bmiller22000/xyntrai-mistral-2.5-7b-chat-nsfw"
@@ -13,11 +14,28 @@ MODEL_NAME = "quickmt/quickmt-en-vi"
13
  model_path = snapshot_download(MODEL_NAME)
14
  translator = Translator(model_path, device="auto")
15
 
16
- def translate_text(text):
17
- if not text.strip():
18
- return ""
19
- output = translator([text], beam_size=1)
20
- return output[0]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  # Tải model và tokenizer 1 LẦN DUY NHẤT
23
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True)
@@ -30,7 +48,7 @@ model = AutoModelForCausalLM.from_pretrained(
30
 
31
  # Thêm một ô system_prompt
32
  @spaces.GPU(duration=60)
33
- def chat_with_model(prompt, system_prompt, chatbot_display, internal_history):
34
  """
35
  Hàm này nhận prompt mới, system_prompt, lịch sử hiển thị (của gr.Chatbot)
36
  và lịch sử nội bộ (của gr.State).
@@ -77,7 +95,8 @@ def chat_with_model(prompt, system_prompt, chatbot_display, internal_history):
77
 
78
  # 5. Decode *chỉ* phần trả lời mới
79
  response_text = tokenizer.decode(output_tokens[0][inputs.shape[-1]:], skip_special_tokens=True)
80
- # translated = translate_text(response_text)
 
81
  # 6. Cập nhật "bộ nhớ" (gr.State) với lượt nói MỚI
82
  internal_history.append({"role": "user", "content": prompt})
83
  internal_history.append({"role": "assistant", "content": response_text})
 
3
  from transformers import AutoTokenizer, AutoModelForCausalLM
4
  import spaces , os
5
  from quickmt import Translator
6
+ from quickmt.hub import hf_download, hf_list
7
+ from pathlib import Path
8
 
9
 
10
  MODEL_ID = "bmiller22000/xyntrai-mistral-2.5-7b-chat-nsfw"
 
14
  model_path = snapshot_download(MODEL_NAME)
15
  translator = Translator(model_path, device="auto")
16
 
17
+ def translate_text(text,progress=gr.Progress(track_tqdm=True)):
18
+ global t
19
+ model_path = Path("/code/models") / MODEL_NAME
20
+ if not model_path.exists():
21
+ hf_download(
22
+ model_name="quickmt/" + MODEL_NAME,
23
+ output_dir=Path("/code/models") / MODEL_NAME,
24
+ )
25
+ try:
26
+ if t is None or str(input.model()) != str(Path(t.model_path).name):
27
+ print(f"Loading model {input.model()}")
28
+ t = Translator(
29
+ str(model_path),
30
+ device="auto",
31
+ inter_threads=2,
32
+ )
33
+ if not text.strip():
34
+ return text
35
+ output = t([text], beam_size=1)
36
+ return output[0]
37
+ except:
38
+ return text
39
 
40
  # Tải model và tokenizer 1 LẦN DUY NHẤT
41
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True)
 
48
 
49
  # Thêm một ô system_prompt
50
  @spaces.GPU(duration=60)
51
+ def chat_with_model(prompt, system_prompt, chatbot_display, internal_history,progress=gr.Progress(track_tqdm=True)):
52
  """
53
  Hàm này nhận prompt mới, system_prompt, lịch sử hiển thị (của gr.Chatbot)
54
  và lịch sử nội bộ (của gr.State).
 
95
 
96
  # 5. Decode *chỉ* phần trả lời mới
97
  response_text = tokenizer.decode(output_tokens[0][inputs.shape[-1]:], skip_special_tokens=True)
98
+ translated = translate_text(response_text)
99
+ print(translated)
100
  # 6. Cập nhật "bộ nhớ" (gr.State) với lượt nói MỚI
101
  internal_history.append({"role": "user", "content": prompt})
102
  internal_history.append({"role": "assistant", "content": response_text})