import gradio as gr from transformers import AutoTokenizer import pandas as pd import re from datetime import datetime from huggingface_hub import HfApi, DatasetCard, DatasetCardData, create_repo from gradio_huggingfacehub_search import HuggingfaceHubSearch import os import tempfile import re # --- Configuration --- HF_TOKEN = os.getenv("HF_TOKEN") DATASET_REPO_ID = os.getenv("DATASET_REPO", "Lyte/tokenizer-leaderboard") DATASET_FILE_NAME = "leaderboard.csv" PREDEFINED_TEXT = ''' import gradio as gr from transformers import AutoTokenizer import pandas as pd import re from datetime import datetime from huggingface_hub import HfApi, DatasetCard, DatasetCardData, create_repo from gradio_huggingfacehub_search import HuggingfaceHubSearch import os import tempfile # --- Configuration --- HF_TOKEN = os.getenv("HF_TOKEN") DATASET_REPO_ID = os.getenv("DATASET_REPO", "Lyte/tokenizer-leaderboard") DATASET_FILE_NAME = "leaderboard.csv" PREDEFINED_TEXT = """ The quick brown fox jumps over 12 lazy dogs! 🐕‍🦺 Special characters: #@%^&*()_+-=[]{}|;:'",.<>/?\\~ Code samples: - Python: def hello(): print("Hello World! 2023") - HTML:
Content
- JSON: {"key": "value", "numbers": [1, 2, 3.14]} Math equations: E = mc² → 3×10⁸ m/s Multilingual text: 速い茶色の狐が怠惰な犬を飛び越える 😸 Emojis: 👍🎉🚀❤️🔥 Mixed casing: OpenAI's GPT-4 vs gpt-3.5-turbo """ WORD_COUNT = len(re.findall(r'\S+', PREDEFINED_TEXT)) LEADERBOARD_COLUMNS = [ "Model ID", "Token Count", "Vocab Size", "Tokens/Word", "Chars/Token", "Timestamp" ] # --- Hugging Face Hub Functions --- def create_huggingface_dataset(): """Creates the dataset repository on the Hub if it doesn't exist.""" try: api = HfApi(token=HF_TOKEN) create_repo(repo_id=DATASET_REPO_ID, token=HF_TOKEN, repo_type="dataset", exist_ok=True) card_data = DatasetCardData( language="en", license="mit", size_categories=["1K