from enum import Enum class Navigation(Enum): TEXT_LEADERBOARD = "Text Leaderboard" MULTIMODAL_LEADERBOARD = "Multimodal Leaderboard" class TaskCategory(Enum): LAW = "Law" CODE = "Code" CONVERSATIONAL = "Conversational" TECH = "Tech" LONG_CONTEXT = "Long-context" MULTILINGUAL = "Multilingual" class ModelProvider(Enum): OPENAI = "OpenAI" VOYAGEAI = "VoyageAI" COHERE = "Cohere" OTHERS = "Others" class EvaluationMetric(Enum): NDCG_1 = "NDCG@1" NDCG_3 = "NDCG@3" NDCG_5 = "NDCG@5" NDCG_10 = "NDCG@10" NDCG_20 = "NDCG@20" NDCG_50 = "NDCG@50" NDCG_100 = "NDCG@100" RECALL_1 = "RECALL@1" RECALL_3 = "RECALL@3" RECALL_5 = "RECALL@5" RECALL_10 = "RECALL@10" RECALL_20 = "RECALL@20" RECALL_50 = "RECALL@50" RECALL_100 = "RECALL@100" PRECISION_1 = "PRECISION@1" PRECISION_3 = "PRECISION@3" PRECISION_5 = "PRECISION@5" PRECISION_10 = "PRECISION@10" PRECISION_20 = "PRECISION@20" PRECISION_50 = "PRECISION@50" PRECISION_100 = "PRECISION@100" class EmbdDtype(Enum): ALL = "all" FLOAT_32 = "float32" INT_8 = "int8" BINARY = "binary" class EmbdDim(Enum): OP1 = "<=1k" OP2 = "1k-2k" OP3 = "2k-5k" OP4 = ">=5k" class Similarity(Enum): ALL = "all" COSINE = "cosine" DOT = "dot" EUCLIDEAN = "euclidean" LEADERBOARD_MAP = { "Text": [ "text", "law", "long-context", "finance", "conversational", "tech", "multilingual", "code", "healthcare" ], "Multimodal": [ "text-to-photo", "document-screenshot", "figures-and-tables", "text-to-text" ] }