Spaces:
Runtime error
Runtime error
Commit
·
5f2fe16
1
Parent(s):
7d753a7
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
-
import torch
|
| 2 |
import gradio as gr
|
| 3 |
-
from transformers import RobertaConfig, RobertaModel
|
| 4 |
|
| 5 |
# Create a configuration object
|
| 6 |
config = RobertaConfig.from_pretrained('roberta-base')
|
|
@@ -8,13 +8,13 @@ config = RobertaConfig.from_pretrained('roberta-base')
|
|
| 8 |
# Create the Roberta model
|
| 9 |
model = RobertaModel.from_pretrained('roberta-base', config=config)
|
| 10 |
|
| 11 |
-
# Load pretrained model and tokenizer
|
| 12 |
model_name = "zonghaoyang/DistilRoBERTa-base"
|
| 13 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
| 14 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 15 |
|
| 16 |
-
#Define function to analyze input code
|
| 17 |
-
def analyze_code(input_code):
|
| 18 |
# Format code into strings and sentences for NLP
|
| 19 |
code_str = " ".join(input_code.split())
|
| 20 |
sentences = [s.strip() for s in code_str.split(".") if s.strip()]
|
|
@@ -50,28 +50,28 @@ def suggest_improvements(code):
|
|
| 50 |
suggestions = ["Use more descriptive variable names", "Add comments to explain complex logic", "Refactor duplicated code into functions"]
|
| 51 |
return suggestions
|
| 52 |
|
| 53 |
-
# Define Gradio interface
|
| 54 |
interface = gr.Interface(fn=generate_code, inputs=["textbox"], outputs=["textbox"])
|
| 55 |
|
| 56 |
-
# Have a conversation about the code
|
| 57 |
-
input_code = """x = 10
|
| 58 |
-
y = 5
|
| 59 |
-
def add(a, b):
|
| 60 |
-
|
| 61 |
result = add(x, y)"""
|
| 62 |
-
code_analysis = analyze_code(input_code)
|
| 63 |
-
prompt = generate_prompt(code_analysis)
|
| 64 |
reply = f"{prompt}\n\n{generate_code(prompt)}\n\nSuggested improvements: {', '.join(suggest_improvements(input_code))}"
|
| 65 |
print(reply)
|
| 66 |
|
| 67 |
while True:
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
|
|
|
| 1 |
+
import torch
|
| 2 |
import gradio as gr
|
| 3 |
+
from transformers import RobertaConfig, RobertaModel, AutoModelForSeq2SeqLM, AutoTokenizer
|
| 4 |
|
| 5 |
# Create a configuration object
|
| 6 |
config = RobertaConfig.from_pretrained('roberta-base')
|
|
|
|
| 8 |
# Create the Roberta model
|
| 9 |
model = RobertaModel.from_pretrained('roberta-base', config=config)
|
| 10 |
|
| 11 |
+
# Load pretrained model and tokenizer
|
| 12 |
model_name = "zonghaoyang/DistilRoBERTa-base"
|
| 13 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
| 14 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 15 |
|
| 16 |
+
# Define function to analyze input code
|
| 17 |
+
def analyze_code(input_code):
|
| 18 |
# Format code into strings and sentences for NLP
|
| 19 |
code_str = " ".join(input_code.split())
|
| 20 |
sentences = [s.strip() for s in code_str.split(".") if s.strip()]
|
|
|
|
| 50 |
suggestions = ["Use more descriptive variable names", "Add comments to explain complex logic", "Refactor duplicated code into functions"]
|
| 51 |
return suggestions
|
| 52 |
|
| 53 |
+
# Define Gradio interface
|
| 54 |
interface = gr.Interface(fn=generate_code, inputs=["textbox"], outputs=["textbox"])
|
| 55 |
|
| 56 |
+
# Have a conversation about the code
|
| 57 |
+
input_code = """x = 10
|
| 58 |
+
y = 5
|
| 59 |
+
def add(a, b):
|
| 60 |
+
return a + b
|
| 61 |
result = add(x, y)"""
|
| 62 |
+
code_analysis = analyze_code(input_code)
|
| 63 |
+
prompt = generate_prompt(code_analysis)
|
| 64 |
reply = f"{prompt}\n\n{generate_code(prompt)}\n\nSuggested improvements: {', '.join(suggest_improvements(input_code))}"
|
| 65 |
print(reply)
|
| 66 |
|
| 67 |
while True:
|
| 68 |
+
change = input("Would you like to make any changes to the code? (Y/N) ")
|
| 69 |
+
if change == "Y":
|
| 70 |
+
new_code = input("Enter the updated code: ")
|
| 71 |
+
code_analysis = analyze_code(new_code)
|
| 72 |
+
prompt = generate_prompt(code_analysis)
|
| 73 |
+
reply = f"{prompt}\n\n{generate_code(prompt)}\n\nSuggested improvements: {', '.join(suggest_improvements(new_code))}"
|
| 74 |
+
print(reply)
|
| 75 |
+
elif change == "N":
|
| 76 |
+
print("OK, conversation ended.")
|
| 77 |
+
break
|