Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -106,20 +106,43 @@ def initialize_chat_engine(index):
|
|
| 106 |
# ===================================
|
| 107 |
# 6️⃣ Fungsi untuk Menghasilkan Respons Chatbot
|
| 108 |
# ===================================
|
| 109 |
-
def generate_response(message, history
|
| 110 |
if history is None:
|
| 111 |
history = []
|
| 112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
chat_messages = [
|
| 114 |
ChatMessage(
|
| 115 |
role="system",
|
| 116 |
-
content="Anda adalah chatbot yang
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
),
|
| 118 |
]
|
| 119 |
-
|
|
|
|
| 120 |
response = chat_engine.stream_chat(message)
|
| 121 |
-
text = "".join(response.response_gen)
|
| 122 |
-
|
| 123 |
history.append((message, text))
|
| 124 |
return history
|
| 125 |
|
|
|
|
| 106 |
# ===================================
|
| 107 |
# 6️⃣ Fungsi untuk Menghasilkan Respons Chatbot
|
| 108 |
# ===================================
|
| 109 |
+
def generate_response(message, history):
|
| 110 |
if history is None:
|
| 111 |
history = []
|
| 112 |
+
|
| 113 |
+
# 🔹 Ambil data terbaru dari Google Spreadsheet setiap kali ada pertanyaan
|
| 114 |
+
text_data = read_google_sheet()
|
| 115 |
+
document = Document(text=text_data)
|
| 116 |
+
documents = [document]
|
| 117 |
+
|
| 118 |
+
# 🔹 Perbarui index dengan data terbaru
|
| 119 |
+
parser = SentenceSplitter(chunk_size=150, chunk_overlap=10)
|
| 120 |
+
nodes = parser.get_nodes_from_documents(documents)
|
| 121 |
+
index = VectorStoreIndex(nodes)
|
| 122 |
+
retriever = index.as_retriever(similarity_top_k=3)
|
| 123 |
+
|
| 124 |
+
# 🔹 Buat ulang chat engine dengan index yang diperbarui
|
| 125 |
+
chat_engine = CondensePlusContextChatEngine.from_defaults(
|
| 126 |
+
retriever=retriever,
|
| 127 |
+
verbose=True,
|
| 128 |
+
)
|
| 129 |
+
|
| 130 |
chat_messages = [
|
| 131 |
ChatMessage(
|
| 132 |
role="system",
|
| 133 |
+
content="Anda adalah chatbot yang cerdas dan sopan. "
|
| 134 |
+
"Jawablah semua pertanyaan dalam bahasa Indonesia dengan jelas dan mudah dipahami. "
|
| 135 |
+
"Gunakan gaya bahasa yang profesional tetapi tetap ramah. "
|
| 136 |
+
"Jika informasi tidak tersedia di dokumen, beritahukan dengan sopan bahwa Anda tidak memiliki informasi tersebut. "
|
| 137 |
+
"Jangan menjawab dalam bahasa lain selain Bahasa Indonesia. "
|
| 138 |
+
"Fokuslah memberikan jawaban yang akurat dan relevan sesuai dengan dokumen yang tersedia."
|
| 139 |
),
|
| 140 |
]
|
| 141 |
+
|
| 142 |
+
# 🔹 Gunakan chat engine baru untuk menjawab pertanyaan
|
| 143 |
response = chat_engine.stream_chat(message)
|
| 144 |
+
text = "".join(response.response_gen)
|
| 145 |
+
|
| 146 |
history.append((message, text))
|
| 147 |
return history
|
| 148 |
|