brunhild217 commited on
Commit
f934fb5
·
1 Parent(s): fa132d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -67
app.py CHANGED
@@ -37,77 +37,54 @@ def get_tutor_reply(user_message, chat_tutor):
37
  def get_conversation_history(chat_tutor):
38
  return chat_tutor.conversation_memory, chat_tutor
39
 
40
- def student_interface():
41
- with gr.Blocks() as demo:
42
- #initialize tutor (with state)
43
- study_tutor = gr.State(EchoingTutor())
44
-
45
- # API Authentication
46
- # Instead of ask students to provide key, the key is now directly provided by the instructor
47
- embed_key(os.environ.get("OPENAI_API_KEY"), study_tutor)
48
-
49
- # Chatbot interface
50
- gr.Markdown("""
51
- ## Chat with the Model
52
- Description here
53
- """)
54
-
55
- with gr.Row(equal_height=True):
56
- with gr.Column(scale=2):
57
- chatbot = gr.Chatbot()
58
- with gr.Row():
59
- user_chat_input = gr.Textbox(label="User input", scale=9)
60
- user_chat_submit = gr.Button("Ask/answer model", scale=1)
61
-
62
- user_chat_submit.click(add_user_message,
63
- [user_chat_input, study_tutor],
64
- [chatbot, study_tutor], queue=False).then(
65
- get_tutor_reply, [user_chat_input, study_tutor], [user_chat_input, chatbot, study_tutor], queue=True)
66
-
67
- # Testing purpose
68
- test_btn = gr.Button("View your chat history")
69
- chat_history = gr.JSON(label = "conversation history")
70
- test_btn.click(get_conversation_history, inputs=[study_tutor], outputs=[chat_history, study_tutor])
71
-
72
- with gr.Blocks():
73
- gr.Markdown("""
74
- ## Export Your Chat History
75
- Export your chat history as a .json, .txt, or .csv file
76
- """)
77
- with gr.Row():
78
- export_dialogue_button_json = gr.Button("JSON")
79
- export_dialogue_button_txt = gr.Button("TXT")
80
- export_dialogue_button_csv = gr.Button("CSV")
81
-
82
- file_download = gr.Files(label="Download here",
83
- file_types=['.json', '.txt', '.csv'], type="file", visible=False)
84
-
85
- export_dialogue_button_json.click(save_json, study_tutor, file_download, show_progress=True)
86
- export_dialogue_button_txt.click(save_txt, study_tutor, file_download, show_progress=True)
87
- export_dialogue_button_csv.click(save_csv, study_tutor, file_download, show_progress=True)
88
 
89
- return demo.queue().launch(server_name='0.0.0.0', server_port=7860)
 
 
90
 
 
 
 
 
 
 
 
 
 
91
 
92
- def instructor_interface():
93
- with gr.Blocks() as demo:
94
- gr.Markdown("Nothing yet")
 
 
 
 
 
 
 
 
95
 
96
- return demo.queue().launch(server_name='0.0.0.0', server_port=7860)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
- def main():
99
- role_selection = gr.Interface(
100
- [gr.Dropdown(["Student", "Instructor"], label="Select Your Role")],
101
- [gr.Textbox("text", label="Output")],
102
- lambda role: role,
103
- )
104
 
105
- role = role_selection.launch()
106
-
107
- if role == "Student":
108
- student_interface()
109
- elif role == "Instructor":
110
- instructor_interface()
111
 
112
- if __name__ == "__main__":
113
- main()
 
37
  def get_conversation_history(chat_tutor):
38
  return chat_tutor.conversation_memory, chat_tutor
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
+ with gr.Blocks() as demo:
42
+ #initialize tutor (with state)
43
+ study_tutor = gr.State(EchoingTutor())
44
 
45
+ # API Authentication
46
+ # Instead of ask students to provide key, the key is now directly provided by the instructor
47
+ embed_key(os.environ.get("OPENAI_API_KEY"), study_tutor)
48
+
49
+ # Chatbot interface
50
+ gr.Markdown("""
51
+ ## Chat with the Model
52
+ Description here
53
+ """)
54
 
55
+ with gr.Row(equal_height=True):
56
+ with gr.Column(scale=2):
57
+ chatbot = gr.Chatbot()
58
+ with gr.Row():
59
+ user_chat_input = gr.Textbox(label="User input", scale=9)
60
+ user_chat_submit = gr.Button("Ask/answer model", scale=1)
61
+
62
+ user_chat_submit.click(add_user_message,
63
+ [user_chat_input, study_tutor],
64
+ [chatbot, study_tutor], queue=False).then(
65
+ get_tutor_reply, [user_chat_input, study_tutor], [user_chat_input, chatbot, study_tutor], queue=True)
66
 
67
+ # Testing purpose
68
+ test_btn = gr.Button("View your chat history")
69
+ chat_history = gr.JSON(label = "conversation history")
70
+ test_btn.click(get_conversation_history, inputs=[study_tutor], outputs=[chat_history, study_tutor])
71
+
72
+ with gr.Blocks():
73
+ gr.Markdown("""
74
+ ## Export Your Chat History
75
+ Export your chat history as a .json, .txt, or .csv file
76
+ """)
77
+ with gr.Row():
78
+ export_dialogue_button_json = gr.Button("JSON")
79
+ export_dialogue_button_txt = gr.Button("TXT")
80
+ export_dialogue_button_csv = gr.Button("CSV")
81
+
82
+ file_download = gr.Files(label="Download here",
83
+ file_types=['.json', '.txt', '.csv'], type="file", visible=False)
84
 
85
+ export_dialogue_button_json.click(save_json, study_tutor, file_download, show_progress=True)
86
+ export_dialogue_button_txt.click(save_txt, study_tutor, file_download, show_progress=True)
87
+ export_dialogue_button_csv.click(save_csv, study_tutor, file_download, show_progress=True)
 
 
 
88
 
 
 
 
 
 
 
89
 
90
+ demo.queue().launch(server_name='0.0.0.0', server_port=7860)