File size: 2,523 Bytes
af2c4a4
5c2060f
7a6311a
34ef4bd
257a0e0
34ef4bd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
af2c4a4
a793a92
 
 
af2c4a4
a793a92
 
 
 
102aa00
a793a92
 
 
 
 
 
 
 
 
 
 
 
5c2060f
a793a92
 
 
 
 
 
 
c263170
d83956b
5c2060f
6d423fe
34ef4bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import gradio as gr
import call_api

chat = gr.ChatInterface(
    call_api.call_deepseek, #chat
    title="Trợ lý Học Tập AI",
    description="Nhập câu hỏi của bạn về Toán, Lý, Hóa, Văn… và nhận giải đáp chi tiết ngay lập tức!",
    additional_inputs=[
        gr.Textbox("Bạn là một chatbot tiếng Việt thân thiện.", label="System message"),
        gr.Slider(1, 2048, value=200, step=1, label="Max new tokens"),
        gr.Slider(0.1, 4.0, value=0.7, step=0.1, label="Temperature"),
        gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p (nucleus sampling)"),
        gr.Image(type="pil", label="Attach an image (optional)"),
        gr.File(label="Upload a file (optional)"),
    ],
    # examples=[
    #     # Mỗi item: [message, system_message, max_tokens, temperature, top_p]
    #     ["tích phân của x^2 từ 0 đến 2 là gì? vui lòng lập luận từng bước, và đặt kết quả cuối cùng trong \boxed{}", "bạn là nhà toán học", 100, 0.7, 0.95],
    # ],
)

# with gr.Blocks() as demo:  # Bắt đầu Blocks
#     # Thành phần hiển thị lịch sử chat
#     chatbot = gr.Chatbot(type="messages")  # hỗ trợ subset Markdown:contentReference[oaicite:3]{index=3}

#     # Thành phần Markdown để render kết quả đã format (Markdown + LaTeX)
#     markdown = gr.Markdown(
#         latex_delimiters=[{"left":"$$","right":"$$","display":True}]
#     )  # cho phép render LaTeX:contentReference[oaicite:4]{index=4}

#     # Các input controls
#     with gr.Row():
#         txt = gr.Textbox(label="Nhập câu hỏi")
#         sys_msg = gr.Textbox(value="Bạn là một chatbot tiếng Việt thân thiện.", label="System message")
#     with gr.Row():
#         max_t = gr.Slider(1, 2048, value=500, step=1, label="Max new tokens")
#         temp = gr.Slider(0.1, 4.0, value=0.7, step=0.1, label="Temperature")
#         top_p = gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p")
#     # Inputs tuỳ chọn
#     with gr.Row():
#         file_up = gr.File(label="Tải lên file (tuỳ chọn)", file_count="single")
#         img_up  = gr.Image(type="pil", label="Tải lên ảnh (tuỳ chọn)")

#     # Sự kiện submit
#     txt.submit(
#         call_api.call_deepseek,
#         inputs=[txt, chatbot, sys_msg, max_t, temp, top_p, file_up, img_up],
#         outputs=[chatbot, markdown],
#         api_name="predict"
#     )


# Chạy app
if __name__ == "__main__":
    chat.launch()