CodeX / app.py
typesdigital's picture
Update app.py
e5ecad3
raw
history blame contribute delete
No virus
1.96 kB
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()