import gradio as gr from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_name = "mistralai/Devstral-Small-2505" tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1", use_fast=False) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32 ) device = "cuda" if torch.cuda.is_available() else "cpu" model = model.to(device) def code_completion(prompt, max_new_tokens=128, temperature=0.2): if not prompt.strip(): return "Please enter some code to complete." inputs = tokenizer(prompt, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=max_new_tokens, temperature=temperature, do_sample=True, pad_token_id=tokenizer.eos_token_id ) generated = tokenizer.decode(outputs[0], skip_special_tokens=True) return generated[len(prompt):] custom_css = """ body {background: #f7f8fa;} .gradio-container {background: #f7f8fa;} h1, h2, h3, h4, h5, h6 {font-family: 'Inter', sans-serif;} #main-title { text-align: center; font-weight: 800; font-size: 2.3em; margin-bottom: 0.2em; letter-spacing: -1px; color: #222; } #subtitle { text-align: center; color: #6c6f7a; font-size: 1.1em; margin-bottom: 2em; } .gr-box {border-radius: 16px;} """ with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo: gr.Markdown( """