Spaces:
Sleeping
Sleeping
hoduyquocbao
commited on
Commit
•
ad80532
1
Parent(s):
515db3b
fix errors value
Browse files
app.py
CHANGED
@@ -54,6 +54,7 @@ def initialize_dataset():
|
|
54 |
"""
|
55 |
try:
|
56 |
dataset = load_dataset(HF_DATASET, use_auth_token=HF_TOKEN)
|
|
|
57 |
except Exception as e:
|
58 |
print(f"Dataset chưa tồn tại. Tạo mới Dataset: {e}")
|
59 |
# Tạo Dataset mới nếu chưa tồn tại
|
@@ -63,8 +64,12 @@ def initialize_dataset():
|
|
63 |
"messages": []
|
64 |
})
|
65 |
})
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
68 |
|
69 |
def save_conversation(user_id: str, messages: List[Tuple[str, str]]):
|
70 |
"""
|
@@ -89,6 +94,7 @@ def save_conversation(user_id: str, messages: List[Tuple[str, str]]):
|
|
89 |
updated_dataset = concatenate_datasets([dataset, new_dataset])
|
90 |
# Đẩy lên Hub
|
91 |
updated_dataset.push_to_hub(HF_DATASET, split="conversations", token=HF_TOKEN)
|
|
|
92 |
except Exception as e:
|
93 |
print(f"Lỗi khi đẩy Dataset lên Hub: {e}")
|
94 |
|
@@ -451,54 +457,6 @@ EXAMPLES = [
|
|
451 |
]
|
452 |
|
453 |
# Cấu hình giao diện trò chuyện của Gradio với giao diện đẹp mắt
|
454 |
-
chat_interface = gr.ChatInterface(
|
455 |
-
fn=generate, # Hàm được gọi khi có tương tác từ người dùng
|
456 |
-
additional_inputs=[
|
457 |
-
gr.Slider(
|
458 |
-
label="Số token mới tối đa",
|
459 |
-
minimum=1,
|
460 |
-
maximum=MAX_MAX_NEW_TOKENS,
|
461 |
-
step=1,
|
462 |
-
value=DEFAULT_MAX_NEW_TOKENS,
|
463 |
-
),
|
464 |
-
gr.Slider(
|
465 |
-
label="Nhiệt độ",
|
466 |
-
minimum=0.1,
|
467 |
-
maximum=4.0,
|
468 |
-
step=0.1,
|
469 |
-
value=0.6,
|
470 |
-
),
|
471 |
-
gr.Slider(
|
472 |
-
label="Top-p (nucleus sampling)",
|
473 |
-
minimum=0.05,
|
474 |
-
maximum=1.0,
|
475 |
-
step=0.05,
|
476 |
-
value=0.9,
|
477 |
-
),
|
478 |
-
gr.Slider(
|
479 |
-
label="Top-k",
|
480 |
-
minimum=1,
|
481 |
-
maximum=1000,
|
482 |
-
step=1,
|
483 |
-
value=50,
|
484 |
-
),
|
485 |
-
gr.Slider(
|
486 |
-
label="Hình phạt sự lặp lại",
|
487 |
-
minimum=1.0,
|
488 |
-
maximum=2.0,
|
489 |
-
step=0.05,
|
490 |
-
value=1.2,
|
491 |
-
),
|
492 |
-
],
|
493 |
-
stop_btn=None, # Không có nút dừng
|
494 |
-
examples=EXAMPLES, # Các ví dụ được hiển thị cho người dùng
|
495 |
-
cache_examples=False, # Không lưu bộ nhớ cache cho các ví dụ
|
496 |
-
title="🤖 OpenGPT-4o Chatbot",
|
497 |
-
description="Một trợ lý AI mạnh mẽ sử dụng mô hình Llama-3.2 cục bộ với các chức năng tìm kiếm web, tóm tắt văn bản và phân tích tâm lý.",
|
498 |
-
theme="default", # Có thể thay đổi theme để giao diện đẹp hơn
|
499 |
-
)
|
500 |
-
|
501 |
-
# Tạo giao diện chính của Gradio với CSS tùy chỉnh
|
502 |
with gr.Blocks(css="""
|
503 |
.gradio-container {
|
504 |
background-color: #f0f2f5; /* Màu nền nhẹ nhàng */
|
@@ -521,10 +479,86 @@ with gr.Blocks(css="""
|
|
521 |
}
|
522 |
""", fill_height=True) as demo:
|
523 |
gr.Markdown(DESCRIPTION) # Hiển thị mô tả
|
|
|
524 |
# Define the state for user_id
|
525 |
user_state = gr.State(None)
|
526 |
-
|
527 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
|
|
|
529 |
if __name__ == "__main__":
|
530 |
-
demo.queue(max_size=20).launch() #
|
|
|
54 |
"""
|
55 |
try:
|
56 |
dataset = load_dataset(HF_DATASET, use_auth_token=HF_TOKEN)
|
57 |
+
print("Dataset đã tồn tại trên Huggingface Hub.")
|
58 |
except Exception as e:
|
59 |
print(f"Dataset chưa tồn tại. Tạo mới Dataset: {e}")
|
60 |
# Tạo Dataset mới nếu chưa tồn tại
|
|
|
64 |
"messages": []
|
65 |
})
|
66 |
})
|
67 |
+
try:
|
68 |
+
dataset.push_to_hub(HF_DATASET, private=True, token=HF_TOKEN)
|
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 |
"""
|
|
|
94 |
updated_dataset = concatenate_datasets([dataset, new_dataset])
|
95 |
# Đẩy lên Hub
|
96 |
updated_dataset.push_to_hub(HF_DATASET, split="conversations", token=HF_TOKEN)
|
97 |
+
print(f"Cuộc hội thoại của user_id {user_id} đã được lưu.")
|
98 |
except Exception as e:
|
99 |
print(f"Lỗi khi đẩy Dataset lên Hub: {e}")
|
100 |
|
|
|
457 |
]
|
458 |
|
459 |
# Cấu hình giao diện trò chuyện của Gradio với giao diện đẹp mắt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
with gr.Blocks(css="""
|
461 |
.gradio-container {
|
462 |
background-color: #f0f2f5; /* Màu nền nhẹ nhàng */
|
|
|
479 |
}
|
480 |
""", fill_height=True) as demo:
|
481 |
gr.Markdown(DESCRIPTION) # Hiển thị mô tả
|
482 |
+
|
483 |
# Define the state for user_id
|
484 |
user_state = gr.State(None)
|
485 |
+
|
486 |
+
# Nút nhân bản không gian
|
487 |
+
gr.DuplicateButton(value="Nhân bản Không gian để sử dụng riêng tư", elem_id="duplicate-button")
|
488 |
+
|
489 |
+
# Chat Interface
|
490 |
+
with gr.Row():
|
491 |
+
chatbot = gr.Chatbot()
|
492 |
+
|
493 |
+
with gr.Row():
|
494 |
+
with gr.Column():
|
495 |
+
message = gr.Textbox(
|
496 |
+
label="Bạn:",
|
497 |
+
placeholder="Nhập tin nhắn của bạn tại đây...",
|
498 |
+
)
|
499 |
+
submit = gr.Button("Gửi")
|
500 |
+
with gr.Column():
|
501 |
+
# Các thanh trượt cho tham số
|
502 |
+
max_new_tokens = gr.Slider(
|
503 |
+
label="Số token mới tối đa",
|
504 |
+
minimum=1,
|
505 |
+
maximum=MAX_MAX_NEW_TOKENS,
|
506 |
+
step=1,
|
507 |
+
value=DEFAULT_MAX_NEW_TOKENS,
|
508 |
+
)
|
509 |
+
temperature = gr.Slider(
|
510 |
+
label="Nhiệt độ",
|
511 |
+
minimum=0.1,
|
512 |
+
maximum=4.0,
|
513 |
+
step=0.1,
|
514 |
+
value=0.6,
|
515 |
+
)
|
516 |
+
top_p = gr.Slider(
|
517 |
+
label="Top-p (nucleus sampling)",
|
518 |
+
minimum=0.05,
|
519 |
+
maximum=1.0,
|
520 |
+
step=0.05,
|
521 |
+
value=0.9,
|
522 |
+
)
|
523 |
+
top_k = gr.Slider(
|
524 |
+
label="Top-k",
|
525 |
+
minimum=1,
|
526 |
+
maximum=1000,
|
527 |
+
step=1,
|
528 |
+
value=50,
|
529 |
+
)
|
530 |
+
repetition_penalty = gr.Slider(
|
531 |
+
label="Hình phạt sự lặp lại",
|
532 |
+
minimum=1.0,
|
533 |
+
maximum=2.0,
|
534 |
+
step=0.05,
|
535 |
+
value=1.2,
|
536 |
+
)
|
537 |
+
|
538 |
+
# Kết nối nút gửi với hàm generate
|
539 |
+
submit.click(
|
540 |
+
generate,
|
541 |
+
inputs=[
|
542 |
+
message,
|
543 |
+
chatbot,
|
544 |
+
user_state,
|
545 |
+
max_new_tokens,
|
546 |
+
temperature,
|
547 |
+
top_p,
|
548 |
+
top_k,
|
549 |
+
repetition_penalty,
|
550 |
+
],
|
551 |
+
outputs=chatbot,
|
552 |
+
)
|
553 |
+
|
554 |
+
# Thêm các ví dụ
|
555 |
+
gr.Examples(
|
556 |
+
examples=EXAMPLES,
|
557 |
+
inputs=[message],
|
558 |
+
outputs=[chatbot],
|
559 |
+
fn=lambda x: x, # Function to populate the message box with the example
|
560 |
+
)
|
561 |
|
562 |
+
# Khởi chạy ứng dụng Gradio
|
563 |
if __name__ == "__main__":
|
564 |
+
demo.queue(max_size=20).launch(share=True) # Đặt share=True để tạo liên kết công khai
|