brunhild217 commited on
Commit
26dfd6d
·
1 Parent(s): d8ad4e5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -5
app.py CHANGED
@@ -4,7 +4,7 @@ import pandas as pd
4
  from functools import partial
5
  from ai_classroom_suite.UIBaseComponents import *
6
 
7
- ### Chatbot Functions ###
8
  def get_tutor_reply(chat_tutor):
9
  chat_tutor.get_tutor_reply()
10
  return gr.update(value="", interactive=True), chat_tutor.conversation_memory, chat_tutor
@@ -25,7 +25,6 @@ def embed_prompt(instructor_prompt):
25
 
26
  ### User Interfaces ###
27
  with gr.Blocks() as demo:
28
-
29
  #initialize tutor (with state)
30
  study_tutor = gr.State(SlightlyDelusionalTutor())
31
 
@@ -77,9 +76,9 @@ with gr.Blocks() as demo:
77
 
78
  # Instructor interface
79
  with gr.Tab("Instructor Only"):
80
- # API Authentication functionality
81
- # Instead of ask students to provide key, the key is now provided by the instructor
82
  """
 
 
83
  To permanently set the key, go to Settings -> Variables and secrets -> Secrets,
84
  then replace OPENAI_API_KEY value with whatever openai key of the instructor.
85
  """
@@ -99,6 +98,7 @@ with gr.Blocks() as demo:
99
  file_input.upload(fn=get_instructor_prompt, inputs=file_input, outputs=instructor_prompt)
100
 
101
  # Placeholders components
 
102
  file_input_none = gr.File(visible=False)
103
  instructor_input_none = gr.TextArea(visible=False)
104
  learning_objectives_none = gr.Textbox(visible=False)
@@ -109,8 +109,17 @@ with gr.Blocks() as demo:
109
  fn=embed_prompt, inputs=[instructor_prompt], outputs=[view_secret]
110
  ).then(
111
  fn=create_reference_store,
112
- inputs=[study_tutor, prompt_submit_btn, instructor_prompt, file_input_none, instructor_input_none, api_input, learning_objectives_none],
113
  outputs=[study_tutor, prompt_submit_btn]
114
  )
 
 
 
 
 
 
 
 
 
115
 
116
  demo.queue().launch(server_name='0.0.0.0', server_port=7860)
 
4
  from functools import partial
5
  from ai_classroom_suite.UIBaseComponents import *
6
 
7
+ ### User Interface Chatbot Functions ###
8
  def get_tutor_reply(chat_tutor):
9
  chat_tutor.get_tutor_reply()
10
  return gr.update(value="", interactive=True), chat_tutor.conversation_memory, chat_tutor
 
25
 
26
  ### User Interfaces ###
27
  with gr.Blocks() as demo:
 
28
  #initialize tutor (with state)
29
  study_tutor = gr.State(SlightlyDelusionalTutor())
30
 
 
76
 
77
  # Instructor interface
78
  with gr.Tab("Instructor Only"):
 
 
79
  """
80
+ API Authentication functionality
81
+ Instead of ask students to provide key, the key is now provided by the instructor.
82
  To permanently set the key, go to Settings -> Variables and secrets -> Secrets,
83
  then replace OPENAI_API_KEY value with whatever openai key of the instructor.
84
  """
 
98
  file_input.upload(fn=get_instructor_prompt, inputs=file_input, outputs=instructor_prompt)
99
 
100
  # Placeholders components
101
+ text_input_none = gr.Textbox(visible=False)
102
  file_input_none = gr.File(visible=False)
103
  instructor_input_none = gr.TextArea(visible=False)
104
  learning_objectives_none = gr.Textbox(visible=False)
 
109
  fn=embed_prompt, inputs=[instructor_prompt], outputs=[view_secret]
110
  ).then(
111
  fn=create_reference_store,
112
+ inputs=[study_tutor, prompt_submit_btn, instructor_prompt, file_input_none, instructor_input_none, api_input, instructor_prompt],
113
  outputs=[study_tutor, prompt_submit_btn]
114
  )
115
+
116
+ # TODO: The instructor prompt is now only set in session if not go to Settings/secret,
117
+ # to "permanently" set the secret prompt not seen by the students who use this space,
118
+ # one possible way is to recreate the instructor interface in another space,
119
+ # and load it here to chain with the student interface
120
+
121
+ # TODO: Currently, the instructor prompt is handled as text input and stored in the vector store (and in the learning objective),
122
+ # which means the tutor now is still a question-answering tutor who viewed the prompt as context input.
123
+ # We need to find a way to provide the prompt directly to the model and set its status.
124
 
125
  demo.queue().launch(server_name='0.0.0.0', server_port=7860)