Haseeb-001 commited on
Commit
466a9c7
Β·
verified Β·
1 Parent(s): 83544d5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -14
app.py CHANGED
@@ -14,14 +14,15 @@ st.set_page_config(
14
  initial_sidebar_state="expanded"
15
  )
16
 
17
- # Custom CSS for Neon Theme
18
  def inject_custom_css():
19
  st.markdown("""
20
  <style>
21
- .main { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); }
22
  .stTextInput input { color: #4fffb0 !important; background: rgba(0,0,0,0.3) !important; }
23
- .stButton>button { background: rgba(79,255,176,0.2) !important; border: 2px solid #4fffb0 !important; }
24
- .code-editor { border: 2px solid #4fffb0; border-radius: 10px; padding: 1rem; background: rgba(0,0,0,0.5); }
 
25
  </style>
26
  """, unsafe_allow_html=True)
27
 
@@ -36,13 +37,13 @@ def get_groq_client():
36
  return Groq(api_key=api_key)
37
 
38
  # Code Generation Functions
39
- def generate_code(query, model, client):
40
  try:
41
  completion = client.chat.completions.create(
42
  model=model,
43
  messages=[{
44
  "role": "user",
45
- "content": f"Generate Python code for: {query}. Include comments and error handling."
46
  }],
47
  temperature=0.6,
48
  max_tokens=4096,
@@ -59,33 +60,42 @@ def main():
59
  if not client:
60
  return
61
 
62
- st.title("AI Code Generator πŸš€")
 
63
 
64
  col1, col2 = st.columns([3, 1])
 
65
  with col1:
66
  query = st.text_input("Describe your coding requirement:")
 
67
 
68
  if 'generated_code' not in st.session_state:
69
  st.session_state.generated_code = None
70
 
71
  if col2.button("πŸ”„ New Code"):
72
  st.session_state.generated_code = None
73
-
74
  if query and not st.session_state.generated_code:
75
  with st.spinner("Generating code..."):
76
- code = generate_code(query, PRIMARY_MODEL, client)
77
  if not code:
78
  st.warning("Trying backup model...")
79
- code = generate_code(query, BACKUP_MODEL, client)
80
 
81
  if code:
82
  st.session_state.generated_code = code
83
  else:
84
  st.error("Failed to generate code. Please try again.")
85
-
86
  if st.session_state.generated_code:
87
- with st.expander("Generated Code", expanded=True):
88
- st.markdown(f"```python\n{st.session_state.generated_code}\n```")
 
 
 
 
 
 
89
 
90
  if __name__ == "__main__":
91
- main()
 
14
  initial_sidebar_state="expanded"
15
  )
16
 
17
+ # Custom CSS for Enhanced UI
18
  def inject_custom_css():
19
  st.markdown("""
20
  <style>
21
+ .main { background: linear-gradient(135deg, #0f0f0f 0%, #1a1a2e 100%); color: #fff; }
22
  .stTextInput input { color: #4fffb0 !important; background: rgba(0,0,0,0.3) !important; }
23
+ .stButton>button { background: #4fffb0 !important; border: 2px solid #00ffcc !important; color: black; }
24
+ .code-box { border: 2px solid #4fffb0; border-radius: 10px; padding: 1rem; background: rgba(0,0,0,0.5); color: #fff; }
25
+ .stSelectbox div { background: rgba(0,0,0,0.3) !important; color: #4fffb0 !important; }
26
  </style>
27
  """, unsafe_allow_html=True)
28
 
 
37
  return Groq(api_key=api_key)
38
 
39
  # Code Generation Functions
40
+ def generate_code(query, language, model, client):
41
  try:
42
  completion = client.chat.completions.create(
43
  model=model,
44
  messages=[{
45
  "role": "user",
46
+ "content": f"Generate {language} code for: {query}. Include comments and error handling."
47
  }],
48
  temperature=0.6,
49
  max_tokens=4096,
 
60
  if not client:
61
  return
62
 
63
+ st.title("πŸ”₯ AI Code Generator πŸš€")
64
+ st.subheader("Generate, Edit & Save Your Code Instantly!")
65
 
66
  col1, col2 = st.columns([3, 1])
67
+
68
  with col1:
69
  query = st.text_input("Describe your coding requirement:")
70
+ language = st.selectbox("Select Programming Language:", ["Python", "JavaScript", "Java", "C++", "Go"])
71
 
72
  if 'generated_code' not in st.session_state:
73
  st.session_state.generated_code = None
74
 
75
  if col2.button("πŸ”„ New Code"):
76
  st.session_state.generated_code = None
77
+
78
  if query and not st.session_state.generated_code:
79
  with st.spinner("Generating code..."):
80
+ code = generate_code(query, language, PRIMARY_MODEL, client)
81
  if not code:
82
  st.warning("Trying backup model...")
83
+ code = generate_code(query, language, BACKUP_MODEL, client)
84
 
85
  if code:
86
  st.session_state.generated_code = code
87
  else:
88
  st.error("Failed to generate code. Please try again.")
89
+
90
  if st.session_state.generated_code:
91
+ with st.expander("πŸ“œ Generated Code", expanded=True):
92
+ st.code(st.session_state.generated_code, language.lower())
93
+
94
+ col3, col4 = st.columns([1, 1])
95
+ with col3:
96
+ st.download_button("πŸ’Ύ Download Code", st.session_state.generated_code, file_name=f"generated.{language.lower()}")
97
+ with col4:
98
+ st.button("πŸ“‹ Copy Code", on_click=lambda: st.session_state.update({'clipboard': st.session_state.generated_code}))
99
 
100
  if __name__ == "__main__":
101
+ main()