awacke1 commited on
Commit
79a10e0
Β·
1 Parent(s): 1e84a30

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -34
app.py CHANGED
@@ -33,47 +33,59 @@ from PyPDF2 import PdfReader
33
  from templates import bot_template, css, user_template
34
  from xml.etree import ElementTree as ET
35
 
36
- # 0 - Load USMLE dataset with answers:
 
37
  from datasets import load_dataset
38
 
39
  # πŸ“š Load USMLE Step 1 dataset
40
- dataset = load_dataset("augtoma/usmle_step_1")
41
 
42
  # πŸŽ‰ Streamlit App πŸŽ‰
43
  st.title("USMLE Step 1 Dataset Viewer")
44
- st.write("""
45
- πŸ” Use the search box to filter questions or use the grid to scroll through the dataset.
46
- """)
47
-
48
- # πŸ‘©β€πŸ”¬ Search Box
49
- search_term = st.text_input("Search for a specific question:", "")
50
-
51
- # πŸŽ› Pagination
52
- records_per_page = 100
53
- num_records = len(dataset['test'])
54
- num_pages = int(num_records / records_per_page) + 1
55
- page_number = st.select_slider("Select page:", options=list(range(1, num_pages + 1)))
56
-
57
- # πŸ“Š Display Data
58
- start_idx = (page_number - 1) * records_per_page
59
- end_idx = start_idx + records_per_page
60
-
61
- # πŸ§ͺ Apply the Search Filter
62
- if search_term:
63
- filtered_data = [record for record in dataset['test'][start_idx:end_idx] if search_term.lower() in record['text'].lower()]
64
  else:
65
- filtered_data = dataset['test'][start_idx:end_idx]
66
-
67
- # 🌐 Render the Grid
68
- for record in filtered_data:
69
- st.write(f"## Question ID: {record['id']}")
70
- st.write(f"### Question:")
71
- st.write(f"{record['text']}")
72
- st.write(f"### Answer:")
73
- st.write(f"{record['answer']}")
74
- st.write("---")
75
-
76
- st.write(f"😊 Total Records: {num_records} | πŸ“„ Displaying {start_idx+1} to {min(end_idx, num_records)}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
  # 1. Constants and Top Level UI Variables
79
 
 
33
  from templates import bot_template, css, user_template
34
  from xml.etree import ElementTree as ET
35
 
36
+
37
+ import streamlit as st
38
  from datasets import load_dataset
39
 
40
  # πŸ“š Load USMLE Step 1 dataset
41
+ dataset = load_dataset("augtoma/usmle_step_1")['test'] # Using 'test' split
42
 
43
  # πŸŽ‰ Streamlit App πŸŽ‰
44
  st.title("USMLE Step 1 Dataset Viewer")
45
+
46
+ # πŸ” Check if dataset is empty
47
+ if len(dataset) == 0:
48
+ st.write("😒 The dataset is empty.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  else:
50
+ st.write("""
51
+ πŸ” Use the search box to filter questions or use the grid to scroll through the dataset.
52
+ """)
53
+
54
+ # πŸ‘©β€πŸ”¬ Search Box
55
+ search_term = st.text_input("Search for a specific question:", "")
56
+
57
+ # πŸŽ› Pagination
58
+ records_per_page = 100
59
+ num_records = len(dataset)
60
+ num_pages = max(int(num_records / records_per_page), 1)
61
+ page_number = st.select_slider("Select page:", options=list(range(1, num_pages + 1)))
62
+
63
+ # πŸ“Š Display Data
64
+ start_idx = (page_number - 1) * records_per_page
65
+ end_idx = start_idx + records_per_page
66
+
67
+ # πŸ§ͺ Apply the Search Filter
68
+ filtered_data = []
69
+ for record in dataset[start_idx:end_idx]:
70
+ if isinstance(record, dict) and 'text' in record and 'id' in record:
71
+ if search_term:
72
+ if search_term.lower() in record['text'].lower():
73
+ filtered_data.append(record)
74
+ else:
75
+ filtered_data.append(record)
76
+
77
+ # 🌐 Render the Grid
78
+ for record in filtered_data:
79
+ st.write(f"## Question ID: {record['id']}")
80
+ st.write(f"### Question:")
81
+ st.write(f"{record['text']}")
82
+ st.write(f"### Answer:")
83
+ st.write(f"{record['answer']}")
84
+ st.write("---")
85
+
86
+ st.write(f"😊 Total Records: {num_records} | πŸ“„ Displaying {start_idx+1} to {min(end_idx, num_records)}")
87
+
88
+
89
 
90
  # 1. Constants and Top Level UI Variables
91