Spaces:
Sleeping
Sleeping
socratic_mode_btn = gr.Checkbox(label="蘇格拉底家教助理模式", value=False)
Browse files
app.py
CHANGED
@@ -460,7 +460,7 @@ def get_video_id_summary(video_id, df_string):
|
|
460 |
if not exists:
|
461 |
summary = generate_summarise(df_string)
|
462 |
# processed_summary = processed_video_summary_to_json(summary)
|
463 |
-
summary_json =
|
464 |
summary_text = json.dumps(summary_json, ensure_ascii=False, indent=2)
|
465 |
|
466 |
try:
|
@@ -618,27 +618,43 @@ def send_question(question, df_string_output, chat_history):
|
|
618 |
# 当问题按钮被点击时调用此函数
|
619 |
return respond(question, df_string_output, chat_history)
|
620 |
|
621 |
-
def respond(user_message, df_string_output, chat_history):
|
622 |
print("=== 變數:user_message ===")
|
623 |
print(user_message)
|
624 |
print("=== 變數:chat_history ===")
|
625 |
print(chat_history)
|
626 |
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
|
|
631 |
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
|
637 |
-
|
638 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
639 |
|
640 |
-
如果學生的問題與資料文本無關,請告訴學生你無法回答超出範圍的問題
|
641 |
-
"""
|
642 |
messages = [
|
643 |
{"role": "system", "content": sys_content}
|
644 |
]
|
@@ -726,6 +742,7 @@ with gr.Blocks() as demo:
|
|
726 |
file_upload = gr.File(label="Upload your CSV or Word file", visible=False)
|
727 |
youtube_link = gr.Textbox(label="Enter YouTube Link")
|
728 |
web_link = gr.Textbox(label="Enter Web Page Link", visible=False)
|
|
|
729 |
chatbot = gr.Chatbot()
|
730 |
msg = gr.Textbox(label="Message")
|
731 |
send_button = gr.Button("Send")
|
@@ -755,7 +772,7 @@ with gr.Blocks() as demo:
|
|
755 |
|
756 |
send_button.click(
|
757 |
respond,
|
758 |
-
inputs=[msg, df_string_output, chatbot],
|
759 |
outputs=[msg, chatbot]
|
760 |
)
|
761 |
# 连接按钮点击事件
|
|
|
460 |
if not exists:
|
461 |
summary = generate_summarise(df_string)
|
462 |
# processed_summary = processed_video_summary_to_json(summary)
|
463 |
+
summary_json = str(summary) ]
|
464 |
summary_text = json.dumps(summary_json, ensure_ascii=False, indent=2)
|
465 |
|
466 |
try:
|
|
|
618 |
# 当问题按钮被点击时调用此函数
|
619 |
return respond(question, df_string_output, chat_history)
|
620 |
|
621 |
+
def respond(user_message, df_string_output, chat_history, socratic_mode=False):
|
622 |
print("=== 變數:user_message ===")
|
623 |
print(user_message)
|
624 |
print("=== 變數:chat_history ===")
|
625 |
print(chat_history)
|
626 |
|
627 |
+
if socratic_mode:
|
628 |
+
sys_content = f"""
|
629 |
+
你是一個擅長資料分析跟影片教學的老師,user 為學生
|
630 |
+
請用 {df_string_output} 為資料文本,自行判斷資料的種類,
|
631 |
+
並進行對話,使用 zh-TW
|
632 |
|
633 |
+
如果是影片類型,不用解釋逐字稿格式,直接回答學生問題
|
634 |
+
請你用蘇格拉底式的提問方式,引導學生思考,並且給予學生一些提示
|
635 |
+
不要直接給予答案,讓學生自己思考
|
636 |
+
但可以給予一些提示跟引導,例如給予影片的時間軸,讓學生自己去找答案
|
637 |
|
638 |
+
如果學生問了一些問題你無法判斷,請告訴學生你無法判斷,並建議學生可以問其他問題
|
639 |
+
或者你可以問學生一些問題,幫助學生更好的理解資料
|
640 |
+
|
641 |
+
如果學生的問題與資料文本無關,請告訴學生你無法回答超出範圍的問題
|
642 |
+
"""
|
643 |
+
else:
|
644 |
+
sys_content = f"""
|
645 |
+
你是一個擅長資料分析跟影片教學的老師,user 為學生
|
646 |
+
請用 {df_string_output} 為資料文本,自行判斷資料的種類,
|
647 |
+
並進行對話,使用 zh-TW
|
648 |
+
|
649 |
+
如果是影片類型,不用解釋逐字稿格式,直接回答學生問題
|
650 |
+
但可以給予一些提示跟引導,例如給予影片的時間軸,讓學生可以找到相對應的時間點
|
651 |
+
|
652 |
+
如果學生問了一些問題你無法判斷,請告訴學生你無法判斷,並建議學生可以問其他問題
|
653 |
+
或者你可以問學生一些問題,幫助學生更好的理解資料
|
654 |
+
|
655 |
+
如果學生的問題與資料文本無關,請告訴學生你無法回答超出範圍的問題
|
656 |
+
"""
|
657 |
|
|
|
|
|
658 |
messages = [
|
659 |
{"role": "system", "content": sys_content}
|
660 |
]
|
|
|
742 |
file_upload = gr.File(label="Upload your CSV or Word file", visible=False)
|
743 |
youtube_link = gr.Textbox(label="Enter YouTube Link")
|
744 |
web_link = gr.Textbox(label="Enter Web Page Link", visible=False)
|
745 |
+
socratic_mode_btn = gr.Checkbox(label="蘇格拉底家教助理模式", value=False)
|
746 |
chatbot = gr.Chatbot()
|
747 |
msg = gr.Textbox(label="Message")
|
748 |
send_button = gr.Button("Send")
|
|
|
772 |
|
773 |
send_button.click(
|
774 |
respond,
|
775 |
+
inputs=[msg, df_string_output, chatbot, socratic_mode_btn],
|
776 |
outputs=[msg, chatbot]
|
777 |
)
|
778 |
# 连接按钮点击事件
|