Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -31,6 +31,128 @@ st.markdown("""
|
|
31 |
</style>
|
32 |
""", unsafe_allow_html=True)
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
# Constants
|
35 |
WORD_LIMIT = 11000
|
36 |
DAILY_API_LIMIT = 30 # Set your desired limit per user per day
|
@@ -291,6 +413,12 @@ if st.session_state.username is None:
|
|
291 |
else:
|
292 |
# Main application code (ส่วนที่เหลือเหมือนเดิม)
|
293 |
st.title(f"Welcome to GeneXam, {st.session_state.username}! 🎓")
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
|
295 |
# Show current usage stats
|
296 |
stats = get_user_stats(st.session_state.username)
|
|
|
31 |
</style>
|
32 |
""", unsafe_allow_html=True)
|
33 |
|
34 |
+
def show_documentation():
|
35 |
+
with st.expander("📚 How to Use GeneExam | วิธีการใช้งาน GeneExam"):
|
36 |
+
st.markdown("""
|
37 |
+
# Program Usage Guide | คู่มือการใช้งานโปรแกรม
|
38 |
+
|
39 |
+
## English Instructions
|
40 |
+
1. **Input Your Content**
|
41 |
+
- Use the text input box to paste your teaching material
|
42 |
+
- Or upload a PDF file (maximum 8,000 words)
|
43 |
+
|
44 |
+
2. **Select Question Type**
|
45 |
+
- Multiple Choice: Generate questions with 3-5 options
|
46 |
+
- Fill in the Blank: Create completion questions
|
47 |
+
- True/False: Generate true/false statements
|
48 |
+
- Open-ended: Create essay-type questions with scoring criteria
|
49 |
+
|
50 |
+
3. **Choose Cognitive Level**
|
51 |
+
- Select the appropriate cognitive level (see explanation below)
|
52 |
+
- This determines the complexity and depth of questions
|
53 |
+
|
54 |
+
4. **Additional Options**
|
55 |
+
- Case-based: Toggle for medical case scenarios
|
56 |
+
- Extra instructions: Add specific requirements
|
57 |
+
|
58 |
+
5. **Generate and Download**
|
59 |
+
- Click "Generate Questions" to create your exam
|
60 |
+
- Use the download button to save your questions
|
61 |
+
|
62 |
+
## คำแนะนำภาษาไทย
|
63 |
+
1. **การใส่เนื้อหา**
|
64 |
+
- พิมพ์หรือวางเนื้อหาในช่องข้อความ
|
65 |
+
- หรืออัพโหลดไฟล์ PDF (ไม่เกิน 8,000 คำ)
|
66 |
+
|
67 |
+
2. **เลือกประเภทคำถาม**
|
68 |
+
- ปรนัย: สร้างคำถามพร้อมตัวเลือก 3-5 ข้อ
|
69 |
+
- เติมคำ: สร้างคำถามแบบเติมคำในช่องว่าง
|
70 |
+
- ถูก/ผิด: สร้างคำถามแบบถูกผิด
|
71 |
+
- อัตนัย: สร้างคำถามแบบบรรยายพร้อมเกณฑ์การให้คะแนน
|
72 |
+
|
73 |
+
3. **เลือกระดับความคิด**
|
74 |
+
- เลือกระดับความคิด (ดูคำอธิบายด้านล่าง)
|
75 |
+
- กำหนดความซับซ้อนและความลึกของคำถาม
|
76 |
+
|
77 |
+
4. **ตัวเลือกเพิ่มเติม**
|
78 |
+
- คำถามเชิงกรณีศึกษา: เลือกสำหรับโจทย์ทางการแพทย์
|
79 |
+
- คำแนะนำเพิ่มเติม: ใส่ความต้องการเฉพาะ
|
80 |
+
|
81 |
+
5. **สร้างและดาวน์โหลด**
|
82 |
+
- คลิก "Generate Questions" เพื่อสร้างข้อสอบ
|
83 |
+
- ใช้ปุ่มดาวน์โหลดเพื่อบันทึกข้อสอบ
|
84 |
+
""")
|
85 |
+
|
86 |
+
with st.expander("🧠 Cognitive Levels Explanation | คำอธิบายระดับความคิด"):
|
87 |
+
st.markdown("""
|
88 |
+
# Cognitive Levels Guide | คู่มือระดับความคิด
|
89 |
+
|
90 |
+
## English Explanation
|
91 |
+
|
92 |
+
### 1. Recall (Knowledge)
|
93 |
+
- **Definition**: Basic recall of information
|
94 |
+
- **Key Words**: Define, List, Name, Identify
|
95 |
+
- **Example**: What is the capital of Thailand?
|
96 |
+
|
97 |
+
### 2. Understanding (Comprehension)
|
98 |
+
- **Definition**: Understanding and explaining ideas
|
99 |
+
- **Key Words**: Explain, Describe, Summarize
|
100 |
+
- **Example**: Explain how photosynthesis works.
|
101 |
+
|
102 |
+
### 3. Application
|
103 |
+
- **Definition**: Using information in new situations
|
104 |
+
- **Key Words**: Apply, Use, Solve, Demonstrate
|
105 |
+
- **Example**: Calculate the dosage for a 70kg patient.
|
106 |
+
|
107 |
+
### 4. Analysis
|
108 |
+
- **Definition**: Breaking information into parts
|
109 |
+
- **Key Words**: Analyze, Compare, Contrast, Examine
|
110 |
+
- **Example**: Compare and contrast viral and bacterial infections.
|
111 |
+
|
112 |
+
### 5. Synthesis
|
113 |
+
- **Definition**: Creating new ideas or solutions
|
114 |
+
- **Key Words**: Create, Design, Develop, Plan
|
115 |
+
- **Example**: Design a treatment plan for a diabetic patient.
|
116 |
+
|
117 |
+
### 6. Evaluation
|
118 |
+
- **Definition**: Making judgments based on criteria
|
119 |
+
- **Key Words**: Evaluate, Judge, Assess, Recommend
|
120 |
+
- **Example**: Evaluate the effectiveness of this treatment approach.
|
121 |
+
|
122 |
+
## คำอธิบายภาษาไทย
|
123 |
+
|
124 |
+
### 1. การจำ (Recall)
|
125 |
+
- **ความหมาย**: การระลึกข้อมูลพื้นฐาน
|
126 |
+
- **คำสำคัญ**: บอก, ระบุ, จำแนก, ระลึก
|
127 |
+
- **ตัวอย่าง**: เมืองหลวงของประเทศไทยคืออะไร?
|
128 |
+
|
129 |
+
### 2. ความเข้าใจ (Understanding)
|
130 |
+
- **ความหมาย**: เข้าใจและอธิบายแนวคิด
|
131 |
+
- **คำสำคัญ**: อธิบาย, บรรยาย, สรุป
|
132 |
+
- **ตัวอย่าง**: อธิบายกระบวนการสังเคราะห์แสง
|
133 |
+
|
134 |
+
### 3. การประยุกต์ใช้ (Application)
|
135 |
+
- **ความหมาย**: ใช้ข้อมูลในสถานการณ์ใหม่
|
136 |
+
- **คำสำคัญ**: ใช้, แก้ปัญหา, สาธิต
|
137 |
+
- **ตัวอย่าง**: คำนวณขนาดยาสำหรับผู้ป่วยน้ำหนัก 70 กิโลกรัม
|
138 |
+
|
139 |
+
### 4. การวิเคราะห์ (Analysis)
|
140 |
+
- **ความหมาย**: แยกแยะข้อมูลเป็นส่วนๆ
|
141 |
+
- **คำสำคัญ**: วิเคราะห์, เปรียบเทียบ, จำแนก
|
142 |
+
- **ตัวอย่าง**: เปรียบเทียบการติดเชื้อไวรัสและแบคทีเรีย
|
143 |
+
|
144 |
+
### 5. การสังเคราะห์ (Synthesis)
|
145 |
+
- **ความหมาย**: สร้างแนวคิดหรือวิธีการใหม่
|
146 |
+
- **คำสำคัญ**: สร้าง, ออกแบบ, พัฒนา, วางแผน
|
147 |
+
- **ตัวอย่าง**: ออกแบบแผนการรักษาสำหรับผู้ป่วยเบาหวาน
|
148 |
+
|
149 |
+
### 6. การประเมินผล (Evaluation)
|
150 |
+
- **ความหมาย**: ตัดสินใจบนพื้นฐานของเกณฑ์
|
151 |
+
- **คำสำคัญ**: ประเมิน, ตัดสิน, วัดผล, แนะนำ
|
152 |
+
- **ตัวอย่าง**: ประเมินประสิทธิภาพของวิธีการรักษานี้
|
153 |
+
""")
|
154 |
+
|
155 |
+
|
156 |
# Constants
|
157 |
WORD_LIMIT = 11000
|
158 |
DAILY_API_LIMIT = 30 # Set your desired limit per user per day
|
|
|
413 |
else:
|
414 |
# Main application code (ส่วนที่เหลือเหมือนเดิม)
|
415 |
st.title(f"Welcome to GeneXam, {st.session_state.username}! 🎓")
|
416 |
+
|
417 |
+
# Add Help button in sidebar # <-- เพิ่มส่วนนี้ตรงนี้
|
418 |
+
with st.sidebar:
|
419 |
+
st.markdown("### Need Help? | ต้องการความช่วยเหลือ?")
|
420 |
+
if st.button("📖 Show Documentation | แสดงคู่มือการใช้งาน"):
|
421 |
+
show_documentation()
|
422 |
|
423 |
# Show current usage stats
|
424 |
stats = get_user_stats(st.session_state.username)
|