| import os |
| import streamlit as st |
| from groq import Groq |
| from dotenv import load_dotenv |
|
|
| |
| load_dotenv() |
| GROQ_API_KEY = os.getenv("GROQ_API_KEY") |
|
|
| |
| client = Groq(api_key=GROQ_API_KEY) |
|
|
| |
| 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): |
| """Fetch response from Groq AI model.""" |
| completion = client.chat.completions.create( |
| model="llama-3.3-70b-versatile", |
| 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=False, |
| stop=None, |
| ) |
| return completion.choices[0].message.content.strip() |
|
|
| if submit: |
| if user_input.strip(): |
| prompt = f"{mode} {language} code: {user_input}" |
| response = get_groq_response(prompt) |
| st.subheader("π AI Generated Response:") |
| st.code(response, language=language.lower()) |
| else: |
| st.warning("β οΈ Please enter a prompt or code snippet.") |