eduagarcia's picture
Adapt code to work with the Open Portuguese LLM leaderboard
9b95b87
raw
history blame
2.54 kB
import os
import time
from huggingface_hub import HfApi, HfFileSystem
import time
import pandas as pd
import threading
import gradio as gr
from gradio_space_ci import enable_space_ci
from functions import commit
enable_space_ci()
HF_TOKEN = os.getenv('HF_TOKEN')
BOT_HF_TOKEN = os.getenv('BOT_HF_TOKEN')
api = HfApi()
fs = HfFileSystem()
def refresh(how_much=3600): # default to 1 hour
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) # 10 minutes if any error happens
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()
demo.launch()