code-gen-bot / app.py
DilipKY's picture
Create app.py
65796a2 verified
raw
history blame
1.49 kB
import streamlit as st
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load the model and tokenizer
try:
checkpoint = "Salesforce/codegen-350M-mono"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)
except Exception as e:
st.error(f"Error loading model: {e}")
st.stop()
# Function to generate code from description
def generate_code(description):
prompt = f"Generate Python code for the following task: {description}\n"
inputs = tokenizer(prompt, return_tensors="pt")
with st.spinner("Generating code..."):
outputs = model.generate(
**inputs,
max_length=500,
num_return_sequences=1,
pad_token_id=tokenizer.eos_token_id # Avoid padding token warnings
)
code = tokenizer.decode(outputs[0], skip_special_tokens=True)
# Extract only the code part after the prompt
code = code[len(prompt):].strip()
return code
# Streamlit UI
st.title("Code Generation Bot")
st.write("Enter a description to generate Python code!")
description = st.text_area("Description", placeholder="e.g., Write a function to add two numbers")
if st.button("Generate Code"):
if description.strip():
generated_code = generate_code(description)
st.code(generated_code, language="python")
st.info("Tip: Review the code for accuracy before using!")
else:
st.warning("Please enter a description!")