Cristobal299 commited on
Commit
be108d4
·
verified ·
1 Parent(s): 8f6e00b

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +22 -39
app.py CHANGED
@@ -3,69 +3,52 @@ import os
3
  import gradio as gr
4
  import warnings
5
  from starlette.exceptions import StarletteDeprecationWarning
6
-
7
  warnings.filterwarnings("ignore", category=StarletteDeprecationWarning)
 
 
 
8
 
9
- import groq
10
-
11
- # Load Groq API key from environment
12
- groq_api_key = os.getenv("GROQ_API_KEY")
13
- if not groq_api_key:
14
- raise ValueError("GROQ_API_KEY environment variable not set")
15
-
16
- # Initialise Groq client
17
- client = groq.Client(api_key=groq_api_key)
18
-
19
 
20
  def improve_code(user_code, language):
 
 
21
  """
22
- Sends the user code to Groq model and asks for an improved version.
23
  """
24
- system_prompt = (
25
- f"You are an expert {language} developer. Refactor and improve the following code. "
26
- "Keep the same functionality but make it cleaner, more efficient and well commented."
27
- )
28
  messages = [
29
  {"role": "system", "content": system_prompt},
30
- {"role": "user", "content": user_code},
31
  ]
32
-
33
  try:
34
- response = client.chat.completions.create(
35
- model="mixtral-8x7b-32768",
36
  messages=messages,
37
  temperature=0.2,
38
  max_tokens=1024,
 
 
39
  )
40
  improved = response.choices[0].message.content.strip()
41
  return improved
42
  except Exception as e:
43
  return f"Error: {str(e)}"
44
 
45
-
46
  # Build Gradio interface
47
  with gr.Blocks() as demo:
48
  gr.Markdown("# Code Improver")
49
- gr.Markdown(
50
- "Enter your code and select the programming language. The model will return a cleaner version."
51
- )
52
  with gr.Row():
53
- code_input = gr.Textbox(
54
- label="Original Code", lines=15, placeholder="Paste your code here"
55
- )
56
  language_dropdown = gr.Dropdown(
57
- choices=[
58
- "Python",
59
- "JavaScript",
60
- "Java",
61
- "C++",
62
- "C#",
63
- "Go",
64
- "Ruby",
65
- "PHP",
66
- ],
67
  value="Python",
68
- label="Language",
69
  )
70
  improve_button = gr.Button("Improve")
71
  output_box = gr.Textbox(label="Improved Code", lines=15)
@@ -73,7 +56,7 @@ with gr.Blocks() as demo:
73
  improve_button.click(
74
  fn=improve_code,
75
  inputs=[code_input, language_dropdown],
76
- outputs=output_box,
77
  )
78
 
79
  demo.launch(server_name="0.0.0.0")
 
3
  import gradio as gr
4
  import warnings
5
  from starlette.exceptions import StarletteDeprecationWarning
 
6
  warnings.filterwarnings("ignore", category=StarletteDeprecationWarning)
7
+ import asyncio
8
+ asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy())
9
+ import openai
10
 
11
+ # Load OpenAI API key from environment
12
+ openai_api_key = os.getenv("OPENAI_API_KEY")
13
+ if not openai_api_key:
14
+ openai_api_key = ""
15
+ openai.api_key = openai_api_key
 
 
 
 
 
16
 
17
  def improve_code(user_code, language):
18
+ if startup_error:
19
+ return f"Error: {startup_error}"
20
  """
21
+ Sends the user code to OpenAI GPT model and asks for an improved version.
22
  """
23
+ system_prompt = f"You are an expert {language} developer. Refactor and improve the following code. Keep the same functionality but make it cleaner, more efficient and well commented."
 
 
 
24
  messages = [
25
  {"role": "system", "content": system_prompt},
26
+ {"role": "user", "content": user_code}
27
  ]
 
28
  try:
29
+ response = openai.ChatCompletion.create(
30
+ model="gpt-3.5-turbo",
31
  messages=messages,
32
  temperature=0.2,
33
  max_tokens=1024,
34
+ n=1,
35
+ stop=None,
36
  )
37
  improved = response.choices[0].message.content.strip()
38
  return improved
39
  except Exception as e:
40
  return f"Error: {str(e)}"
41
 
 
42
  # Build Gradio interface
43
  with gr.Blocks() as demo:
44
  gr.Markdown("# Code Improver")
45
+ gr.Markdown("Enter your code and select the programming language. The model will return a cleaner version.")
 
 
46
  with gr.Row():
47
+ code_input = gr.Textbox(label="Original Code", lines=15, placeholder="Paste your code here")
 
 
48
  language_dropdown = gr.Dropdown(
49
+ choices=["Python", "JavaScript", "Java", "C++", "C#", "Go", "Ruby", "PHP"],
 
 
 
 
 
 
 
 
 
50
  value="Python",
51
+ label="Language"
52
  )
53
  improve_button = gr.Button("Improve")
54
  output_box = gr.Textbox(label="Improved Code", lines=15)
 
56
  improve_button.click(
57
  fn=improve_code,
58
  inputs=[code_input, language_dropdown],
59
+ outputs=output_box
60
  )
61
 
62
  demo.launch(server_name="0.0.0.0")