Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import AutoTokenizer, AutoModelForCausalLM | |
import torch | |
import os | |
MODEL_NAME = "tiiuae/Falcon3-7B-Base" | |
access_token = os.getenv("HF_ACCESS_TOKEN") | |
tokenizer = AutoTokenizer.from_pretrained( | |
MODEL_NAME, | |
trust_remote_code=True, | |
token=access_token) | |
model = AutoModelForCausalLM.from_pretrained( | |
MODEL_NAME, | |
torch_dtype=torch.bfloat16, | |
device_map="auto", | |
trust_remote_code=True, | |
token=access_token | |
) | |
def improve_code(code: str) -> str: | |
prompt = ( | |
"You are an expert code assistant.\n" | |
"Given the following code, suggest an improved version with clear comments and best practices.\n" | |
"Output only the improved code.\n\n" | |
f"Original code:\n{code}\n\nImproved code:" | |
) | |
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
with torch.no_grad(): | |
outputs = model.generate( | |
input_ids=inputs["input_ids"], | |
attention_mask=inputs["attention_mask"], | |
max_new_tokens=512, | |
temperature=0.2, | |
top_p=0.9, | |
do_sample=True, | |
pad_token_id=tokenizer.eos_token_id | |
) | |
generated = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
improved = generated.split("Improved code:")[-1].strip() | |
return improved | |
app = gr.Blocks() | |
with app: | |
gr.Markdown("## MCP Server Code Improver with Falcon3-7B-Base") | |
code_input = gr.Textbox(label="Original code", lines=15) | |
improve_btn = gr.Button("Improve Code") | |
code_output = gr.Textbox(label="Improved code", lines=15) | |
improve_btn.click(improve_code, inputs=code_input, outputs=code_output) | |
app.launch() | |