Spaces:
Running
Running
File size: 3,083 Bytes
5e8f045 87eec44 5e8f045 15cfa55 5e8f045 4a43fed 5e8f045 4a43fed 5e8f045 |
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
"""
Ko-FreshQA Leaderboard λ©μΈ μ ν리μΌμ΄μ
Gradio κΈ°λ°μ μΉ μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
"""
import os
import gradio as gr
from config import Config
from ui.leaderboard_tab import create_leaderboard_tab
from ui.submission_tab import create_submission_tab
from ui.dataset_tab import create_dataset_tab
def load_css():
"""CSS νμΌ λ‘λ"""
current_dir = os.path.dirname(os.path.abspath(__file__))
css_path = os.path.join(current_dir, 'ui', 'styles.css')
try:
with open(css_path, 'r', encoding='utf-8') as f:
return f.read()
except FileNotFoundError:
print("β οΈ CSS νμΌμ μ°Ύμ μ μμ΅λλ€: {css_path}")
raise FileNotFoundError(f"CSS νμΌμ μ°Ύμ μ μμ΅λλ€: {css_path}")
def create_interface():
"""λ©μΈ μΈν°νμ΄μ€ μμ±"""
css_content = load_css()
with gr.Blocks(
title="Ko-FreshQA Leaderboard",
theme=gr.themes.Soft()
) as app:
gr.HTML(f"<style>{css_content}</style>")
gr.Markdown("# Ko-FreshQA Leaderboard")
with gr.Tabs():
# 리λ보λ ν
with gr.Tab("π 리λ보λ"):
# β
리λ보λ μ»΄ν¬λνΈμ μλ‘κ³ μΉ¨ ν¨μ λ°μμ€κΈ°
relaxed_table, strict_table, refresh_leaderboard = create_leaderboard_tab()
# μ μΆ λ° νκ° ν
with gr.Tab("π€ μ μΆ λ° νκ°"):
create_submission_tab()
# λ°μ΄ν°μ
λ€μ΄λ‘λ ν
with gr.Tab("πΎ λ°μ΄ν°μ
"):
create_dataset_tab()
# β
μ±μ΄ λ‘λλ λλ§λ€(μ¬μ©μκ° νμ΄μ§ μ²μ μ΄ λλ§λ€) ν λ² μλμΌλ‘ μλ‘κ³ μΉ¨
app.load(
fn=refresh_leaderboard,
inputs=None,
outputs=[relaxed_table, strict_table],
)
return app
def main():
"""λ©μΈ μ€ν ν¨μ"""
print("π°π· νκ΅μ΄ FreshQA 리λ보λ μμ μ€...")
print("π 리λ보λ μ μΆμ μν΄μλ 'π€ μ μΆ λ° νκ°' νμ μ¬μ©νμΈμ.")
# νμ μ€μ κ²μ¦
try:
Config.validate_required_configs()
print("β
νμ μ€μ κ²μ¦ μλ£")
except ValueError as e:
print(f"β μ€μ μ€λ₯: {e}")
import sys
sys.exit(1)
app = create_interface()
# Hugging Face Spaces νκ²½ κ°μ§
is_huggingface_spaces = Config.IS_HUGGINGFACE_SPACES
if is_huggingface_spaces:
print("π Hugging Face Spaces νκ²½μμ μ€ν μ€...")
app.launch(
server_name="0.0.0.0",
server_port=7860,
share=False,
debug=False,
show_error=True
)
else:
print("π» λ‘컬 νκ²½μμ μ€ν μ€...")
app.launch(
server_name="127.0.0.1",
server_port=7860,
share=False,
debug=True,
show_error=True
)
if __name__ == "__main__":
main() |