File size: 2,698 Bytes
a74897e 1a014ff a74897e b787f43 b73db7d 1982aac a2723b3 2e83d59 d692eef b787f43 d692eef a2723b3 2f2f3ae d692eef 1982aac 95b7c61 2f2f3ae b787f43 2f2f3ae 1840d1a 2f2f3ae a2723b3 52101ad 9a140a8 52101ad 9a140a8 52101ad 250d5a2 52101ad 250d5a2 52101ad 1a014ff a49fcac 1a014ff a49fcac 1a014ff 5f9d5db fd99fed 5062189 10ebec1 4777797 fd99fed 44a3392 fd99fed 1982aac 2f2f3ae 1982aac |
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 |
import os
import time
os.system("wget https://raw.githubusercontent.com/Weyaxi/scrape-open-llm-leaderboard/main/openllm.py")
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=43200): # default to 12 hour
time.sleep(how_much)
try:
api.restart_space(repo_id="Weyaxi/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 LLM Leaderboard Results PR Opener"
gradio_desc= """🎯 This tool's aim is to provide [Open LLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) results in the model card.
## 💭 What Does This Tool Do:
- This tool adds the [Open LLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_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
- Special thanks to [Clémentine Fourrier (clefourrier)](https://huggingface.co/clefourrier) for her help and contributions to the code.
- Special thanks to [Lucain Pouget (Wauplin)](https://huggingface.co/Wauplin) for assisting with the [Hugging Face Hub API](https://huggingface.co/docs/huggingface_hub/v0.5.1/en/package_reference/hf_api).
"""
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)
submit_btn = gr.Button("Submit", variant="primary")
def validate_model_id(input_id, oauth_token: gr.OAuthToken):
if "mattshumer/" in input_id:
gr.Error("DON'T, DON'T SPAM THAT MODELS")
return "DON'T, DON'T SPAM THAT MODELS"
else:
return commit(input_id, oauth_token=oauth_token.token)
submit_btn.click(validate_model_id, model_id, output)
threading.Thread(target=refresh).start()
demo.launch() |