Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	
		Clémentine
		
	commited on
		
		
					Commit 
							
							·
						
						699e8ff
	
1
								Parent(s):
							
							6254b87
								
Adding flagging systemi, removing changelog
Browse files- app.py +2 -2
- src/assets/css_html_js.py +0 -7
- src/assets/text_content.py +3 -56
- src/auto_leaderboard/get_model_metadata.py +60 -2
- src/auto_leaderboard/load_results.py +3 -3
- src/auto_leaderboard/model_metadata_flags.py +5 -0
- src/auto_leaderboard/model_metadata_type.py +2 -48
- src/utils_display.py +14 -12
    	
        app.py
    CHANGED
    
    | @@ -82,7 +82,7 @@ def get_leaderboard_df(): | |
| 82 | 
             
                    print("Pulling evaluation results for the leaderboard.")
         | 
| 83 | 
             
                    eval_results_private.git_pull()
         | 
| 84 |  | 
| 85 | 
            -
                all_data = get_eval_results_dicts( | 
| 86 |  | 
| 87 | 
             
                if not IS_PUBLIC:
         | 
| 88 | 
             
                    all_data.append(gpt4_values)
         | 
| @@ -341,7 +341,7 @@ with demo: | |
| 341 | 
             
                                    elem_id="filter-columns"
         | 
| 342 | 
             
                                )
         | 
| 343 | 
             
                        leaderboard_table = gr.components.Dataframe(
         | 
| 344 | 
            -
                            value=leaderboard_df[[AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name] + shown_columns.value+ [AutoEvalColumn.dummy.name]],
         | 
| 345 | 
             
                            headers=[AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name] + shown_columns.value + [AutoEvalColumn.dummy.name],
         | 
| 346 | 
             
                            datatype=TYPES,
         | 
| 347 | 
             
                            max_rows=None,
         | 
|  | |
| 82 | 
             
                    print("Pulling evaluation results for the leaderboard.")
         | 
| 83 | 
             
                    eval_results_private.git_pull()
         | 
| 84 |  | 
| 85 | 
            +
                all_data = get_eval_results_dicts()
         | 
| 86 |  | 
| 87 | 
             
                if not IS_PUBLIC:
         | 
| 88 | 
             
                    all_data.append(gpt4_values)
         | 
|  | |
| 341 | 
             
                                    elem_id="filter-columns"
         | 
| 342 | 
             
                                )
         | 
| 343 | 
             
                        leaderboard_table = gr.components.Dataframe(
         | 
| 344 | 
            +
                            value=leaderboard_df[[AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name] + shown_columns.value + [AutoEvalColumn.dummy.name]],
         | 
| 345 | 
             
                            headers=[AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name] + shown_columns.value + [AutoEvalColumn.dummy.name],
         | 
| 346 | 
             
                            datatype=TYPES,
         | 
| 347 | 
             
                            max_rows=None,
         | 
    	
        src/assets/css_html_js.py
    CHANGED
    
    | @@ -1,11 +1,4 @@ | |
| 1 | 
             
            custom_css = """
         | 
| 2 | 
            -
            #changelog-text {
         | 
| 3 | 
            -
                font-size: 16px !important;
         | 
| 4 | 
            -
            }
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            #changelog-text h2 {
         | 
| 7 | 
            -
                font-size: 18px !important;
         | 
| 8 | 
            -
            }
         | 
| 9 |  | 
| 10 | 
             
            .markdown-text {
         | 
| 11 | 
             
                font-size: 16px !important;
         | 
|  | |
| 1 | 
             
            custom_css = """
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 2 |  | 
| 3 | 
             
            .markdown-text {
         | 
| 4 | 
             
                font-size: 16px !important;
         | 
    	
        src/assets/text_content.py
    CHANGED
    
    | @@ -1,61 +1,5 @@ | |
| 1 | 
             
            from ..auto_leaderboard.model_metadata_type import ModelType
         | 
| 2 |  | 
| 3 | 
            -
            CHANGELOG_TEXT = f"""
         | 
| 4 | 
            -
            ## [2023-06-19]
         | 
| 5 | 
            -
            - Added model type column
         | 
| 6 | 
            -
            - Hid revision and 8bit columns since all models are the same atm
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            ## [2023-06-16]
         | 
| 9 | 
            -
            - Refactored code base
         | 
| 10 | 
            -
            - Added new columns: number of parameters, hub likes, license
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            ## [2023-06-13] 
         | 
| 13 | 
            -
            - Adjust description for TruthfulQA
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            ## [2023-06-12] 
         | 
| 16 | 
            -
            - Add Human & GPT-4 Evaluations
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            ## [2023-06-05] 
         | 
| 19 | 
            -
            - Increase concurrent thread count to 40
         | 
| 20 | 
            -
            - Search models on ENTER
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            ## [2023-06-02] 
         | 
| 23 | 
            -
            - Add a typeahead search bar
         | 
| 24 | 
            -
            - Use webhooks to automatically spawn a new Space when someone opens a PR
         | 
| 25 | 
            -
            - Start recording `submitted_time` for eval requests
         | 
| 26 | 
            -
            - Limit AutoEvalColumn max-width
         | 
| 27 | 
            -
             | 
| 28 | 
            -
            ## [2023-05-30] 
         | 
| 29 | 
            -
            - Add a citation button
         | 
| 30 | 
            -
            - Simplify Gradio layout
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            ## [2023-05-29] 
         | 
| 33 | 
            -
            - Auto-restart every hour for the latest results
         | 
| 34 | 
            -
            - Sync with the internal version (minor style changes)
         | 
| 35 | 
            -
             | 
| 36 | 
            -
            ## [2023-05-24] 
         | 
| 37 | 
            -
            - Add a baseline that has 25.0 for all values
         | 
| 38 | 
            -
            - Add CHANGELOG
         | 
| 39 | 
            -
             | 
| 40 | 
            -
            ## [2023-05-23] 
         | 
| 41 | 
            -
            - Fix a CSS issue that made the leaderboard hard to read in dark mode
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            ## [2023-05-22] 
         | 
| 44 | 
            -
            - Display a success/error message after submitting evaluation requests
         | 
| 45 | 
            -
            - Reject duplicate submission
         | 
| 46 | 
            -
            - Do not display results that have incomplete results 
         | 
| 47 | 
            -
            - Display different queues for jobs that are RUNNING, PENDING, FINISHED status 
         | 
| 48 | 
            -
             | 
| 49 | 
            -
            ## [2023-05-15] 
         | 
| 50 | 
            -
            - Fix a typo: from "TruthQA" to "QA"
         | 
| 51 | 
            -
             | 
| 52 | 
            -
            ## [2023-05-10] 
         | 
| 53 | 
            -
            - Fix a bug that prevented auto-refresh
         | 
| 54 | 
            -
             | 
| 55 | 
            -
            ## [2023-05-10] 
         | 
| 56 | 
            -
            - Release the leaderboard to public
         | 
| 57 | 
            -
            """
         | 
| 58 | 
            -
             | 
| 59 | 
             
            TITLE = """<h1 align="center" id="space-title">🤗 Open LLM Leaderboard</h1>"""
         | 
| 60 |  | 
| 61 | 
             
            INTRODUCTION_TEXT = f"""
         | 
| @@ -81,6 +25,9 @@ With the plethora of large language models (LLMs) and chatbots being released we | |
| 81 | 
             
            {ModelType.RL.to_str(" : ")} model
         | 
| 82 | 
             
            If there is no icon, we have not uploaded the information on the model yet, feel free to open an issue with the model information!
         | 
| 83 |  | 
|  | |
|  | |
|  | |
| 84 | 
             
            ## How it works
         | 
| 85 |  | 
| 86 | 
             
            📈 We evaluate models on 4 key benchmarks using the <a href="https://github.com/EleutherAI/lm-evaluation-harness" target="_blank">  Eleuther AI Language Model Evaluation Harness </a>, a unified framework to test generative language models on a large number of different evaluation tasks. 
         | 
|  | |
| 1 | 
             
            from ..auto_leaderboard.model_metadata_type import ModelType
         | 
| 2 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 3 | 
             
            TITLE = """<h1 align="center" id="space-title">🤗 Open LLM Leaderboard</h1>"""
         | 
| 4 |  | 
| 5 | 
             
            INTRODUCTION_TEXT = f"""
         | 
|  | |
| 25 | 
             
            {ModelType.RL.to_str(" : ")} model
         | 
| 26 | 
             
            If there is no icon, we have not uploaded the information on the model yet, feel free to open an issue with the model information!
         | 
| 27 |  | 
| 28 | 
            +
            🏴☠️ indicates that this model has been flagged by the community, and should probably be ignored! Clicking the icon will redirect you to the discussion about the model.
         | 
| 29 | 
            +
            (For ex, the model was trained on the evaluation data, and is therefore cheating on the leaderboard.)
         | 
| 30 | 
            +
             | 
| 31 | 
             
            ## How it works
         | 
| 32 |  | 
| 33 | 
             
            📈 We evaluate models on 4 key benchmarks using the <a href="https://github.com/EleutherAI/lm-evaluation-harness" target="_blank">  Eleuther AI Language Model Evaluation Harness </a>, a unified framework to test generative language models on a large number of different evaluation tasks. 
         | 
    	
        src/auto_leaderboard/get_model_metadata.py
    CHANGED
    
    | @@ -1,10 +1,14 @@ | |
| 1 | 
             
            import re
         | 
| 2 | 
             
            import os
         | 
|  | |
|  | |
|  | |
| 3 | 
             
            from typing import List
         | 
| 4 | 
             
            from tqdm import tqdm
         | 
| 5 |  | 
| 6 | 
            -
            from src.utils_display import AutoEvalColumn
         | 
| 7 | 
            -
            from src.auto_leaderboard.model_metadata_type import  | 
|  | |
| 8 |  | 
| 9 | 
             
            from huggingface_hub import HfApi
         | 
| 10 | 
             
            import huggingface_hub
         | 
| @@ -52,6 +56,60 @@ def get_model_size(model_name, model_info): | |
| 52 | 
             
                        return None
         | 
| 53 |  | 
| 54 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 55 | 
             
            def apply_metadata(leaderboard_data: List[dict]):
         | 
| 56 | 
             
                get_model_type(leaderboard_data)
         | 
| 57 | 
             
                get_model_infos_from_hub(leaderboard_data)
         | 
|  | 
|  | |
| 1 | 
             
            import re
         | 
| 2 | 
             
            import os
         | 
| 3 | 
            +
            import glob
         | 
| 4 | 
            +
            import json
         | 
| 5 | 
            +
            import os
         | 
| 6 | 
             
            from typing import List
         | 
| 7 | 
             
            from tqdm import tqdm
         | 
| 8 |  | 
| 9 | 
            +
            from src.utils_display import AutoEvalColumn, model_hyperlink
         | 
| 10 | 
            +
            from src.auto_leaderboard.model_metadata_type import ModelType, model_type_from_str, MODEL_TYPE_METADATA
         | 
| 11 | 
            +
            from src.auto_leaderboard.model_metadata_flags import FLAGGED_MODELS
         | 
| 12 |  | 
| 13 | 
             
            from huggingface_hub import HfApi
         | 
| 14 | 
             
            import huggingface_hub
         | 
|  | |
| 56 | 
             
                        return None
         | 
| 57 |  | 
| 58 |  | 
| 59 | 
            +
            def get_model_type(leaderboard_data: List[dict]):
         | 
| 60 | 
            +
                for model_data in leaderboard_data:
         | 
| 61 | 
            +
                    request_files = os.path.join("eval-queue", model_data["model_name_for_query"] + "_eval_request_*" + ".json")
         | 
| 62 | 
            +
                    request_files = glob.glob(request_files)
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                    # Select correct request file (precision)
         | 
| 65 | 
            +
                    request_file = ""
         | 
| 66 | 
            +
                    if len(request_files) == 1:
         | 
| 67 | 
            +
                        request_file = request_files[0]
         | 
| 68 | 
            +
                    elif len(request_files) > 1:
         | 
| 69 | 
            +
                        request_files = sorted(request_files, reverse=True)
         | 
| 70 | 
            +
                        for tmp_request_file in request_files:
         | 
| 71 | 
            +
                            with open(tmp_request_file, "r") as f:
         | 
| 72 | 
            +
                                req_content = json.load(f)
         | 
| 73 | 
            +
                                if req_content["status"] == "FINISHED" and req_content["precision"] == model_data["Precision"].split(".")[-1]: 
         | 
| 74 | 
            +
                                    request_file = tmp_request_file
         | 
| 75 | 
            +
                    
         | 
| 76 | 
            +
                    if request_file == "":
         | 
| 77 | 
            +
                        model_data[AutoEvalColumn.model_type.name] = ""
         | 
| 78 | 
            +
                        model_data[AutoEvalColumn.model_type_symbol.name] = ""
         | 
| 79 | 
            +
                        continue
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                    try:
         | 
| 82 | 
            +
                        with open(request_file, "r") as f:
         | 
| 83 | 
            +
                            request = json.load(f)
         | 
| 84 | 
            +
                        is_delta = request["weight_type"] != "Original"
         | 
| 85 | 
            +
                    except Exception:
         | 
| 86 | 
            +
                        is_delta = False
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                    try:
         | 
| 89 | 
            +
                        with open(request_file, "r") as f:
         | 
| 90 | 
            +
                            request = json.load(f)
         | 
| 91 | 
            +
                        model_type = model_type_from_str(request["model_type"])
         | 
| 92 | 
            +
                        model_data[AutoEvalColumn.model_type.name] = model_type.value.name
         | 
| 93 | 
            +
                        model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol #+ ("🔺" if is_delta else "")
         | 
| 94 | 
            +
                    except KeyError:
         | 
| 95 | 
            +
                        if model_data["model_name_for_query"] in MODEL_TYPE_METADATA:
         | 
| 96 | 
            +
                            model_data[AutoEvalColumn.model_type.name] = MODEL_TYPE_METADATA[model_data["model_name_for_query"]].value.name
         | 
| 97 | 
            +
                            model_data[AutoEvalColumn.model_type_symbol.name] = MODEL_TYPE_METADATA[model_data["model_name_for_query"]].value.symbol #+ ("🔺" if is_delta else "")
         | 
| 98 | 
            +
                        else:
         | 
| 99 | 
            +
                            model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
         | 
| 100 | 
            +
                            model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
         | 
| 101 | 
            +
             | 
| 102 | 
            +
            def flag_models(leaderboard_data:List[dict]):
         | 
| 103 | 
            +
                flag_symbol = "💀"
         | 
| 104 | 
            +
                for model_data in leaderboard_data:
         | 
| 105 | 
            +
                    if model_data["model_name_for_query"] in FLAGGED_MODELS:
         | 
| 106 | 
            +
                        issue_num = FLAGGED_MODELS[model_data["model_name_for_query"]].split("/")[-1]
         | 
| 107 | 
            +
                        issue_link = model_hyperlink(FLAGGED_MODELS[model_data["model_name_for_query"]], f"See discussion #{issue_num}")
         | 
| 108 | 
            +
             | 
| 109 | 
            +
                        model_data[AutoEvalColumn.model_type_symbol.name] = flag_symbol
         | 
| 110 | 
            +
                        model_data[AutoEvalColumn.model.name] =  f"{model_data[AutoEvalColumn.model.name]} has been flagged! {issue_link}"
         | 
| 111 | 
            +
             | 
| 112 | 
             
            def apply_metadata(leaderboard_data: List[dict]):
         | 
| 113 | 
             
                get_model_type(leaderboard_data)
         | 
| 114 | 
             
                get_model_infos_from_hub(leaderboard_data)
         | 
| 115 | 
            +
                flag_models(leaderboard_data)
         | 
    	
        src/auto_leaderboard/load_results.py
    CHANGED
    
    | @@ -102,7 +102,7 @@ def parse_eval_result(json_filepath: str) -> Tuple[str, list[dict]]: | |
| 102 | 
             
                return result_key, eval_results
         | 
| 103 |  | 
| 104 |  | 
| 105 | 
            -
            def get_eval_results( | 
| 106 | 
             
                json_filepaths = []
         | 
| 107 |  | 
| 108 | 
             
                for root, dir, files in os.walk("eval-results"):
         | 
| @@ -135,7 +135,7 @@ def get_eval_results(is_public) -> List[EvalResult]: | |
| 135 | 
             
                return eval_results
         | 
| 136 |  | 
| 137 |  | 
| 138 | 
            -
            def get_eval_results_dicts( | 
| 139 | 
            -
                eval_results = get_eval_results( | 
| 140 |  | 
| 141 | 
             
                return [e.to_dict() for e in eval_results]
         | 
|  | |
| 102 | 
             
                return result_key, eval_results
         | 
| 103 |  | 
| 104 |  | 
| 105 | 
            +
            def get_eval_results() -> List[EvalResult]:
         | 
| 106 | 
             
                json_filepaths = []
         | 
| 107 |  | 
| 108 | 
             
                for root, dir, files in os.walk("eval-results"):
         | 
|  | |
| 135 | 
             
                return eval_results
         | 
| 136 |  | 
| 137 |  | 
| 138 | 
            +
            def get_eval_results_dicts() -> List[Dict]:
         | 
| 139 | 
            +
                eval_results = get_eval_results()
         | 
| 140 |  | 
| 141 | 
             
                return [e.to_dict() for e in eval_results]
         | 
    	
        src/auto_leaderboard/model_metadata_flags.py
    ADDED
    
    | @@ -0,0 +1,5 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            # Model name to forum discussion id
         | 
| 2 | 
            +
            FLAGGED_MODELS = {
         | 
| 3 | 
            +
                "Voicelab/trurl-2-13b": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/202",
         | 
| 4 | 
            +
                "deepnight-research/llama-2-70B-inst": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/207"
         | 
| 5 | 
            +
            }
         | 
    	
        src/auto_leaderboard/model_metadata_type.py
    CHANGED
    
    | @@ -1,11 +1,7 @@ | |
| 1 | 
             
            from dataclasses import dataclass
         | 
| 2 | 
             
            from enum import Enum
         | 
| 3 | 
            -
            import  | 
| 4 | 
            -
            import json
         | 
| 5 | 
            -
            import os
         | 
| 6 | 
            -
            from typing import Dict, List
         | 
| 7 |  | 
| 8 | 
            -
            from ..utils_display import AutoEvalColumn
         | 
| 9 |  | 
| 10 | 
             
            @dataclass
         | 
| 11 | 
             
            class ModelInfo:
         | 
| @@ -24,7 +20,7 @@ class ModelType(Enum): | |
| 24 | 
             
                    return f"{self.value.symbol}{separator}{self.value.name}" 
         | 
| 25 |  | 
| 26 |  | 
| 27 | 
            -
             | 
| 28 | 
             
                'notstoic/PygmalionCoT-7b': ModelType.IFT,
         | 
| 29 | 
             
                'aisquared/dlite-v1-355m': ModelType.IFT,
         | 
| 30 | 
             
                'aisquared/dlite-v1-1_5b': ModelType.IFT,
         | 
| @@ -553,45 +549,3 @@ def model_type_from_str(type): | |
| 553 | 
             
                    return ModelType.IFT
         | 
| 554 | 
             
                return ModelType.Unknown
         | 
| 555 |  | 
| 556 | 
            -
             | 
| 557 | 
            -
            def get_model_type(leaderboard_data: List[dict]):
         | 
| 558 | 
            -
                for model_data in leaderboard_data:
         | 
| 559 | 
            -
                    request_files = os.path.join("eval-queue", model_data["model_name_for_query"] + "_eval_request_*" + ".json")
         | 
| 560 | 
            -
                    request_files = glob.glob(request_files)
         | 
| 561 | 
            -
             | 
| 562 | 
            -
                    request_file = ""
         | 
| 563 | 
            -
                    if len(request_files) == 1:
         | 
| 564 | 
            -
                        request_file = request_files[0]
         | 
| 565 | 
            -
                    elif len(request_files) > 1:
         | 
| 566 | 
            -
                        request_files = sorted(request_files, reverse=True)
         | 
| 567 | 
            -
                        for tmp_request_file in request_files:
         | 
| 568 | 
            -
                            with open(tmp_request_file, "r") as f:
         | 
| 569 | 
            -
                                req_content = json.load(f)
         | 
| 570 | 
            -
                                if req_content["status"] == "FINISHED" and req_content["precision"] == model_data["Precision"].split(".")[-1]: 
         | 
| 571 | 
            -
                                    request_file = tmp_request_file
         | 
| 572 | 
            -
                    
         | 
| 573 | 
            -
                    if request_file == "":
         | 
| 574 | 
            -
                        model_data[AutoEvalColumn.model_type.name] = ""
         | 
| 575 | 
            -
                        model_data[AutoEvalColumn.model_type_symbol.name] = ""
         | 
| 576 | 
            -
                        continue
         | 
| 577 | 
            -
             | 
| 578 | 
            -
                    try:
         | 
| 579 | 
            -
                        with open(request_file, "r") as f:
         | 
| 580 | 
            -
                            request = json.load(f)
         | 
| 581 | 
            -
                        is_delta = request["weight_type"] != "Original"
         | 
| 582 | 
            -
                    except Exception:
         | 
| 583 | 
            -
                        is_delta = False
         | 
| 584 | 
            -
             | 
| 585 | 
            -
                    try:
         | 
| 586 | 
            -
                        with open(request_file, "r") as f:
         | 
| 587 | 
            -
                            request = json.load(f)
         | 
| 588 | 
            -
                        model_type = model_type_from_str(request["model_type"])
         | 
| 589 | 
            -
                        model_data[AutoEvalColumn.model_type.name] = model_type.value.name
         | 
| 590 | 
            -
                        model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol #+ ("🔺" if is_delta else "")
         | 
| 591 | 
            -
                    except KeyError:
         | 
| 592 | 
            -
                        if model_data["model_name_for_query"] in TYPE_METADATA:
         | 
| 593 | 
            -
                            model_data[AutoEvalColumn.model_type.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.name
         | 
| 594 | 
            -
                            model_data[AutoEvalColumn.model_type_symbol.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.symbol #+ ("🔺" if is_delta else "")
         | 
| 595 | 
            -
                        else:
         | 
| 596 | 
            -
                            model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
         | 
| 597 | 
            -
                            model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
         | 
|  | |
| 1 | 
             
            from dataclasses import dataclass
         | 
| 2 | 
             
            from enum import Enum
         | 
| 3 | 
            +
            from typing import Dict
         | 
|  | |
|  | |
|  | |
| 4 |  | 
|  | |
| 5 |  | 
| 6 | 
             
            @dataclass
         | 
| 7 | 
             
            class ModelInfo:
         | 
|  | |
| 20 | 
             
                    return f"{self.value.symbol}{separator}{self.value.name}" 
         | 
| 21 |  | 
| 22 |  | 
| 23 | 
            +
            MODEL_TYPE_METADATA: Dict[str, ModelType] = {
         | 
| 24 | 
             
                'notstoic/PygmalionCoT-7b': ModelType.IFT,
         | 
| 25 | 
             
                'aisquared/dlite-v1-355m': ModelType.IFT,
         | 
| 26 | 
             
                'aisquared/dlite-v1-1_5b': ModelType.IFT,
         | 
|  | |
| 549 | 
             
                    return ModelType.IFT
         | 
| 550 | 
             
                return ModelType.Unknown
         | 
| 551 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
    	
        src/utils_display.py
    CHANGED
    
    | @@ -89,20 +89,22 @@ def make_clickable_model(model_name): | |
| 89 | 
             
                    link = KOALA_LINK
         | 
| 90 | 
             
                elif model_name == "oasst-12b":
         | 
| 91 | 
             
                    link = OASST_LINK
         | 
| 92 | 
            -
             | 
| 93 | 
            -
                #    link = MODEL_PAGE
         | 
| 94 | 
             
                details_model_name = model_name.replace('/', '__')
         | 
| 95 | 
             
                details_link = f"https://huggingface.co/datasets/open-llm-leaderboard/details_{details_model_name}"
         | 
| 96 | 
            -
             | 
| 97 | 
            -
                 | 
| 98 | 
            -
                     | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
                     | 
|  | |
|  | |
|  | |
| 106 |  | 
| 107 | 
             
                return model_hyperlink(link, model_name) + '  ' + model_hyperlink(details_link, "📑")
         | 
| 108 |  | 
|  | |
| 89 | 
             
                    link = KOALA_LINK
         | 
| 90 | 
             
                elif model_name == "oasst-12b":
         | 
| 91 | 
             
                    link = OASST_LINK
         | 
| 92 | 
            +
             | 
|  | |
| 93 | 
             
                details_model_name = model_name.replace('/', '__')
         | 
| 94 | 
             
                details_link = f"https://huggingface.co/datasets/open-llm-leaderboard/details_{details_model_name}"
         | 
| 95 | 
            +
             | 
| 96 | 
            +
                if not bool(os.getenv("DEBUG", "False")):
         | 
| 97 | 
            +
                    # We only add these checks when not debugging, as they are extremely slow
         | 
| 98 | 
            +
                    print(f"details_link: {details_link}")
         | 
| 99 | 
            +
                    try:
         | 
| 100 | 
            +
                        check_path = list(API.list_files_info(repo_id=f"open-llm-leaderboard/details_{details_model_name}",
         | 
| 101 | 
            +
                                                            paths="README.md",
         | 
| 102 | 
            +
                                                            repo_type="dataset"))
         | 
| 103 | 
            +
                        print(f"check_path: {check_path}")
         | 
| 104 | 
            +
                    except Exception as err:
         | 
| 105 | 
            +
                        # No details repo for this model
         | 
| 106 | 
            +
                        print(f"No details repo for this model: {err}")
         | 
| 107 | 
            +
                        return model_hyperlink(link, model_name)
         | 
| 108 |  | 
| 109 | 
             
                return model_hyperlink(link, model_name) + '  ' + model_hyperlink(details_link, "📑")
         | 
| 110 |  | 
 
			
