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}")