subhams / app.py
subham1707's picture
Update app.py
ae9b95e verified
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Load model (CPU-friendly, no token required)
model_id = "replit/replit-code-v1_5-3b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Ensure it's on CPU
device = torch.device("cpu")
model.to(device)
def convert_python_to_r(python_code):
# Prompt to guide the model
prompt = f"""### Task:
Convert the following Python code to equivalent R code.
### Python code:
{python_code}
### R code:
"""
# Tokenize input
input_ids = tokenizer(prompt, return_tensors="pt", truncation=True).input_ids.to(device)
# Generate
outputs = model.generate(
input_ids,
max_length=512,
temperature=0.2,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
# Decode result
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
# Extract R code from the result (after prompt)
if "### R code:" in result:
result = result.split("### R code:")[-1].strip()
return result
# Gradio interface
gr.Interface(
fn=convert_python_to_r,
inputs=gr.Textbox(lines=10, placeholder="Paste your Python code here..."),
outputs="text",
title="Python to R Code Converter",
description="Converts Python code to R using Replit Code Model (3B). Optimized for Hugging Face CPU Basic tier."
).launch()