Spaces:
Runtime error
Runtime error
File size: 1,708 Bytes
b00365a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# main.py
import streamlit as st
import transformers
import langchain
import agents
from streamlit.script_runner import StopException
# Define function to reverse prompt engineer code
def reverse_prompt_engineer(code):
# Use natural language processing to analyze code
nlp_analysis = langchain.analyze(code)
# Choose the best free pretrained model for this task
model_name = "microsoft/CodeGPT-small-py-adaptedGPT2"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = transformers.AutoModelForCausalLM.from_pretrained(model_name)
# Generate perfect prompt using analyzed code
perfect_prompt = agents.generate_prompt(nlp_analysis)
# Chat with user to make additional changes to prompt
chatbot = agents.ChatGPT(model=model, tokenizer=tokenizer)
final_prompt = chatbot.chat(perfect_prompt)
# Use final prompt to generate similar code using ChatGPT
generated_code = chatbot.generate_code(final_prompt)
return generated_code
# Streamlit UI
st.set_page_config(page_title="Code Generator", layout="wide", initial_sidebar_state="expanded")
st.title("Code Generator")
st.sidebar.title("Input")
code_input = st.sidebar.text_area("Enter your code here:", '''
def greet(name):
print("Hello, " + name + ". How are you doing today?")
greet("John")
''')
if st.sidebar.button("Generate Code"):
if code_input.strip() == "":
st.error("Please enter some code in the input field.")
else:
try:
generated_code = reverse_prompt_engineer(code_input)
st.code(generated_code)
except Exception as e:
st.error(f"An error occurred: {str(e)}")
raise StopException
|