| import os |
| import time |
| from huggingface_hub import HfApi, HfFileSystem |
| import time |
| import pandas as pd |
| import threading |
| import gradio as gr |
| |
| from functions import commit |
| from pr_worker import run_pr_worker |
|
|
| |
|
|
| HF_TOKEN = os.getenv('HF_TOKEN') |
| BOT_HF_TOKEN = os.getenv('BOT_HF_TOKEN') |
|
|
|
|
| api = HfApi() |
| fs = HfFileSystem() |
|
|
| def refresh(how_much=3600): |
| time.sleep(how_much) |
| try: |
| api.restart_space(repo_id="eduagarcia-temp/portuguese-leaderboard-results-to-modelcard") |
| except Exception as e: |
| print(f"Error while scraping leaderboard, trying again... {e}") |
| refresh(600) |
|
|
| gradio_title="🧐 Open Portuguese LLM Leaderboard Results PR Opener" |
| gradio_desc= """ |
| This a fork of the [🧐 Open LLM Leaderboard Results PR Opener |
| ](https://huggingface.co/spaces/Weyaxi/leaderboard-results-to-modelcard) from [@Weyaxi](https://huggingface.co/Weyaxi) modfied to work with the [Open Portuguese LLM Leaderboard](https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard). |
| 🎯 This tool's aim is to provide [Open Portuguese LLM Leaderboard](https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard) results in the model card. |
| |
| ## 💭 What Does This Tool Do: |
| |
| - This tool adds the [Open Portuguese LLM Leaderboard](https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard) result of your model at the end of your model card. |
| |
| - This tool also adds evaluation results as your model's metadata to showcase the evaluation results as a widget. |
| |
| ## 🛠️ Backend |
| |
| The leaderboard's backend mainly runs on the [Hugging Face Hub API](https://huggingface.co/docs/huggingface_hub/v0.5.1/en/package_reference/hf_api). |
| |
| ## 🤝 Acknowledgements |
| |
| - Thanks to [Yağız Çalık (Weyaxi)](https://huggingface.co/Weyaxi) for creating the original [🧐 Open LLM Leaderboard Results PR Opener |
| ](https://huggingface.co/spaces/Weyaxi/leaderboard-results-to-modelcard) tool. |
| |
| """ |
|
|
| with gr.Blocks() as demo: |
| gr.HTML(f"""<h1 align="center" id="space-title">{gradio_title}</h1>""") |
| gr.Markdown(gradio_desc) |
|
|
| with gr.Row(equal_height=False): |
| with gr.Column(): |
| model_id = gr.Textbox(label="Model ID or URL", lines=1) |
| gr.LoginButton() |
|
|
| with gr.Column(): |
| output = gr.Textbox(label="Output", lines=1) |
| gr.LogoutButton() |
|
|
| submit_btn = gr.Button("Submit", variant="primary") |
| submit_btn.click(commit, model_id, output) |
|
|
| threading.Thread(target=refresh).start() |
| threading.Thread(target=run_pr_worker).start() |
|
|
| demo.launch() |