stanley-00 commited on
Commit
4133c66
·
verified ·
1 Parent(s): 5a22264

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -4
app.py CHANGED
@@ -103,14 +103,17 @@ def load_new_model(model_id):
103
  def run_inference(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample, gpu):
104
  if gpu:
105
  yield from run_inference_gpu(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample)
106
- yield from run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample)
 
107
 
108
 
109
  @spaces.GPU
110
  def run_inference_gpu(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample):
111
- yield from run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample)
 
 
112
 
113
- def run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample):
114
  """Generates text via streaming generator."""
115
  if model_manager.model is None or model_manager.tokenizer is None:
116
  yield "Please load a model first.", "Model not loaded"
@@ -140,6 +143,12 @@ def run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_pe
140
  # Tokenize input
141
  inputs = tokenizer([prompt_to_encode], return_tensors="pt")
142
 
 
 
 
 
 
 
143
  # Set up the streamer
144
  streamer = TextIteratorStreamer(tokenizer, timeout=60.0, skip_prompt=True, skip_special_tokens=skip_special)
145
 
@@ -199,7 +208,8 @@ def run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_pe
199
  display_text = display_text.replace("<|begin_of_solution|>", "✅ Final Answer:\n\n")
200
  display_text = display_text.replace("<|end_of_solution|>", "")
201
 
202
- yield base_display + display_text, f"Speed: {tps:.2f} tokens/sec"
 
203
 
204
  def clean_cache():
205
  if os.path.exists(HF_CACHE_DIR):
 
103
  def run_inference(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample, gpu):
104
  if gpu:
105
  yield from run_inference_gpu(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample)
106
+ else:
107
+ yield from run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample)
108
 
109
 
110
  @spaces.GPU
111
  def run_inference_gpu(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample):
112
+ if model_manager.model is not None:
113
+ model_manager.model = model_manager.model.to("cuda")
114
+ yield from run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample, use_cuda=True)
115
 
116
+ def run_inference_raw(user_prompt, max_tokens, temperature, top_k, top_p, rep_penalty, ngram_size, do_sample, use_cuda=False):
117
  """Generates text via streaming generator."""
118
  if model_manager.model is None or model_manager.tokenizer is None:
119
  yield "Please load a model first.", "Model not loaded"
 
143
  # Tokenize input
144
  inputs = tokenizer([prompt_to_encode], return_tensors="pt")
145
 
146
+ if use_cuda:
147
+ inputs = {k: v.to("cuda") for k, v in inputs.items()}
148
+ else:
149
+ model = model.to("cpu")
150
+ inputs = {k: v.to("cpu") for k, v in inputs.items()}
151
+
152
  # Set up the streamer
153
  streamer = TextIteratorStreamer(tokenizer, timeout=60.0, skip_prompt=True, skip_special_tokens=skip_special)
154
 
 
208
  display_text = display_text.replace("<|begin_of_solution|>", "✅ Final Answer:\n\n")
209
  display_text = display_text.replace("<|end_of_solution|>", "")
210
 
211
+ device_label = "CUDA" if use_cuda else "CPU"
212
+ yield base_display + display_text, f"Speed: {tps:.2f} tokens/sec ({device_label})"
213
 
214
  def clean_cache():
215
  if os.path.exists(HF_CACHE_DIR):