hoduyquocbao commited on
Commit
46030b6
1 Parent(s): a1acd02

fix new features

Browse files
Files changed (1) hide show
  1. app.py +22 -20
app.py CHANGED
@@ -69,7 +69,6 @@ def initialize_dataset():
69
  print("Dataset mới đã được tạo và đẩy lên Huggingface Hub.")
70
  except Exception as push_e:
71
  print(f"Lỗi khi đẩy Dataset lên Hub: {push_e}")
72
- return
73
 
74
  def save_conversation(user_id: str, messages: List[Tuple[str, str]]):
75
  """
@@ -262,7 +261,13 @@ def generate_response(prompt: str, chat_history: List[Tuple[str, str]], user_id:
262
  outputs = []
263
  for text in streamer:
264
  outputs.append(text)
265
- yield "".join(outputs)
 
 
 
 
 
 
266
 
267
  # Lưu phản hồi vào Dataset
268
  response = "".join(outputs)
@@ -400,35 +405,32 @@ def generate(
400
  top_p: float = 0.9,
401
  top_k: int = 50,
402
  repetition_penalty: float = 1.2,
403
- ) -> Iterator[str]:
404
  """
405
  Hàm chính để xử lý đầu vào của người dùng và tạo phản hồi.
406
  """
407
  # Thông báo về việc phân tích đầu vào
408
- yield "🔍 Đang phân tích truy vấn của bạn..."
409
 
410
  # Lấy user_id từ trạng thái
411
  user_id = get_user_id(user_state)
412
 
413
- # Thêm tin nhắn của người dùng vào lịch sử cuộc trò chuyện
414
- chat_history.append((message, ""))
415
-
416
  # Xác định hàm nào sẽ được gọi dựa trên tin nhắn của người dùng
417
  function_call = process_query(message)
418
 
419
  # Thông báo về hàm được chọn
420
  if function_call["name"] == "web_search":
421
- yield "🛠️ Đã chọn chức năng: Tìm kiếm trên web."
422
  elif function_call["name"] == "summarize_query":
423
- yield "🛠️ Đã chọn chức năng: Tóm tắt văn bản."
424
  elif function_call["name"] == "sentiment_analysis":
425
- yield "🛠️ Đã chọn chức năng: Phân tích tâm lý."
426
  elif function_call["name"] == "new_topic":
427
- yield "🛠️ Đã chọn chức năng: Chủ đề mới."
428
  elif function_call["name"] in ["general_query", "hard_query"]:
429
- yield "🛠️ Đã chọn chức năng: Trả lời câu hỏi."
430
  else:
431
- yield "⚠️ Không thể xác định chức năng phù hợp."
432
 
433
  # Xử lý lời gọi hàm và sinh phản hồi tương ứng
434
  response_iterator = handle_functions(
@@ -443,14 +445,14 @@ def generate(
443
  repetition_penalty=repetition_penalty
444
  )
445
 
 
 
 
446
  for response in response_iterator:
447
- # Thay thế tin nhắn cuối cùng của người dùng với phản hồi của hệ thống
448
- chat_history[-1] = (message, response)
449
- yield chat_history
450
- # Lưu phản hồi cuối cùng vào Dataset
451
- save_conversation(user_id, chat_history)
452
- yield chat_history
453
-
454
  # Định nghĩa các ví dụ để hướng dẫn người dùng
455
  EXAMPLES = [
456
  ["Xin chào! Bạn khỏe không?"],
 
69
  print("Dataset mới đã được tạo và đẩy lên Huggingface Hub.")
70
  except Exception as push_e:
71
  print(f"Lỗi khi đẩy Dataset lên Hub: {push_e}")
 
72
 
73
  def save_conversation(user_id: str, messages: List[Tuple[str, str]]):
74
  """
 
261
  outputs = []
262
  for text in streamer:
263
  outputs.append(text)
264
+ # Yields the entire conversation history with the latest assistant message updated
265
+ conversation_formatted[-1]["content"] += text
266
+ # Convert to list of tuples
267
+ display_history = []
268
+ for msg in conversation_formatted:
269
+ display_history.append((msg["role"], msg["content"]))
270
+ yield display_history
271
 
272
  # Lưu phản hồi vào Dataset
273
  response = "".join(outputs)
 
405
  top_p: float = 0.9,
406
  top_k: int = 50,
407
  repetition_penalty: float = 1.2,
408
+ ) -> Iterator[List[Tuple[str, str]]]:
409
  """
410
  Hàm chính để xử lý đầu vào của người dùng và tạo phản hồi.
411
  """
412
  # Thông báo về việc phân tích đầu vào
413
+ yield [("system", "🔍 Đang phân tích truy vấn của bạn...")]
414
 
415
  # Lấy user_id từ trạng thái
416
  user_id = get_user_id(user_state)
417
 
 
 
 
418
  # Xác định hàm nào sẽ được gọi dựa trên tin nhắn của người dùng
419
  function_call = process_query(message)
420
 
421
  # Thông báo về hàm được chọn
422
  if function_call["name"] == "web_search":
423
+ yield [("system", "🛠️ Đã chọn chức năng: Tìm kiếm trên web.")]
424
  elif function_call["name"] == "summarize_query":
425
+ yield [("system", "🛠️ Đã chọn chức năng: Tóm tắt văn bản.")]
426
  elif function_call["name"] == "sentiment_analysis":
427
+ yield [("system", "🛠️ Đã chọn chức năng: Phân tích tâm lý.")]
428
  elif function_call["name"] == "new_topic":
429
+ yield [("system", "🛠️ Đã chọn chức năng: Chủ đề mới.")]
430
  elif function_call["name"] in ["general_query", "hard_query"]:
431
+ yield [("system", "🛠️ Đã chọn chức năng: Trả lời câu hỏi.")]
432
  else:
433
+ yield [("system", "⚠️ Không thể xác định chức năng phù hợp.")]
434
 
435
  # Xử lý lời gọi hàm và sinh phản hồi tương ứng
436
  response_iterator = handle_functions(
 
445
  repetition_penalty=repetition_penalty
446
  )
447
 
448
+ # Start with the existing chat history
449
+ updated_chat_history = chat_history.copy()
450
+
451
  for response in response_iterator:
452
+ # Append assistant response
453
+ updated_chat_history.append(("assistant", response))
454
+ yield updated_chat_history
455
+
 
 
 
456
  # Định nghĩa các ví dụ để hướng dẫn người dùng
457
  EXAMPLES = [
458
  ["Xin chào! Bạn khỏe không?"],