iPsalmy commited on
Commit
2dacad5
·
verified ·
1 Parent(s): b3358f6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -15
app.py CHANGED
@@ -5,29 +5,41 @@ import torch
5
  MODEL_ID = "Qwen/Qwen2.5-Coder-3B-Instruct"
6
 
7
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
 
8
  model = AutoModelForCausalLM.from_pretrained(
9
  MODEL_ID,
10
- torch_dtype=torch.float32,
11
  device_map="cpu"
12
  )
13
 
14
- def generate(prompt, max_tokens=256, temperature=0.2):
15
- inputs = tokenizer(prompt, return_tensors="pt")
16
- outputs = model.generate(
17
- **inputs,
18
- max_new_tokens=max_tokens,
19
- temperature=temperature,
20
- do_sample=True
 
 
 
 
 
21
  )
 
 
 
 
 
 
 
 
 
 
 
22
  return tokenizer.decode(outputs[0], skip_special_tokens=True)
23
 
24
  gr.Interface(
25
  fn=generate,
26
- inputs=[
27
- gr.Textbox(label="Prompt"),
28
- gr.Slider(64, 512, value=256, label="Max tokens"),
29
- gr.Slider(0.0, 1.0, value=0.2, label="Temperature")
30
- ],
31
- outputs=gr.Textbox(label="Response"),
32
- title="Qwen 2.5 Coder (Free CPU)"
33
  ).launch()
 
5
  MODEL_ID = "Qwen/Qwen2.5-Coder-3B-Instruct"
6
 
7
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
8
+
9
  model = AutoModelForCausalLM.from_pretrained(
10
  MODEL_ID,
 
11
  device_map="cpu"
12
  )
13
 
14
+ # IMPORTANT: set pad token
15
+ if tokenizer.pad_token_id is None:
16
+ tokenizer.pad_token = tokenizer.eos_token
17
+
18
+ def generate(prompt: str):
19
+ if not prompt.strip():
20
+ return "⚠️ Empty prompt"
21
+
22
+ inputs = tokenizer(
23
+ prompt,
24
+ return_tensors="pt",
25
+ padding=True
26
  )
27
+
28
+ with torch.no_grad():
29
+ outputs = model.generate(
30
+ input_ids=inputs["input_ids"],
31
+ attention_mask=inputs["attention_mask"],
32
+ max_new_tokens=128,
33
+ do_sample=False,
34
+ use_cache=False, # 🔥 THIS AVOIDS THE BUG
35
+ pad_token_id=tokenizer.eos_token_id
36
+ )
37
+
38
  return tokenizer.decode(outputs[0], skip_special_tokens=True)
39
 
40
  gr.Interface(
41
  fn=generate,
42
+ inputs=gr.Textbox(lines=8, placeholder="Enter prompt"),
43
+ outputs=gr.Textbox(lines=12),
44
+ title="Qwen 2.5 Coder – Stable CPU Mode"
 
 
 
 
45
  ).launch()