Makima57 commited on
Commit
9408139
·
verified ·
1 Parent(s): 8e01f8e

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import google.generativeai as genai
3
+ import streamlit as st
4
+
5
+
6
+ api_key = "AIzaSyDgxo89L20xCUoWUH3JfsH51ZTksest_jE"
7
+
8
+
9
+ genai.configure(api_key=api_key)
10
+
11
+
12
+ generation_config = {
13
+ "temperature": 1,
14
+ "top_p": 0.95,
15
+ "top_k": 64,
16
+ "max_output_tokens": 8192,
17
+ "response_mime_type": "text/plain",
18
+ }
19
+
20
+ model = genai.GenerativeModel(
21
+ model_name="gemini-1.5-flash",
22
+ generation_config=generation_config,
23
+ )
24
+
25
+
26
+ def generate_mcqs(prompt, grade, subject, subtopic, num_questions):
27
+
28
+ input_text = f"Generate {num_questions} multiple-choice questions on {subtopic} for grade {grade} in {subject}."
29
+
30
+
31
+ chat_session = model.start_chat(history=[])
32
+
33
+
34
+ response = chat_session.send_message(input_text)
35
+
36
+ return response.text
37
+
38
+
39
+ st.title("MCQ Generator with Google Generative AI")
40
+
41
+
42
+ st.sidebar.header("Configure the MCQ Generator")
43
+ grade = st.sidebar.selectbox("Select grade", ("Grade 1", "Grade 2", "Grade 3"))
44
+ subject = st.sidebar.selectbox("Select subject", ("Math", "Science", "English"))
45
+ subtopic = st.sidebar.text_input("Enter subtopic", "Fractions")
46
+ num_questions = st.sidebar.slider("Select number of questions", 1, 5)
47
+
48
+
49
+ prompt = st.text_input("Enter additional prompt", "")
50
+
51
+
52
+ if st.button("Generate MCQs"):
53
+ if num_questions < 1 or num_questions > 5:
54
+ st.error("Please select a number between 1 and 5.")
55
+ else:
56
+ try:
57
+
58
+ response = generate_mcqs(prompt, grade, subject, subtopic, num_questions)
59
+ st.success("Generated MCQs:")
60
+ st.write(response)
61
+ except Exception as e:
62
+ st.error(f"Error: {e}")
63
+
64
+