meesamraza's picture
Create app.py
bb238db verified
raw
history blame
1.61 kB
import os
import streamlit as st
from groq import Groq
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
GROQ_API_KEY = os.getenv("GROQ_API_KEY")
# Initialize Groq client
client = Groq(api_key=GROQ_API_KEY)
# Streamlit UI
st.title("AI Code Generator & Debugger")
st.write("Generate and debug code in multiple programming languages.")
language = st.selectbox("Select Programming Language", ["Python", "Java", "JavaScript", "PHP", "C++", "C#"])
mode = st.radio("Select Mode", ["Generate Code", "Debug Code"])
user_input = st.text_area("Enter your prompt or code snippet")
submit = st.button("Submit")
def get_groq_response(prompt):
completion = client.chat.completions.create(
model="deepseek-r1-distill-llama-70b",
messages=[{"role": "system", "content": "You are an expert AI code assistant."},
{"role": "user", "content": prompt}],
temperature=0.6,
max_completion_tokens=4096,
top_p=0.95,
stream=True,
stop=None,
)
return "".join(chunk.choices[0].delta.content or "" for chunk in completion)
if submit:
if user_input.strip():
if any(lang.lower() in user_input.lower() for lang in ["python", "java", "javascript", "php", "c++", "c#"]):
prompt = f"{mode} {language} code: {user_input}"
response = get_groq_response(prompt)
st.code(response, language=language.lower())
else:
st.error("Invalid question. Please try again with a relevant coding prompt.")
else:
st.warning("Please enter a prompt or code snippet.")