gen_ai / app.py
Mrudangam2004's picture
Update app.py
bd5995c verified
pip install transformers
pip install transformers
pip install gradio
from transformers import AutoTokenizer, AutoModelForCausalLM
import gradio as gr
import logging
# Setup logging for better debugging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def load_model_and_tokenizer():
try:
# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codegen-350M-multi")
model = AutoModelForCausalLM.from_pretrained("Salesforce/codegen-350M-multi")
return tokenizer, model
except Exception as e:
logger.error(f"Failed to load model or tokenizer: {e}")
raise
# Initialize tokenizer and model
tokenizer, model = load_model_and_tokenizer()
def generate_code(prompt):
try:
# Tokenize the input text
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
# Generate code based on the input text
generated_ids = model.generate(
input_ids,
max_length=200, # Adjust as needed
num_return_sequences=1, # Number of generated sequences to return
pad_token_id=tokenizer.eos_token_id # Handle padding tokens
)
# Decode the generated tokens to text
generated_code = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
return generated_code
except Exception as e:
logger.error(f"Error during code generation: {e}")
return "Error generating code. Please check the logs."
# Define the Gradio interface
iface = gr.Interface(
fn=generate_code,
inputs=gr.Textbox(lines=2, placeholder="Enter your code prompt here..."),
outputs="text",
title="Code Generator",
description="Generate code snippets using the Salesforce CodeGen model."
)
# Launch the Gradio app
if __name__ == "__main__":
try:
iface.launch()
except Exception as e:
logger.error(f"Error launching the Gradio app: {e}")