study-chatbot / app.py
Ahmadkhan12's picture
Create app.py
198588b verified
# Import necessary libraries
import os
import streamlit as st
from groq import Groq
# Set up the Groq API Key
GROQ_API_KEY = "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"
os.environ["GROQ_API_KEY"] = GROQ_API_KEY
# Initialize the Groq client
client = Groq(api_key=GROQ_API_KEY)
# Streamlit user input
st.title("Personalized Study Assistant Chatbot")
st.write("I’m here to help you organize your study plan with tailored resources and tips. Let's get started!")
# User input for study details
study_topic = st.text_input("What is your study topic or exam?")
prep_days = st.number_input("How many days do you have to prepare?", min_value=1)
hours_per_day = st.number_input("How many hours can you dedicate per day?", min_value=1)
# Function to generate chatbot response based on user input
def generate_study_plan(topic, days, hours):
prompt = (
f"I am a study assistant chatbot helping a user prepare for {topic} over {days} days "
f"with {hours} hours per day. Please provide a personalized study plan, tips for effective "
"study habits, and suggest specific resources for each session."
)
# Generate response using Groq API
chat_completion = client.chat.completions.create(
messages=[{"role": "user", "content": prompt}],
model="llama3-8b-8192",
)
response = chat_completion.choices[0].message.content
return response
# Display study plan when user submits details
if study_topic and prep_days and hours_per_day:
study_plan = generate_study_plan(study_topic, prep_days, hours_per_day)
st.write("### Your Study Plan")
st.write(study_plan)
else:
st.write("Please enter your study topic, preparation days, and available hours per day to receive a study plan.")