Spaces:
Runtime error
Runtime error
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() | |