Spaces:
Sleeping
Sleeping
hoduyquocbao
commited on
Commit
•
46030b6
1
Parent(s):
a1acd02
fix new features
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
#
|
448 |
-
|
449 |
-
yield
|
450 |
-
|
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?"],
|