Qwen-coder-api / app.py
iPsalmy's picture
Update app.py
2dacad5 verified
Raw History Blame Contribute Delete
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()