| import argparse | |
| import logging | |
| import os | |
| from mteb import MTEB | |
| from sentence_transformers import SentenceTransformer | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger("main") | |
| CLASSIFICATION_LIST = ["TNews", "IFlyTek", "MultilingualSentiment", "JDReview", "OnlineShopping", "Waimai"] | |
| STS_LIST = ["ATEC", "BQ", "LCQMC", "PAWSX", "STSB", "AFQMC", "QBQTC"] | |
| PAIRCLASSIFICATION_LIST = ["Ocnli", "Cmnli"] | |
| RERANKING_LIST = ["T2Reranking", "MmarcoReranking", "CMedQAv1", "CMedQAv2"] | |
| CLUSTERING_LIST = ["CLSClusteringS2S", "CLSClusteringP2P", "ThuNewsClusteringS2S", "ThuNewsClusteringP2P"] | |
| TASK_LIST = [CLASSIFICATION_LIST, STS_LIST, PAIRCLASSIFICATION_LIST, RERANKING_LIST, CLUSTERING_LIST] | |
| names = ['Classification', 'STS', 'Pairclassification', 'Reranking', 'Clustering'] | |
| model = SentenceTransformer('piccolo-base-zh') | |
| for name, task_list in zip(names, TASK_LIST): | |
| for task in task_list: | |
| logger.info(f"Running task: {task}") | |
| evaluation = MTEB(tasks=[task]) | |
| evaluation.run(model, output_folder=f"results/{name}") | |