Socrate / app.py
XenocodeRCE's picture
Create app.py
e92eee4 verified
import gradio as gr
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_MODEL = "Qwen/Qwen3-4B-Instruct-2507" # ou le base exact utilisé dans ton notebook
LORA_REPO = "XenocodeRCE/Socrate_4b"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL,
device_map="auto",
torch_dtype=torch.float16,
trust_remote_code=True,
)
model = PeftModel.from_pretrained(model, LORA_REPO)
model.eval()
def generate(prompt, max_new_tokens=256, temperature=0.7):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
do_sample=True,
temperature=temperature,
)
return tokenizer.decode(out[0], skip_special_tokens=True)
demo = gr.Interface(
fn=generate,
inputs=[
gr.Textbox(lines=6, label="Prompt"),
gr.Slider(1, 1024, value=256, step=1, label="max_new_tokens"),
gr.Slider(0.0, 2.0, value=0.7, step=0.05, label="temperature"),
],
outputs=gr.Textbox(lines=10, label="Output"),
)
demo.launch()