|
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() |
|
|
|
return f"""Your score is {score[khoi].iloc[0]} |
|
National Ranking: {count_all} |
|
Regional Ranking: {count_kv} |
|
Provincal Ranking: {count_tinh}""" |
|
|
|
""" |
|
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;'>National Graduation Exam Score Ranking</span> |
|
<p style='font-family: Arial, sans-serif;'>Input your ID and your combination:</p> |
|
""" |
|
) |
|
with gr.Row(): |
|
id = gr.Textbox(placeholder="Input your ID", label="", lines=1) |
|
comb = gr.Dropdown( |
|
["A00", "A01", "B00", "C00", "C03", "D01", "D07"], label="Combination", info="Will add more combinations later!" |
|
) |
|
|
|
with gr.Row(): |
|
check_button = gr.Button("Rank now!", variant="primary") |
|
|
|
out = gr.Textbox(label="OUTPUT", placeholder="", lines=2) |
|
|
|
check_button.click(fn=respond, inputs=[id,comb], outputs=out) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |