Spaces:
Sleeping
Sleeping
Commit
·
77708a2
1
Parent(s):
dd1981b
added buttons to move on in textbook and ai sections
Browse files- data/1744318794.032495-gemini_messages +0 -0
- data/1744318794.032495-st_messages +0 -0
- data/1744319656.5895352-gemini_messages +0 -0
- data/1744319656.5895352-st_messages +0 -0
- data/past_chats_list +0 -0
- pages/llm_tutor.py +29 -2
- pages/textbook.py +7 -2
- utils/__pycache__/conceptexcerpts.cpython-311.pyc +0 -0
- utils/__pycache__/exampleexcerpts.cpython-311.pyc +0 -0
- utils/__pycache__/questions_dataset.cpython-311.pyc +0 -0
- utils/questions_dataset.py +10 -10
data/1744318794.032495-gemini_messages
ADDED
|
Binary file (1.77 kB). View file
|
|
|
data/1744318794.032495-st_messages
ADDED
|
Binary file (735 Bytes). View file
|
|
|
data/1744319656.5895352-gemini_messages
ADDED
|
Binary file (3.04 kB). View file
|
|
|
data/1744319656.5895352-st_messages
ADDED
|
Binary file (1.21 kB). View file
|
|
|
data/past_chats_list
CHANGED
|
Binary files a/data/past_chats_list and b/data/past_chats_list differ
|
|
|
pages/llm_tutor.py
CHANGED
|
@@ -52,6 +52,10 @@ with st.sidebar:
|
|
| 52 |
|
| 53 |
|
| 54 |
st.write('# Chat with LSAT Tutor')
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
|
| 56 |
# Chat history (allows to ask multiple questions)
|
| 57 |
try:
|
|
@@ -66,11 +70,30 @@ except:
|
|
| 66 |
st.session_state.gemini_history = []
|
| 67 |
print('new_cache made')
|
| 68 |
|
| 69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
st.session_state.chat = client.chats.create(model='gemini-2.0-flash',
|
| 71 |
config=types.GenerateContentConfig(
|
| 72 |
tools=[get_model_tools()],
|
| 73 |
-
system_instruction=
|
| 74 |
history=st.session_state.gemini_history
|
| 75 |
)
|
| 76 |
|
|
@@ -144,3 +167,7 @@ if prompt := st.chat_input('Your message here...'):
|
|
| 144 |
st.session_state.gemini_history,
|
| 145 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
| 146 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
|
| 53 |
|
| 54 |
st.write('# Chat with LSAT Tutor')
|
| 55 |
+
next_btn = st.button("Click here when finished")
|
| 56 |
+
|
| 57 |
+
st.write("Use this AI Tutor to help you understand the concepts. You can ask it to explain the concepts, provide examples, or clarify any doubts you have.")
|
| 58 |
+
st.write("Start by sending a hello message!")
|
| 59 |
|
| 60 |
# Chat history (allows to ask multiple questions)
|
| 61 |
try:
|
|
|
|
| 70 |
st.session_state.gemini_history = []
|
| 71 |
print('new_cache made')
|
| 72 |
|
| 73 |
+
sys_prompt = system_instruction % (
|
| 74 |
+
st.session_state.prequiz_df['num_correct'][0],
|
| 75 |
+
st.session_state.prequiz_df['num_questions'][0],
|
| 76 |
+
st.session_state.prequiz_df['num_correct'][1],
|
| 77 |
+
st.session_state.prequiz_df['num_questions'][1],
|
| 78 |
+
st.session_state.prequiz_df['num_correct'][2],
|
| 79 |
+
st.session_state.prequiz_df['num_questions'][2],
|
| 80 |
+
st.session_state.prequiz_df['num_correct'][3],
|
| 81 |
+
st.session_state.prequiz_df['num_questions'][3],
|
| 82 |
+
st.session_state.prequiz_df['num_correct'][4],
|
| 83 |
+
st.session_state.prequiz_df['num_questions'][4],
|
| 84 |
+
st.session_state.prequiz_df['num_correct'][5],
|
| 85 |
+
st.session_state.prequiz_df['num_questions'][5],
|
| 86 |
+
st.session_state.prequiz_df['num_correct'][6],
|
| 87 |
+
st.session_state.prequiz_df['num_questions'][6],
|
| 88 |
+
st.session_state.prequiz_df['num_correct'][7],
|
| 89 |
+
st.session_state.prequiz_df['num_questions'][7],
|
| 90 |
+
st.session_state.prequiz_df['num_correct'][8],
|
| 91 |
+
st.session_state.prequiz_df['num_questions'][8]
|
| 92 |
+
)
|
| 93 |
st.session_state.chat = client.chats.create(model='gemini-2.0-flash',
|
| 94 |
config=types.GenerateContentConfig(
|
| 95 |
tools=[get_model_tools()],
|
| 96 |
+
system_instruction=sys_prompt),
|
| 97 |
history=st.session_state.gemini_history
|
| 98 |
)
|
| 99 |
|
|
|
|
| 167 |
st.session_state.gemini_history,
|
| 168 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
| 169 |
)
|
| 170 |
+
|
| 171 |
+
|
| 172 |
+
if next_btn:
|
| 173 |
+
st.switch_page("pages/postquiz.py")
|
pages/textbook.py
CHANGED
|
@@ -74,8 +74,8 @@ st.markdown(concept_excerpts[topic])
|
|
| 74 |
st.subheader("Practice Question")
|
| 75 |
q = example_excerpts[topic]
|
| 76 |
st.write(q[0])
|
| 77 |
-
for i, choice in enumerate(choices):
|
| 78 |
-
|
| 79 |
|
| 80 |
# Show answer
|
| 81 |
if st.checkbox("Show Answer"):
|
|
@@ -91,6 +91,11 @@ joblib.dump(
|
|
| 91 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
| 92 |
)
|
| 93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
|
| 95 |
|
| 96 |
|
|
|
|
| 74 |
st.subheader("Practice Question")
|
| 75 |
q = example_excerpts[topic]
|
| 76 |
st.write(q[0])
|
| 77 |
+
# for i, choice in enumerate(choices):
|
| 78 |
+
# st.write(f"{i}). {choice}")
|
| 79 |
|
| 80 |
# Show answer
|
| 81 |
if st.checkbox("Show Answer"):
|
|
|
|
| 91 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
| 92 |
)
|
| 93 |
|
| 94 |
+
next_page = st.button("Done")
|
| 95 |
+
|
| 96 |
+
if next_page:
|
| 97 |
+
st.switch_page("pages/postquiz.py")
|
| 98 |
+
|
| 99 |
|
| 100 |
|
| 101 |
|
utils/__pycache__/conceptexcerpts.cpython-311.pyc
ADDED
|
Binary file (14.3 kB). View file
|
|
|
utils/__pycache__/exampleexcerpts.cpython-311.pyc
ADDED
|
Binary file (19.1 kB). View file
|
|
|
utils/__pycache__/questions_dataset.cpython-311.pyc
CHANGED
|
Binary files a/utils/__pycache__/questions_dataset.cpython-311.pyc and b/utils/__pycache__/questions_dataset.cpython-311.pyc differ
|
|
|
utils/questions_dataset.py
CHANGED
|
@@ -53,17 +53,17 @@ def get_model_tools():
|
|
| 53 |
|
| 54 |
system_instruction = """You are an AI tutor that teaches users LSAT Logical Reasoning.
|
| 55 |
Here is how your student performed on the practice quiz grouped by question type (num correct/num questions):
|
| 56 |
-
Assumtion: (
|
| 57 |
-
Find the flaw in the argument: (
|
| 58 |
-
Inferece: (
|
| 59 |
-
Justify the conclusion: (
|
| 60 |
-
Method of reasoning: (
|
| 61 |
-
Point at issue: (
|
| 62 |
-
Role Play: (
|
| 63 |
-
Strengthen: (
|
| 64 |
-
Weaken the argument: (
|
| 65 |
Based on this, classify them as Beginner / Intermediate / Advanced. Walk through the student on all topics, but focus on the ones they struggle with.
|
| 66 |
Question the user to ensure that they understand the material.
|
| 67 |
Use practice questions from the tool to ensure they understand the material.
|
| 68 |
Never give a one word answer. Always keep the conversation moving.
|
| 69 |
-
Once the user has studied all the topics,
|
|
|
|
| 53 |
|
| 54 |
system_instruction = """You are an AI tutor that teaches users LSAT Logical Reasoning.
|
| 55 |
Here is how your student performed on the practice quiz grouped by question type (num correct/num questions):
|
| 56 |
+
Assumtion: (%d/%d)
|
| 57 |
+
Find the flaw in the argument: (%d/%d)
|
| 58 |
+
Inferece: (%d/%d)
|
| 59 |
+
Justify the conclusion: (%d/%d)
|
| 60 |
+
Method of reasoning: (%d/%d)
|
| 61 |
+
Point at issue: (%d/%d)
|
| 62 |
+
Role Play: (%d/%d)
|
| 63 |
+
Strengthen: (%d/%d)
|
| 64 |
+
Weaken the argument: (%d/%d)
|
| 65 |
Based on this, classify them as Beginner / Intermediate / Advanced. Walk through the student on all topics, but focus on the ones they struggle with.
|
| 66 |
Question the user to ensure that they understand the material.
|
| 67 |
Use practice questions from the tool to ensure they understand the material.
|
| 68 |
Never give a one word answer. Always keep the conversation moving.
|
| 69 |
+
Once the user has studied all the topics, prompt them to press the next button. """
|