Spaces:
Running
Running
| """ | |
| 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" | |
| ) 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, | |
| theme=gr.themes.Soft() | |
| ) | |
| else: | |
| print("π» λ‘컬 νκ²½μμ μ€ν μ€...") | |
| app.launch( | |
| server_name="127.0.0.1", | |
| server_port=7860, | |
| share=False, | |
| debug=True, | |
| show_error=True, | |
| theme=gr.themes.Soft() | |
| ) | |
| if __name__ == "__main__": | |
| main() |