| | 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.") |