Spaces:
Running
Running
File size: 2,478 Bytes
f1e5182 68b28eb 91ef086 f1e5182 ba28960 91ef086 f1e5182 f0dd5c0 68b28eb 5ff30f6 3e437b9 f685914 5ff30f6 f685914 5ff30f6 f685914 5ff30f6 f685914 91ef086 |
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
import streamlit as st
import time
import google.generativeai as genai
# Animated text function
def animated_text(text, speed=0.05):
placeholder = st.empty()
displayed_text = ""
for letter in text:
displayed_text += letter
placeholder.markdown(f"""
<h1 style="text-align:center; color: #FF4500;">π{displayed_text}</h1>
""", unsafe_allow_html=True)
time.sleep(speed)
# Display animated text
animated_text("Welcome to GenAI Code Reviewer!", speed=0.1)
# Set up Google Gemini API Key
genai.configure(api_key="AIzaSyBm0GOvYox4OyRG1WFOK7FT5fnNCHfubns")
# Streamlit App Title
st.title("π€ AI-Powered Code Debugging")
# Text Area for User Input (Buggy Code)
buggy_code = st.text_area("π Enter your buggy code here:", height=200)
# Function to Debug Code Using Gemini AI
def debug_code_with_gemini(code):
prompt = f"Debug the following code and provide the corrected version:\n\n{code}"
model = genai.GenerativeModel("models/gemini-2.0-flash")
response = model.generate_content(prompt)
return response.text if response.text else "β οΈ Error in AI response."
# Function to Generate Code Improvement Suggestions
def get_suggestions_with_gemini(code):
prompt = f"Suggest improvements for the following code, focusing on best practices, performance optimization, and readability:\n\n{code}"
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(prompt)
return response.text if response.text else "β οΈ No suggestions available."
# Generate Button
if st.button("π Analyze & Optimize Code"):
if buggy_code:
with st.spinner("π οΈ Debugging your code..."):
fixed_code = debug_code_with_gemini(buggy_code)
with st.spinner("π Generating suggestions..."):
suggestions = get_suggestions_with_gemini(fixed_code)
# Display Fixed Code
st.subheader("β
Fixed Code:")
st.code(fixed_code, language="python")
# Copy Button for Fixed Code
st.download_button(
label="π Copy Fixed Code",
data=fixed_code,
file_name="fixed_code.py",
mime="text/plain"
)
# Display AI-Generated Suggestions
st.subheader("π‘ Suggestions for Improvement:")
st.write(suggestions)
else:
st.warning("β οΈ Please enter some code before generating fixes and suggestions!")
|