File size: 2,741 Bytes
5cee749 fdb52c6 0d07918 daf8b2f 22c6e02 daf8b2f b141ec0 5cee749 daf8b2f 5cee749 d6832b2 5cee749 81c9a4d 1fcad2d fdb52c6 15bb841 fdb52c6 2a95f27 15bb841 2a95f27 5cee749 2a95f27 15bb841 2a95f27 0d82915 2a95f27 5cee749 fdb52c6 5cee749 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
import streamlit as st
from function import GetLLMResponse
from langchain_community.llms import OpenAI
from langchain_google_genai import ChatGoogleGenerativeAI
# Page configuration
st.set_page_config(page_title="Generate Math Quizzes",
page_icon="🧮",
layout="wide",
initial_sidebar_state="collapsed")
def main():
math_topics = {
"Elementary School Level": ["Basic Arithmetic", "Place Value", "Fraction", "Decimals", "Geomerty"],
"Middle School Level": ["Algebra", "Ratio and Proportion", "Percentages", "Geometry", "Integers and Rational Numbers"],
"High School Level": ["Algebra II", "Trigonometry", "Pre-Calculus", "Calculus", "Statistics and Probability"]
}
st.header("Select AI:")
model = st.radio("Model", [ "Gemini","Open AI",])
st.write("Selected option:", model)
# Header and description
st.title("Generate Math Quizzes 🧮")
st.text("Choose the difficulty level and topic for your math quizzes.")
# User input for quiz generation
## Layout in columns
col1, col2, col3 = st.columns([1, 1, 1])
with col1:
selected_topic_level = st.selectbox('Select Topic Level', list(math_topics.keys()))
with col2:
selected_topic = st.selectbox('Select Topic', math_topics[selected_topic_level])
with col3:
num_quizzes = st.slider('Number Quizzes', min_value=1, max_value= 5, value=1)
submit = st.button('Generate Quizzes')
st.write("Selected option:", selected_topic_level,selected_topic,num_quizzes)
# Final Response
if submit:
questions,answers = GetLLMResponse(selected_topic_level, selected_topic, num_quizzes, model)
with st.spinner("Generating Quizzes..."):
questions,answers = GetLLMResponse(selected_topic_level, selected_topic, num_quizzes, model)
st.success("Quizzes Generated!")
# Display questions and answers in a table
if questions:
st.subheader("Quiz Questions and Answers:")
# Prepare data for the table
col1, col2 = st.columns(2)
with col1:
st.subheader("Questions")
st.write(questions)
with col2:
st.subheader("Answers")
st.write(answers)
else:
st.warning("No Quiz Questions and Answers")
else:
st.warning("Click the 'Generate Quizzes' button to create quizzes.")
if __name__ == "__main__":
main() |