BramLeo commited on
Commit
d9103af
·
verified ·
1 Parent(s): ecb0859

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -6
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, chat_engine):
110
  if history is None:
111
  history = []
112
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  chat_messages = [
114
  ChatMessage(
115
  role="system",
116
- content="Anda adalah chatbot yang menjawab dalam bahasa Indonesia berdasarkan dokumen di Google Spreadsheet."
 
 
 
 
 
117
  ),
118
  ]
119
-
 
120
  response = chat_engine.stream_chat(message)
121
- text = "".join(response.response_gen) # 🔹 Gabungkan semua token menjadi string
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