Spaces:
Sleeping
Sleeping
File size: 4,776 Bytes
5cee749 0d07918 81c9a4d 0d07918 81c9a4d 0d07918 81c9a4d 0d07918 81c9a4d 0d07918 81c9a4d 0d07918 c291e2a 81c9a4d 0d07918 81c9a4d 0d07918 317f8e4 81c9a4d 0d07918 daf8b2f 22c6e02 daf8b2f b141ec0 5cee749 daf8b2f 5cee749 d6832b2 5cee749 81c9a4d f172940 85d5619 02f9f75 85d5619 5cee749 85d5619 0d82915 85d5619 5cee749 85d5619 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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
import streamlit as st
# from function import GetLLMResponse
from langchain_community.llms import OpenAI
from langchain_google_genai import ChatGoogleGenerativeAI
def get_answers(questions,model):
st.write("running get answers function answering following questions",questions)
answer_prompt = (f"Answer the following questions {questions}")
if model == "Open AI":
llm = OpenAI(temperature=0.7, openai_api_key=st.secrets["OPENAI_API_KEY"])
answers = llm(answer_prompt)
# return questions
elif model == "Gemini":
llm = ChatGoogleGenerativeAI(model="gemini-pro", google_api_key=st.secrets["GOOGLE_API_KEY"])
answers = llm.invoke(answer_prompt)
answers = answers.content
# return questions.content
return(answers)
def GetLLMResponse(selected_topic_level, selected_topic,num_quizzes, model):
st.write("Selected option:", selected_topic_level,selected_topic,num_quizzes)
question_prompt = (f'I want you to just generate question with this specification: Generate a {selected_topic_level} math quiz on the topic of {selected_topic}. Generate only {num_quizzes} questions not more and without providing answers.')
st.write("running get llm response and print question prompt",question_prompt)
if model == "Open AI":
llm = OpenAI(temperature=0.7, openai_api_key=st.secrets["OPENAI_API_KEY"])
questions = llm(question_prompt)
elif model == "Gemini":
llm = ChatGoogleGenerativeAI(model="gemini-pro", google_api_key=st.secrets["GOOGLE_API_KEY"])
questions = llm.invoke(question_prompt)
questions = questions.content
# return questions.content
st.write("print questions",questions)
answers = get_answers(questions,model)
# st.write(questions,answers)
return(questions,answers)
# 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)
st.write("printing the response",questions,answers)
# with st.spinner("Generating Quizzes..."):
# questions,answers = GetLLMResponse(selected_topic_level, selected_topic, num_quizzes, model)
# st.success("Quizzes Generated!")
# st.write("printing the response",questions,answers)
# # # Display questions and answers in a table
# # if response:
# # st.subheader("Quiz Questions and Answers:")
# # # Prepare data for the table
# # # col1, col2 = st.columns(2)
# # # with col1:
# # # st.subheader("Questions")
# # # questions = response
# # # st.write(questions)
# # # with col2:
# # # st.subheader("Answers")
# # # answers = response
# # # st.write(answers)
# # st.write("printing the response",questions,answers)
# # else:
# # st.warning("No Quiz Questions and Answers")
else:
st.warning("Click the 'Generate Quizzes' button to create quizzes.")
if __name__ == "__main__":
main() |