Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
| 1 |
-
#
|
| 2 |
-
#
|
|
|
|
|
|
|
|
|
|
| 3 |
|
| 4 |
# --------------------------------------
|
| 5 |
# Libraries
|
|
@@ -732,17 +735,22 @@ def bot(ss: SessionState, query, qa_flag, web_flag, summarization_mode) -> (Sess
|
|
| 732 |
original_query = query
|
| 733 |
|
| 734 |
if ss.llm is None:
|
| 735 |
-
|
| 736 |
-
|
|
|
|
| 737 |
return ss, ""
|
| 738 |
|
| 739 |
elif qa_flag is True and ss.embeddings is None:
|
| 740 |
-
|
| 741 |
-
|
|
|
|
|
|
|
| 742 |
|
| 743 |
elif qa_flag is True and ss.db is None:
|
| 744 |
-
|
| 745 |
-
|
|
|
|
|
|
|
| 746 |
|
| 747 |
# Refine query
|
| 748 |
history = ss.memory.load_memory_variables({})
|
|
@@ -829,8 +837,9 @@ def qa_predict(ss: SessionState, query) -> SessionState:
|
|
| 829 |
# 回答を1文字ずつチャット画面に表示する
|
| 830 |
def show_response(ss: SessionState) -> str:
|
| 831 |
chat_history = [list(item) for item in ss.dialogue] # タプルをリストに変換して、メモリから会話履歴を取得
|
| 832 |
-
|
| 833 |
-
|
|
|
|
| 834 |
|
| 835 |
if response is None:
|
| 836 |
response = "回答を生成できませんでした。"
|
|
|
|
| 1 |
+
# --------------------------------------
|
| 2 |
+
# Chat with Documents
|
| 3 |
+
# キカガク 2023.4月期 最終成果アプリ
|
| 4 |
+
# Copyright. cawacci
|
| 5 |
+
# --------------------------------------
|
| 6 |
|
| 7 |
# --------------------------------------
|
| 8 |
# Libraries
|
|
|
|
| 735 |
original_query = query
|
| 736 |
|
| 737 |
if ss.llm is None:
|
| 738 |
+
if ss.dialogue:
|
| 739 |
+
response = "LLMが設定されていません。設定画面で任意のモデルを選択してください。"
|
| 740 |
+
ss.dialogue[-1] = (ss.dialogue[-1][0], response)
|
| 741 |
return ss, ""
|
| 742 |
|
| 743 |
elif qa_flag is True and ss.embeddings is None:
|
| 744 |
+
if ss.dialogue:
|
| 745 |
+
response = "Embeddingモデルが設定されていません。設定画面で任意のモデルを選択してください。"
|
| 746 |
+
ss.dialogue[-1] = (ss.dialogue[-1][0], response)
|
| 747 |
+
return ss, ""
|
| 748 |
|
| 749 |
elif qa_flag is True and ss.db is None:
|
| 750 |
+
if ss.dialogue:
|
| 751 |
+
response = "参照データが登録されていません。"
|
| 752 |
+
ss.dialogue[-1] = (ss.dialogue[-1][0], response)
|
| 753 |
+
return ss, ""
|
| 754 |
|
| 755 |
# Refine query
|
| 756 |
history = ss.memory.load_memory_variables({})
|
|
|
|
| 837 |
# 回答を1文字ずつチャット画面に表示する
|
| 838 |
def show_response(ss: SessionState) -> str:
|
| 839 |
chat_history = [list(item) for item in ss.dialogue] # タプルをリストに変換して、メモリから会話履歴を取得
|
| 840 |
+
if chat_history:
|
| 841 |
+
response = chat_history[-1][1] # メモリから最新の会話[-1]を取得し、チャットボットの回答[1]を退避
|
| 842 |
+
chat_history[-1][1] = "" # 逐次表示のため、チャットボットの回答[1]を空にする
|
| 843 |
|
| 844 |
if response is None:
|
| 845 |
response = "回答を生成できませんでした。"
|