File size: 2,969 Bytes
fae2f17 4e79507 fae2f17 33c8dfc fae2f17 4e79507 fae2f17 33c8dfc fae2f17 bf7ee78 b7ca4ee bf7ee78 fae2f17 4e79507 fae2f17 4e79507 b7ca4ee 4e79507 b7ca4ee 4e79507 b7ca4ee 4e79507 b7ca4ee fae2f17 b7ca4ee 4e79507 b7ca4ee fae2f17 ef6d1f9 fae2f17 |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import gradio as gr
from huggingface_hub import InferenceClient
import pandas as pd
df = pd.read_csv("Diemthi2024_processed.csv")
def respond(
sbd, khoi
):
score = df[df['sbd'] == int(sbd)]
count_all = (df[khoi] >= score[khoi].iloc[0]).sum()
count_kv = ((df[khoi] >= score[khoi].iloc[0]) & (df['kv'] == score['kv'].iloc[0])).sum()
count_tinh = ((df[khoi] >= score[khoi].iloc[0]) & (df['tinh'] == score['tinh'].iloc[0])).sum()
count_all_noscore = (df[khoi] >= 0).sum()
count_kv_noscore = ((df[khoi] >= 0) & (df['kv'] == score['kv'].iloc[0])).sum()
count_tinh_noscore = ((df[khoi] >= 0) & (df['tinh'] == score['tinh'].iloc[0])).sum()
return f"""Tổng điểm theo khối {khoi} của bạn là: {score[khoi].iloc[0]}
Thứ hạng toàn quốc: {count_all} / {count_all_noscore}
Thứ hạng theo khu vực: {count_kv} / {count_kv_noscore}
Thứ hạng theo tỉnh: {count_tinh} / {count_tinh_noscore}""", score.iloc[:, 1:10]
"""
Chatbot
"""
with gr.Blocks() as demo:
gr.Markdown(
"""
<style>
.gr-button-secondary {
width: 100px;
height: 30px;
padding: 5px;
}
.gr-row {
display: flex;
align-items: center;
gap: 10px;
}
.gr-block {
padding: 20px;
}
.gr-markdown p {
font-size: 16px;
}
</style>
<span style='font-family: Arial, sans-serif; font-size: 20px;'>Xếp hạng điểm thi Tốt nghiệp THPT 2024</span>
<p style='font-family: Arial, sans-serif;'>Nhập số báo danh và lựa chọn tổ hợp của bạn bên dưới</p>
"""
)
with gr.Row():
id = gr.Textbox(placeholder="Nhập SBD của bạn", label="Nhập SBD của bạn:", lines=1)
comb = gr.Dropdown(
["A00","A01","A02","A03","A04","A05","A06","A07","A08","A09","A10","A11","A12","A14","A15","A16","A17","A18","B00","B01","B02","B03","B04","B05","B08","C00","C01","C02","C03","C04","C05","C06","C07","C08","C09","C10","C12","C13","C14","C15","C16","C17","C18","C19","C20","D01","D07","D08","D09","D10","D11","D12","D13","D14","D15","D66","D72","D78","D84","D90","D96"], label="Chọn tổ hợp của bạn:", info="Đang cập nhật thêm các tổ hợp..."
)
with gr.Row():
check_button = gr.Button("Tra cứu!", variant="primary")
dfShow = gr.DataFrame(label="Điểm thi", col_count=(9, "fixed"), row_count=(1, "fixed"))
out = gr.Textbox(label="Xếp hạng", placeholder="", lines=2)
check_button.click(fn=respond, inputs=[id,comb], outputs=[out,dfShow])
gr.Markdown(
"""
<p style='font-family: Arial, sans-serif;'>Bản quyền dữ liệu thuộc về Bộ Giáo dục và Đào tạo. ©️ <a href="https://ngocminhta.id.vn/">Ngoc-Minh Ta</a> 2024.</p>
"""
)
if __name__ == "__main__":
demo.launch() |