Reality123b commited on
Commit
e3e3790
·
verified ·
1 Parent(s): 39238d1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -15
app.py CHANGED
@@ -11,7 +11,7 @@ class XylariaChat:
11
 
12
  # Initialize the inference client
13
  self.client = InferenceClient(
14
- model="Qwen/Qwen-72B-Chat", # Changed model name
15
  token=self.hf_token
16
  )
17
 
@@ -103,18 +103,22 @@ Capabilities:
103
  return prompt
104
 
105
  def create_interface(self):
106
- # Local storage JavaScript functions
107
- local_storage_js = """
108
- function saveToLocalStorage(chatHistory) {
109
- localStorage.setItem('xylaria_chat_history', JSON.stringify(chatHistory));
110
- }
111
-
112
- function loadFromLocalStorage() {
113
  const savedHistory = localStorage.getItem('xylaria_chat_history');
114
  return savedHistory ? JSON.parse(savedHistory) : [];
115
  }
 
116
 
117
- function clearLocalStorage() {
 
 
 
 
 
 
 
118
  localStorage.removeItem('xylaria_chat_history');
119
  }
120
  """
@@ -196,8 +200,15 @@ Capabilities:
196
  clear = gr.Button("Clear Conversation")
197
  clear_memory = gr.Button("Clear Memory")
198
 
199
- # Load chat history from local storage on page load using `gr.JSON`
200
- chatbot.value = gr.JSON(value=loadFromLocalStorage())
 
 
 
 
 
 
 
201
 
202
  # Submit functionality with local storage save
203
  btn.click(
@@ -208,7 +219,7 @@ Capabilities:
208
  fn=None,
209
  inputs=[chatbot], # Pass chatbot history to JavaScript
210
  outputs=None,
211
- _js='(chatHistory) => saveToLocalStorage(chatHistory)'
212
  )
213
  txt.submit(
214
  fn=streaming_response,
@@ -218,7 +229,7 @@ Capabilities:
218
  fn=None,
219
  inputs=[chatbot], # Pass chatbot history to JavaScript
220
  outputs=None,
221
- _js='(chatHistory) => saveToLocalStorage(chatHistory)'
222
  )
223
 
224
  # Clear conversation history with local storage clear
@@ -228,7 +239,7 @@ Capabilities:
228
  outputs=[chatbot]
229
  ).then(
230
  fn=None,
231
- _js='() => clearLocalStorage()'
232
  )
233
 
234
  # Clear persistent memory and reset conversation with local storage clear
@@ -238,7 +249,7 @@ Capabilities:
238
  outputs=[chatbot]
239
  ).then(
240
  fn=None,
241
- _js='() => clearLocalStorage()'
242
  )
243
 
244
  return demo
 
11
 
12
  # Initialize the inference client
13
  self.client = InferenceClient(
14
+ model="Qwen/Qwen-72B-Chat", # Changed model name
15
  token=self.hf_token
16
  )
17
 
 
103
  return prompt
104
 
105
  def create_interface(self):
106
+ # Local storage JavaScript functions (these are strings, not functions)
107
+ load_from_local_storage_js = """
108
+ function() {
 
 
 
 
109
  const savedHistory = localStorage.getItem('xylaria_chat_history');
110
  return savedHistory ? JSON.parse(savedHistory) : [];
111
  }
112
+ """
113
 
114
+ save_to_local_storage_js = """
115
+ function(chatHistory) {
116
+ localStorage.setItem('xylaria_chat_history', JSON.stringify(chatHistory));
117
+ }
118
+ """
119
+
120
+ clear_local_storage_js = """
121
+ function() {
122
  localStorage.removeItem('xylaria_chat_history');
123
  }
124
  """
 
200
  clear = gr.Button("Clear Conversation")
201
  clear_memory = gr.Button("Clear Memory")
202
 
203
+ # Load chat history from local storage on page load
204
+ demo.load(
205
+ fn=None,
206
+ _js=load_from_local_storage_js # Pass the JS function as a string
207
+ ).then(
208
+ fn=lambda x: x,
209
+ inputs=chatbot,
210
+ outputs=chatbot
211
+ )
212
 
213
  # Submit functionality with local storage save
214
  btn.click(
 
219
  fn=None,
220
  inputs=[chatbot], # Pass chatbot history to JavaScript
221
  outputs=None,
222
+ _js=save_to_local_storage_js
223
  )
224
  txt.submit(
225
  fn=streaming_response,
 
229
  fn=None,
230
  inputs=[chatbot], # Pass chatbot history to JavaScript
231
  outputs=None,
232
+ _js=save_to_local_storage_js
233
  )
234
 
235
  # Clear conversation history with local storage clear
 
239
  outputs=[chatbot]
240
  ).then(
241
  fn=None,
242
+ _js=clear_local_storage_js
243
  )
244
 
245
  # Clear persistent memory and reset conversation with local storage clear
 
249
  outputs=[chatbot]
250
  ).then(
251
  fn=None,
252
+ _js=clear_local_storage_js
253
  )
254
 
255
  return demo