Siyuan0730 commited on
Commit
ecf88a0
·
1 Parent(s): 36e4ec1

同步git上的代码

Browse files
Files changed (1) hide show
  1. app.py +62 -24
app.py CHANGED
@@ -70,7 +70,6 @@ def get_completion_from_messages(messages, model="gpt-4", temperature=0):
70
  )
71
  return response.choices[0].message["content"]
72
 
73
- #调用gpt API生成课程大纲 + 每节课解释,随后输出为md文档。并在课程内一直保留着
74
  def genarating_outline(keywords, num_lessons,language):
75
  system_message = 'You are a great AI teacher and linguist, skilled at create course outline based on summarized knowledge materials.'
76
  user_message = f"""You are a great AI teacher and linguist,
@@ -262,7 +261,6 @@ def initialize_content(course_outline_list, embeddings_df, faiss_index, language
262
  st.success(f"Writing content for lesson {count_generating_content}...Done")
263
  with st.expander(f"Learn the lesson {count_generating_content} ", expanded=False):
264
  st.markdown(courseContent)
265
-
266
  return course_content_list
267
 
268
  def regenerate_outline(course_outline_list):
@@ -338,16 +336,13 @@ def app():
338
  btn = st.button('Generate my course!')
339
 
340
  if "description1" not in st.session_state:
341
- st.session_state.description1 = ''
342
- if "divider" not in st.session_state:
343
- st.session_state.divider = ''
344
- if "description2" not in st.session_state:
345
- st.session_state.description2 = ''
346
  if "start_col1" not in st.session_state:
347
  st.session_state.start_col1 = st.empty()
348
  if "start_col2" not in st.session_state:
349
  st.session_state.start_col2 = st.empty()
350
-
 
351
 
352
  if "embeddings_df" not in st.session_state:
353
  st.session_state.embeddings_df = ''
@@ -368,31 +363,73 @@ def app():
368
  st.session_state.start_col1, st.session_state.start_col2 = st.columns(2)
369
 
370
  with st.session_state.start_col1:
371
- st.session_state.description1 = st.markdown('''
372
  > <font color = 'grey'> An all-round teacher. A teaching assistant who really knows the subject </font>
373
- >
374
  > <font color = 'grey'> Anything. Anywhere. All at once. </font> :100:
375
  >
376
  > Github Repo: https://github.com/Siyuan-Harry/OmniTutor
377
- ''', unsafe_allow_html=True)
378
- st.session_state.divider = st.subheader('How to use')
379
- st.session_state.description2 = st.markdown('''
380
- 1. Upload learning materials in the 👈sidebar
381
- 2. Touch "Generate my course!" button
 
 
 
 
 
 
 
 
 
382
 
383
- 🎉 Get ready to see what happens..
384
- '''
385
  )
386
  with st.session_state.start_col2:
387
- st.markdown("hello!")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
 
389
 
390
  if btn:
391
- st.session_state.description1.empty()
392
- st.session_state.divider.empty()
393
- st.session_state.description2.empty()
394
  st.session_state.start_col1.empty()
395
  st.session_state.start_col2.empty()
 
 
396
 
397
  #initialize app
398
  temp_file_paths = initialize_file(added_files)
@@ -413,9 +450,10 @@ def app():
413
  user_question = st.chat_input("Enter your questions when learning...")
414
 
415
  if user_question:
416
- st.session_state.description1.empty()
417
- st.session_state.divider.empty()
418
- st.session_state.description2.empty()
 
419
 
420
  with col1:
421
  #把课程大纲打印出来
 
70
  )
71
  return response.choices[0].message["content"]
72
 
 
73
  def genarating_outline(keywords, num_lessons,language):
74
  system_message = 'You are a great AI teacher and linguist, skilled at create course outline based on summarized knowledge materials.'
75
  user_message = f"""You are a great AI teacher and linguist,
 
261
  st.success(f"Writing content for lesson {count_generating_content}...Done")
262
  with st.expander(f"Learn the lesson {count_generating_content} ", expanded=False):
263
  st.markdown(courseContent)
 
264
  return course_content_list
265
 
266
  def regenerate_outline(course_outline_list):
 
336
  btn = st.button('Generate my course!')
337
 
338
  if "description1" not in st.session_state:
339
+ st.session_state.description = ''
 
 
 
 
340
  if "start_col1" not in st.session_state:
341
  st.session_state.start_col1 = st.empty()
342
  if "start_col2" not in st.session_state:
343
  st.session_state.start_col2 = st.empty()
344
+ if "case_pay" not in st.session_state:
345
+ st.session_state.case_pay = st.empty()
346
 
347
  if "embeddings_df" not in st.session_state:
348
  st.session_state.embeddings_df = ''
 
363
  st.session_state.start_col1, st.session_state.start_col2 = st.columns(2)
364
 
365
  with st.session_state.start_col1:
366
+ st.session_state.description = st.markdown('''
367
  > <font color = 'grey'> An all-round teacher. A teaching assistant who really knows the subject </font>
368
+ >
369
  > <font color = 'grey'> Anything. Anywhere. All at once. </font> :100:
370
  >
371
  > Github Repo: https://github.com/Siyuan-Harry/OmniTutor
372
+
373
+ ### Key features
374
+
375
+ - 🧑‍🏫 **Concise and clear course creation**: <font color = 'grey'>Generated from your learning notes (**.md**) or any learning materials (**.pdf**)!</font>
376
+ - 📚 **All disciplines**: <font color = 'grey'>Whether it's math, physics, literature, history or coding, OmniTutor covers it all.</font>
377
+ - ⚙️ **Customize your own course**: <font color = 'grey'>Choose your preferred teaching style, lesson count and language.</font>
378
+ - ⚡️ **Fast respond with trustable accuracy**: <font color = 'grey'>Problem-solving chat with the AI teaching assistant who really understand the materials.</font>
379
+
380
+ ### 🏃‍♂️ Get started!
381
+
382
+ 1. **Upload learning materials**: <font color = 'grey'>The upload widget in the sidebar supports PDF and .md files simutaenously.</font>
383
+ 2. **Customize your course**: <font color = 'grey'>By few clicks and swipes, adjusting teaching style, lesson count and language for your course.</font>
384
+ 3. **Start course generating**: <font color = 'grey'>Touch "Generate my course!" button in the sidebar, then watch how OmniTutor creates personal-customized course for you.</font>
385
+ 4. **Interactive learning**: <font color = 'grey'>Learn the course, and ask OmniTutor any questions related to this course whenever you encountered them.</font>
386
 
387
+ 🎉 Have fun playing with Omnitutor!
388
+ ''', unsafe_allow_html=True
389
  )
390
  with st.session_state.start_col2:
391
+ st.session_state.case_pay = st.markdown('''
392
+ ### 💡Application Cases 使用案例
393
+
394
+ > <font color = 'grey'> 用OmniTutor阅读专业的论文! </font>
395
+
396
+ <img src="https://siyuan-harry.oss-cn-beijing.aliyuncs.com/oss://siyuan-harry/WX20231104-122256@2x%2016.03.49.png" height = "300" />
397
+
398
+ <img src="https://siyuan-harry.oss-cn-beijing.aliyuncs.com/oss://siyuan-harry/WX20231104-113553@2x%202.png" height = "300" />
399
+
400
+ > <font color = 'grey'> 用OmniTutor学习Python! </font>
401
+
402
+ <img src="https://siyuan-harry.oss-cn-beijing.aliyuncs.com/oss://siyuan-harry/[email protected]" height = "300" />
403
+
404
+ <img src="https://siyuan-harry.oss-cn-beijing.aliyuncs.com/oss://siyuan-harry/[email protected]" height = "300" />
405
+
406
+ ---
407
+
408
+ ### 💰 Support by donation 捐款支持
409
+
410
+ - 请捐款支持。因为每位用户的每次课程生成,都会产生一定的费用。个人开发者维护不易
411
+ - Please donate to support. Because each course generated by each user will incur a certain cost for me.
412
+
413
+ <img src="https://siyuan-harry.oss-cn-beijing.aliyuncs.com/oss://siyuan-harry/20231110145229.png" height = "260" />
414
+
415
+ ---
416
+
417
+ ### 🙌 Contact me 联系我
418
+
419
+ 欢迎联系开发者 @何思远方Siyuan. Feel free to get in touch with me!
420
+
421
+ - 邮箱📮:[email protected]
422
+ - B站:何思远方Siyuan
423
+
424
+
425
+ ''', unsafe_allow_html=True)
426
 
427
 
428
  if btn:
 
 
 
429
  st.session_state.start_col1.empty()
430
  st.session_state.start_col2.empty()
431
+ st.session_state.description.empty()
432
+ st.session_state.case_pay.empty()
433
 
434
  #initialize app
435
  temp_file_paths = initialize_file(added_files)
 
450
  user_question = st.chat_input("Enter your questions when learning...")
451
 
452
  if user_question:
453
+ st.session_state.start_col1.empty()
454
+ st.session_state.start_col2.empty()
455
+ st.session_state.description.empty()
456
+ st.session_state.case_pay.empty()
457
 
458
  with col1:
459
  #把课程大纲打印出来