Spaces:
Running
Running
Download app.py from iPsalmy/Qwen-coder-api: direct link, hf CLI and curl.
- Browser
- Download file 1.17 kB
-
https://huggingface.co/spaces/iPsalmy/Qwen-coder-api/resolve/main/app.py
- Command line
-
hf download hf://spaces/iPsalmy/Qwen-coder-api/app.py
-
curl -L -o app.py https://huggingface.co/spaces/iPsalmy/Qwen-coder-api/resolve/main/app.py
1.17 kB
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| import torch | |
| MODEL_ID = "Qwen/Qwen2.5-Coder-3B-Instruct" | |
| tokenizer = AutoTokenizer.from_pretrained(MODEL_ID) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| MODEL_ID, | |
| device_map="cpu" | |
| ) | |
| # IMPORTANT: set pad token | |
| if tokenizer.pad_token_id is None: | |
| tokenizer.pad_token = tokenizer.eos_token | |
| def generate(prompt: str): | |
| if not prompt.strip(): | |
| return "⚠️ Empty prompt" | |
| inputs = tokenizer( | |
| prompt, | |
| return_tensors="pt", | |
| padding=True | |
| ) | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| input_ids=inputs["input_ids"], | |
| attention_mask=inputs["attention_mask"], | |
| max_new_tokens=128, | |
| do_sample=False, | |
| use_cache=False, # 🔥 THIS AVOIDS THE BUG | |
| pad_token_id=tokenizer.eos_token_id | |
| ) | |
| return tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| gr.Interface( | |
| fn=generate, | |
| inputs=gr.Textbox(lines=8, placeholder="Enter prompt"), | |
| outputs=gr.Textbox(lines=12), | |
| title="Qwen 2.5 Coder – Stable CPU Mode" | |
| ).launch() | |