Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -14,14 +14,15 @@ st.set_page_config(
|
|
14 |
initial_sidebar_state="expanded"
|
15 |
)
|
16 |
|
17 |
-
# Custom CSS for
|
18 |
def inject_custom_css():
|
19 |
st.markdown("""
|
20 |
<style>
|
21 |
-
.main { background: linear-gradient(135deg, #
|
22 |
.stTextInput input { color: #4fffb0 !important; background: rgba(0,0,0,0.3) !important; }
|
23 |
-
.stButton>button { background:
|
24 |
-
.code-
|
|
|
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
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
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()
|