import gradio as gr from transformers import AutoModelForSeq2SeqLM, AutoTokenizer import openai import secrets # Set up the OpenAI API credentials openai.api_key = secrets.OPENAI_API_KEY # Load the Hugging Face model and tokenizer model_name = "Helsinki-NLP/opus-mt-python-en" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) # Define a function that takes a user's input code as a prompt and uses the OpenAI API and Hugging Face model to generate a corrected version of the code def correct_code(prompt): # Use the OpenAI API to generate suggestions for fixing syntax errors in the code response = openai.Completion.create( engine="davinci-codex", prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5, ) # Extract the corrected code from the API response corrected_code = response.choices[0].text.strip() # Use the Hugging Face model to generate a more natural-sounding version of the corrected code input_ids = tokenizer.encode(corrected_code, return_tensors="pt") outputs = model.generate(input_ids) corrected_code = tokenizer.decode(outputs[0], skip_special_tokens=True) return corrected_code # Define a Gradio interface for the code assistant input_text = gr.inputs.Textbox(lines=10, label="Input Code") output_text = gr.outputs.Textbox(label="Corrected Code") def generate_code(input_text): corrected_code = correct_code(input_text) return corrected_code # Set up the OpenAI API credentials secrets.OPENAI_API_KEY = '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' openai.api_key = secrets.OPENAI_API_KEY # Define the Gradio interface interface = gr.Interface(fn=generate_code, inputs=input_text, outputs=output_text, title="AI Code Assistant", description="Enter your code and click submit to generate a corrected version.") # Run the Gradio interface interface.launch()