Spaces:
Sleeping
Sleeping
| import os | |
| from groq import Groq | |
| from dotenv import load_dotenv | |
| import streamlit as st | |
| # Load environment variables from .env file | |
| load_dotenv() | |
| # Get the API key from environment variable | |
| api_key = os.getenv("GROQ_API_KEY") | |
| # Initialize Groq client with the API key | |
| client = Groq(api_key=api_key) | |
| # Define your chatbot logic for student exam preparation assistant | |
| def chatbot(): | |
| st.title("Student Exam Preparation Assistant π") | |
| st.write("Welcome to your personal exam preparation assistant! Whether you're preparing for a high school exam, college exams, or any professional tests, I'm here to help. What would you like assistance with today?") | |
| # Add an attractive header with an emoji | |
| st.markdown("**Ask me anything about exam preparation!**") | |
| st.markdown("I can help you with study tips, time management strategies, practice questions, and more. Letβs get started! π") | |
| # Input field for the user to type a message | |
| user_input = st.text_input("Type your exam preparation question here:") | |
| # Add a submit button | |
| if st.button("Submit"): | |
| if user_input: | |
| # Display user's input | |
| st.write(f"You: {user_input}") | |
| # Sending user's input to Groq API for completion | |
| try: | |
| completion = client.chat.completions.create( | |
| model="deepseek-r1-distill-llama-70b", # You can change this model based on your preference | |
| messages=[{"role": "user", "content": user_input}], | |
| temperature=0.6, | |
| max_completion_tokens=4096, | |
| top_p=0.95, | |
| stream=True, | |
| stop=None, | |
| ) | |
| # Collect the response chunk by chunk | |
| response = "" | |
| for chunk in completion: | |
| # Get the assistant's response from each chunk | |
| response += chunk.choices[0].delta.content or "" | |
| # Display assistant's response | |
| st.write(f"Assistant: {response}") | |
| except Exception as e: | |
| st.write(f"Error occurred: {e}") | |
| else: | |
| st.write("Please type a question before submitting. π") | |
| # Run the chatbot with dynamic user input | |
| if __name__ == "__main__": | |
| chatbot() | |