evalscope 0.10.0__py3-none-any.whl → 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- evalscope/__init__.py +4 -1
- evalscope/api/benchmark/__init__.py +11 -0
- evalscope/api/benchmark/adapters/__init__.py +7 -0
- evalscope/api/benchmark/adapters/agent_adapter.py +8 -0
- evalscope/api/benchmark/adapters/default_data_adapter.py +754 -0
- evalscope/api/benchmark/adapters/image_edit_adapter.py +82 -0
- evalscope/api/benchmark/adapters/multi_choice_adapter.py +86 -0
- evalscope/api/benchmark/adapters/ner_adapter.py +212 -0
- evalscope/api/benchmark/adapters/text2image_adapter.py +157 -0
- evalscope/api/benchmark/adapters/vision_language_adapter.py +8 -0
- evalscope/api/benchmark/benchmark.py +404 -0
- evalscope/api/benchmark/meta.py +124 -0
- evalscope/api/dataset/__init__.py +2 -0
- evalscope/api/dataset/dataset.py +370 -0
- evalscope/api/dataset/loader.py +266 -0
- evalscope/api/dataset/utils.py +143 -0
- evalscope/api/evaluator/__init__.py +3 -0
- evalscope/api/evaluator/cache.py +382 -0
- evalscope/api/evaluator/evaluator.py +61 -0
- evalscope/api/evaluator/state.py +280 -0
- evalscope/api/filter/__init__.py +1 -0
- evalscope/api/filter/filter.py +72 -0
- evalscope/api/messages/__init__.py +12 -0
- evalscope/api/messages/chat_message.py +248 -0
- evalscope/api/messages/content.py +102 -0
- evalscope/api/messages/utils.py +35 -0
- evalscope/api/metric/__init__.py +2 -0
- evalscope/api/metric/metric.py +60 -0
- evalscope/api/metric/scorer.py +113 -0
- evalscope/api/mixin/__init__.py +2 -0
- evalscope/api/mixin/llm_judge_mixin.py +170 -0
- evalscope/api/mixin/sandbox_mixin.py +182 -0
- evalscope/api/model/__init__.py +12 -0
- evalscope/api/model/generate_config.py +161 -0
- evalscope/api/model/model.py +386 -0
- evalscope/api/model/model_output.py +285 -0
- evalscope/api/registry.py +182 -0
- evalscope/api/tool/__init__.py +3 -0
- evalscope/api/tool/tool_call.py +101 -0
- evalscope/api/tool/tool_info.py +173 -0
- evalscope/api/tool/utils.py +64 -0
- evalscope/app/__init__.py +28 -0
- evalscope/app/app.py +38 -0
- evalscope/app/arguments.py +11 -0
- evalscope/app/constants.py +22 -0
- evalscope/app/ui/__init__.py +20 -0
- evalscope/app/ui/app_ui.py +53 -0
- evalscope/app/ui/multi_model.py +353 -0
- evalscope/app/ui/sidebar.py +42 -0
- evalscope/app/ui/single_model.py +220 -0
- evalscope/app/ui/visualization.py +36 -0
- evalscope/app/utils/data_utils.py +195 -0
- evalscope/app/utils/env_utils.py +12 -0
- evalscope/app/utils/localization.py +221 -0
- evalscope/app/utils/text_utils.py +119 -0
- evalscope/app/utils/visualization.py +96 -0
- evalscope/arguments.py +32 -9
- evalscope/backend/opencompass/api_meta_template.py +2 -1
- evalscope/backend/opencompass/backend_manager.py +10 -7
- evalscope/backend/rag_eval/__init__.py +1 -1
- evalscope/backend/rag_eval/backend_manager.py +23 -6
- evalscope/backend/rag_eval/clip_benchmark/dataset_builder.py +33 -21
- evalscope/backend/rag_eval/clip_benchmark/task_template.py +8 -4
- evalscope/backend/rag_eval/cmteb/arguments.py +14 -1
- evalscope/backend/rag_eval/cmteb/task_template.py +19 -3
- evalscope/backend/rag_eval/cmteb/tasks/CustomTask.py +1 -1
- evalscope/backend/rag_eval/ragas/arguments.py +0 -1
- evalscope/backend/rag_eval/ragas/task_template.py +2 -1
- evalscope/backend/rag_eval/ragas/tasks/build_distribution.py +2 -1
- evalscope/backend/rag_eval/ragas/tasks/build_transform.py +7 -4
- evalscope/backend/rag_eval/ragas/tasks/testset_generation.py +9 -3
- evalscope/backend/rag_eval/ragas/tasks/translate_prompt.py +2 -6
- evalscope/backend/rag_eval/utils/embedding.py +125 -32
- evalscope/backend/rag_eval/utils/llm.py +16 -16
- evalscope/backend/vlm_eval_kit/backend_manager.py +8 -3
- evalscope/benchmarks/__init__.py +17 -5
- evalscope/benchmarks/aa_lcr/__init__.py +0 -0
- evalscope/benchmarks/aa_lcr/aa_lcr_adapter.py +205 -0
- evalscope/benchmarks/ai2d/__init__.py +0 -0
- evalscope/benchmarks/ai2d/ai2d_adapter.py +54 -0
- evalscope/benchmarks/aime/__init__.py +0 -0
- evalscope/benchmarks/aime/aime24_adapter.py +55 -0
- evalscope/benchmarks/aime/aime25_adapter.py +181 -0
- evalscope/benchmarks/aime/grader.py +307 -0
- evalscope/{metrics/math_accuracy.py → benchmarks/aime/math_normalize.py} +61 -72
- evalscope/benchmarks/alpaca_eval/__init__.py +0 -0
- evalscope/benchmarks/alpaca_eval/alpaca_eval_adapter.py +133 -0
- evalscope/benchmarks/amc/__init__.py +0 -0
- evalscope/benchmarks/amc/amc_adapter.py +51 -0
- evalscope/benchmarks/arc/arc_adapter.py +34 -149
- evalscope/benchmarks/arena_hard/__init__.py +0 -0
- evalscope/benchmarks/arena_hard/arena_hard_adapter.py +149 -0
- evalscope/benchmarks/arena_hard/utils.py +186 -0
- evalscope/benchmarks/bbh/bbh_adapter.py +117 -157
- evalscope/benchmarks/bfcl/__init__.py +0 -0
- evalscope/benchmarks/bfcl/v3/__init__.py +0 -0
- evalscope/benchmarks/bfcl/v3/bfcl_v3_adapter.py +370 -0
- evalscope/benchmarks/bfcl/v3/generation.py +222 -0
- evalscope/benchmarks/bfcl/v3/utils.py +23 -0
- evalscope/benchmarks/bfcl/v4/__init__.py +0 -0
- evalscope/benchmarks/bfcl/v4/bfcl_v4_adapter.py +229 -0
- evalscope/benchmarks/bfcl/v4/utils.py +410 -0
- evalscope/benchmarks/biomix_qa/__init__.py +0 -0
- evalscope/benchmarks/biomix_qa/biomix_qa_adapter.py +36 -0
- evalscope/benchmarks/blink/__init__.py +0 -0
- evalscope/benchmarks/blink/blink_adapter.py +61 -0
- evalscope/benchmarks/ceval/ceval_adapter.py +93 -174
- evalscope/benchmarks/chartqa/__init__.py +0 -0
- evalscope/benchmarks/chartqa/chartqa_adapter.py +80 -0
- evalscope/benchmarks/chartqa/utils.py +38 -0
- evalscope/benchmarks/chinese_simple_qa/__init__.py +0 -0
- evalscope/benchmarks/chinese_simple_qa/csimple_qa_adapter.py +170 -0
- evalscope/benchmarks/cmmlu/cmmlu_adapter.py +34 -140
- evalscope/benchmarks/coin_flip/__init__.py +0 -0
- evalscope/benchmarks/coin_flip/coin_flip_adapter.py +128 -0
- evalscope/benchmarks/commonsense_qa/__init__.py +0 -0
- evalscope/benchmarks/commonsense_qa/commonsense_qa_adapter.py +32 -0
- evalscope/benchmarks/competition_math/competition_math_adapter.py +64 -112
- evalscope/benchmarks/data_collection/__init__.py +0 -0
- evalscope/benchmarks/data_collection/data_collection_adapter.py +215 -0
- evalscope/benchmarks/docmath/__init__.py +0 -0
- evalscope/benchmarks/docmath/docmath_adapter.py +143 -0
- evalscope/benchmarks/docmath/utils.py +219 -0
- evalscope/benchmarks/docvqa/__init__.py +0 -0
- evalscope/benchmarks/docvqa/docvqa_adapter.py +67 -0
- evalscope/benchmarks/drivelology/__init__.py +0 -0
- evalscope/benchmarks/drivelology/drivelology_binary_adapter.py +170 -0
- evalscope/benchmarks/drivelology/drivelology_multilabel_adapter.py +254 -0
- evalscope/benchmarks/drivelology/drivelology_selection_adapter.py +49 -0
- evalscope/benchmarks/drivelology/drivelology_writing_adapter.py +218 -0
- evalscope/benchmarks/drop/__init__.py +0 -0
- evalscope/benchmarks/drop/drop_adapter.py +155 -0
- evalscope/benchmarks/drop/utils.py +156 -0
- evalscope/benchmarks/frames/__init__.py +0 -0
- evalscope/benchmarks/frames/frames_adapter.py +175 -0
- evalscope/benchmarks/frames/utils.py +37 -0
- evalscope/benchmarks/general_arena/__init__.py +0 -0
- evalscope/benchmarks/general_arena/general_arena_adapter.py +454 -0
- evalscope/benchmarks/general_arena/utils.py +223 -0
- evalscope/benchmarks/general_mcq/__init__.py +0 -0
- evalscope/benchmarks/general_mcq/general_mcq_adapter.py +58 -0
- evalscope/benchmarks/general_qa/general_qa_adapter.py +75 -107
- evalscope/benchmarks/gpqa/__init__.py +0 -0
- evalscope/benchmarks/gpqa/gpqa_adapter.py +90 -0
- evalscope/benchmarks/gpqa/prompt.py +88 -0
- evalscope/benchmarks/gsm8k/gsm8k_adapter.py +77 -144
- evalscope/benchmarks/hallusion_bench/__init__.py +0 -0
- evalscope/benchmarks/hallusion_bench/hallusion_bench_adapter.py +159 -0
- evalscope/benchmarks/halu_eval/__init__.py +0 -0
- evalscope/benchmarks/halu_eval/halu_eval_adapter.py +128 -0
- evalscope/benchmarks/halu_eval/halu_eval_instructions.py +84 -0
- evalscope/benchmarks/healthbench/__init__.py +0 -0
- evalscope/benchmarks/healthbench/healthbench_adapter.py +282 -0
- evalscope/benchmarks/healthbench/utils.py +102 -0
- evalscope/benchmarks/hellaswag/hellaswag_adapter.py +36 -134
- evalscope/benchmarks/hle/__init__.py +0 -0
- evalscope/benchmarks/hle/hle_adapter.py +153 -0
- evalscope/benchmarks/humaneval/humaneval_adapter.py +80 -88
- evalscope/benchmarks/humaneval/utils.py +235 -0
- evalscope/benchmarks/ifeval/ifeval_adapter.py +71 -45
- evalscope/benchmarks/ifeval/instructions.py +112 -68
- evalscope/benchmarks/ifeval/instructions_registry.py +1 -1
- evalscope/benchmarks/ifeval/instructions_util.py +2 -3
- evalscope/benchmarks/ifeval/utils.py +6 -7
- evalscope/benchmarks/image_edit/__init__.py +0 -0
- evalscope/benchmarks/image_edit/gedit/__init__.py +0 -0
- evalscope/benchmarks/image_edit/gedit/gedit_adapter.py +138 -0
- evalscope/benchmarks/image_edit/gedit/utils.py +372 -0
- evalscope/benchmarks/image_edit/gedit/vie_prompts.py +406 -0
- evalscope/benchmarks/infovqa/__init__.py +0 -0
- evalscope/benchmarks/infovqa/infovqa_adapter.py +66 -0
- evalscope/benchmarks/iquiz/iquiz_adapter.py +30 -58
- evalscope/benchmarks/live_code_bench/__init__.py +0 -0
- evalscope/benchmarks/live_code_bench/evaluate_utils.py +195 -0
- evalscope/benchmarks/live_code_bench/extract_utils.py +70 -0
- evalscope/benchmarks/live_code_bench/live_code_bench_adapter.py +150 -0
- evalscope/benchmarks/live_code_bench/load_utils.py +63 -0
- evalscope/benchmarks/live_code_bench/pass_k_utils.py +56 -0
- evalscope/benchmarks/live_code_bench/prompts.py +207 -0
- evalscope/benchmarks/live_code_bench/sandbox_evaluate_utils.py +220 -0
- evalscope/benchmarks/live_code_bench/testing_util.py +544 -0
- evalscope/benchmarks/logi_qa/__int__.py +0 -0
- evalscope/benchmarks/logi_qa/logi_qa_adapter.py +41 -0
- evalscope/benchmarks/maritime_bench/__init__.py +0 -0
- evalscope/benchmarks/maritime_bench/maritime_bench_adapter.py +56 -0
- evalscope/benchmarks/math_500/__init__.py +0 -0
- evalscope/benchmarks/math_500/math_500_adapter.py +55 -0
- evalscope/benchmarks/math_qa/__init__.py +0 -0
- evalscope/benchmarks/math_qa/math_qa_adapter.py +35 -0
- evalscope/benchmarks/math_verse/__init__.py +0 -0
- evalscope/benchmarks/math_verse/math_verse_adapter.py +105 -0
- evalscope/benchmarks/math_vision/__init__.py +0 -0
- evalscope/benchmarks/math_vision/math_vision_adapter.py +116 -0
- evalscope/benchmarks/math_vista/__init__.py +0 -0
- evalscope/benchmarks/math_vista/math_vista_adapter.py +114 -0
- evalscope/benchmarks/med_mcqa/__init__.py +0 -0
- evalscope/benchmarks/med_mcqa/med_mcqa_adapter.py +32 -0
- evalscope/benchmarks/minerva_math/__init__.py +0 -0
- evalscope/benchmarks/minerva_math/minerva_math_adapter.py +53 -0
- evalscope/benchmarks/mm_bench/__init__.py +0 -0
- evalscope/benchmarks/mm_bench/mm_bench_adapter.py +99 -0
- evalscope/benchmarks/mm_star/__init__.py +0 -0
- evalscope/benchmarks/mm_star/mm_star_adapter.py +73 -0
- evalscope/benchmarks/mmlu/mmlu_adapter.py +32 -210
- evalscope/benchmarks/mmlu_pro/mmlu_pro_adapter.py +87 -103
- evalscope/benchmarks/mmlu_redux/__init__.py +0 -0
- evalscope/benchmarks/mmlu_redux/mmlu_redux_adapter.py +139 -0
- evalscope/benchmarks/mmmu/__init__.py +0 -0
- evalscope/benchmarks/mmmu/mmmu_adapter.py +159 -0
- evalscope/benchmarks/mmmu_pro/__init__.py +0 -0
- evalscope/benchmarks/mmmu_pro/mmmu_pro_adapter.py +124 -0
- evalscope/benchmarks/mri_mcqa/__init__.py +0 -0
- evalscope/benchmarks/mri_mcqa/mri_mcqa_adapter.py +34 -0
- evalscope/benchmarks/multi_if/__init__.py +0 -0
- evalscope/benchmarks/multi_if/ifeval.py +3354 -0
- evalscope/benchmarks/multi_if/metrics.py +120 -0
- evalscope/benchmarks/multi_if/multi_if_adapter.py +161 -0
- evalscope/benchmarks/music_trivia/__init__.py +0 -0
- evalscope/benchmarks/music_trivia/music_trivia_adapter.py +36 -0
- evalscope/benchmarks/musr/__init__.py +0 -0
- evalscope/benchmarks/musr/musr_adapter.py +43 -0
- evalscope/benchmarks/needle_haystack/__init__.py +0 -0
- evalscope/benchmarks/needle_haystack/needle_haystack_adapter.py +389 -0
- evalscope/benchmarks/needle_haystack/utils.py +79 -0
- evalscope/benchmarks/ner/__init__.py +0 -0
- evalscope/benchmarks/ner/broad_twitter_corpus_adapter.py +52 -0
- evalscope/benchmarks/ner/conll2003_adapter.py +48 -0
- evalscope/benchmarks/ner/copious_adapter.py +85 -0
- evalscope/benchmarks/ner/cross_ner_adapter.py +120 -0
- evalscope/benchmarks/ner/cross_ner_entities/__init__.py +0 -0
- evalscope/benchmarks/ner/cross_ner_entities/ai.py +54 -0
- evalscope/benchmarks/ner/cross_ner_entities/literature.py +36 -0
- evalscope/benchmarks/ner/cross_ner_entities/music.py +39 -0
- evalscope/benchmarks/ner/cross_ner_entities/politics.py +37 -0
- evalscope/benchmarks/ner/cross_ner_entities/science.py +58 -0
- evalscope/benchmarks/ner/genia_ner_adapter.py +66 -0
- evalscope/benchmarks/ner/harvey_ner_adapter.py +58 -0
- evalscope/benchmarks/ner/mit_movie_trivia_adapter.py +74 -0
- evalscope/benchmarks/ner/mit_restaurant_adapter.py +66 -0
- evalscope/benchmarks/ner/ontonotes5_adapter.py +87 -0
- evalscope/benchmarks/ner/wnut2017_adapter.py +61 -0
- evalscope/benchmarks/ocr_bench/__init__.py +0 -0
- evalscope/benchmarks/ocr_bench/ocr_bench/__init__.py +0 -0
- evalscope/benchmarks/ocr_bench/ocr_bench/ocr_bench_adapter.py +101 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/IoUscore_metric.py +87 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/TEDS_metric.py +963 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/__init__.py +0 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/ocr_bench_v2_adapter.py +161 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/page_ocr_metric.py +50 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/parallel.py +46 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/spotting_eval/__init__.py +0 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/spotting_eval/readme.txt +26 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/spotting_eval/rrc_evaluation_funcs_1_1.py +537 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/spotting_eval/script.py +481 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/spotting_metric.py +179 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/utils.py +433 -0
- evalscope/benchmarks/ocr_bench/ocr_bench_v2/vqa_metric.py +254 -0
- evalscope/benchmarks/olympiad_bench/__init__.py +0 -0
- evalscope/benchmarks/olympiad_bench/olympiad_bench_adapter.py +163 -0
- evalscope/benchmarks/olympiad_bench/utils.py +565 -0
- evalscope/benchmarks/omni_bench/__init__.py +0 -0
- evalscope/benchmarks/omni_bench/omni_bench_adapter.py +86 -0
- evalscope/benchmarks/omnidoc_bench/__init__.py +0 -0
- evalscope/benchmarks/omnidoc_bench/end2end_eval.py +349 -0
- evalscope/benchmarks/omnidoc_bench/metrics.py +547 -0
- evalscope/benchmarks/omnidoc_bench/omnidoc_bench_adapter.py +135 -0
- evalscope/benchmarks/omnidoc_bench/utils.py +1937 -0
- evalscope/benchmarks/piqa/__init__.py +0 -0
- evalscope/benchmarks/piqa/piqa_adapter.py +32 -0
- evalscope/benchmarks/poly_math/__init__.py +0 -0
- evalscope/benchmarks/poly_math/poly_math_adapter.py +132 -0
- evalscope/benchmarks/poly_math/utils/instruction.py +105 -0
- evalscope/benchmarks/pope/__init__.py +0 -0
- evalscope/benchmarks/pope/pope_adapter.py +112 -0
- evalscope/benchmarks/process_bench/__init__.py +0 -0
- evalscope/benchmarks/process_bench/process_bench_adapter.py +171 -0
- evalscope/benchmarks/pumed_qa/__init__.py +0 -0
- evalscope/benchmarks/pumed_qa/pubmed_qa_adapter.py +175 -0
- evalscope/benchmarks/qasc/__init__.py +0 -0
- evalscope/benchmarks/qasc/qasc_adapter.py +35 -0
- evalscope/benchmarks/race/race_adapter.py +33 -120
- evalscope/benchmarks/real_world_qa/__init__.py +0 -0
- evalscope/benchmarks/real_world_qa/real_world_qa_adapter.py +64 -0
- evalscope/benchmarks/sciq/__init__.py +0 -0
- evalscope/benchmarks/sciq/sciq_adapter.py +36 -0
- evalscope/benchmarks/seed_bench_2_plus/__init__.py +0 -0
- evalscope/benchmarks/seed_bench_2_plus/seed_bench_2_plus_adapter.py +72 -0
- evalscope/benchmarks/simple_qa/__init__.py +0 -0
- evalscope/benchmarks/simple_qa/simple_qa_adapter.py +169 -0
- evalscope/benchmarks/simple_vqa/__init__.py +0 -0
- evalscope/benchmarks/simple_vqa/simple_vqa_adapter.py +169 -0
- evalscope/benchmarks/siqa/__init__.py +0 -0
- evalscope/benchmarks/siqa/siqa_adapter.py +39 -0
- evalscope/benchmarks/super_gpqa/__init__.py +0 -0
- evalscope/benchmarks/super_gpqa/prompt.py +88 -0
- evalscope/benchmarks/super_gpqa/super_gpqa_adapter.py +165 -0
- evalscope/benchmarks/super_gpqa/utils.py +86 -0
- evalscope/benchmarks/tau_bench/__init__.py +0 -0
- evalscope/benchmarks/tau_bench/tau2_bench/__init__.py +0 -0
- evalscope/benchmarks/tau_bench/tau2_bench/generation.py +158 -0
- evalscope/benchmarks/tau_bench/tau2_bench/tau2_bench_adapter.py +146 -0
- evalscope/benchmarks/tau_bench/tau_bench/__init__.py +0 -0
- evalscope/benchmarks/tau_bench/tau_bench/generation.py +147 -0
- evalscope/benchmarks/tau_bench/tau_bench/tau_bench_adapter.py +168 -0
- evalscope/benchmarks/text2image/__init__.py +0 -0
- evalscope/benchmarks/text2image/evalmuse_adapter.py +78 -0
- evalscope/benchmarks/text2image/genai_bench_adapter.py +53 -0
- evalscope/benchmarks/text2image/general_t2i_adapter.py +42 -0
- evalscope/benchmarks/text2image/hpdv2_adapter.py +52 -0
- evalscope/benchmarks/text2image/tifa_adapter.py +27 -0
- evalscope/benchmarks/tool_bench/__init__.py +0 -0
- evalscope/benchmarks/tool_bench/tool_bench_adapter.py +102 -0
- evalscope/benchmarks/tool_bench/utils.py +203 -0
- evalscope/benchmarks/trivia_qa/trivia_qa_adapter.py +56 -118
- evalscope/benchmarks/truthful_qa/truthful_qa_adapter.py +70 -270
- evalscope/benchmarks/visu_logic/__init__.py +0 -0
- evalscope/benchmarks/visu_logic/visu_logic_adapter.py +75 -0
- evalscope/benchmarks/winogrande/__init__.py +0 -0
- evalscope/benchmarks/winogrande/winogrande_adapter.py +34 -0
- evalscope/benchmarks/wmt/__init__.py +0 -0
- evalscope/benchmarks/wmt/wmt24_adapter.py +294 -0
- evalscope/benchmarks/zerobench/__init__.py +0 -0
- evalscope/benchmarks/zerobench/zerobench_adapter.py +64 -0
- evalscope/cli/cli.py +2 -0
- evalscope/cli/start_app.py +12 -2
- evalscope/cli/start_eval.py +4 -3
- evalscope/cli/start_perf.py +10 -2
- evalscope/cli/start_server.py +6 -3
- evalscope/collections/__init__.py +27 -3
- evalscope/collections/sampler.py +12 -11
- evalscope/collections/schema.py +13 -12
- evalscope/config.py +218 -147
- evalscope/constants.py +78 -82
- evalscope/evaluator/__init__.py +1 -1
- evalscope/evaluator/evaluator.py +334 -318
- evalscope/filters/__init__.py +2 -0
- evalscope/filters/extraction.py +126 -0
- evalscope/filters/selection.py +57 -0
- evalscope/metrics/__init__.py +59 -3
- evalscope/metrics/bert_score/__init__.py +0 -0
- evalscope/metrics/bert_score/scorer.py +338 -0
- evalscope/metrics/bert_score/utils.py +697 -0
- evalscope/metrics/bundled_rouge_score/rouge_scorer.py +20 -15
- evalscope/metrics/llm_judge.py +211 -0
- evalscope/metrics/math_parser.py +545 -0
- evalscope/metrics/metric.py +611 -0
- evalscope/metrics/metrics.py +112 -23
- evalscope/metrics/rouge_metric.py +11 -13
- evalscope/metrics/t2v_metrics/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/clipscore.py +14 -0
- evalscope/metrics/t2v_metrics/constants.py +12 -0
- evalscope/metrics/t2v_metrics/itmscore.py +14 -0
- evalscope/metrics/t2v_metrics/models/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/__init__.py +30 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/build_mps_model/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/build_mps_model/base_model.py +6 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/build_mps_model/clip_model.py +134 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/build_mps_model/cross_modeling.py +282 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/clip_model.py +115 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/hpsv2_model.py +87 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/mps_model.py +86 -0
- evalscope/metrics/t2v_metrics/models/clipscore_models/pickscore_model.py +62 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/__init__.py +26 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/blip2_itm_model.py +85 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/fga_blip2_model.py +99 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/image_reward/ImageReward.py +176 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/image_reward/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/image_reward/blip_pretrain.py +82 -0
- evalscope/metrics/t2v_metrics/models/itmscore_models/image_reward_model.py +74 -0
- evalscope/metrics/t2v_metrics/models/model.py +45 -0
- evalscope/metrics/t2v_metrics/models/utils.py +25 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/__init__.py +22 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/model/__init__.py +1 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/model/language_model/clip_t5.py +306 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/model/multimodal_encoder/builder.py +12 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/model/multimodal_encoder/clip_encoder.py +84 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5/model/multimodal_projector/builder.py +50 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/clip_t5_model.py +223 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/gpt4v_model.py +153 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/__init__.py +26 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/config.py +465 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/dist_utils.py +141 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/gradcam.py +24 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/logger.py +190 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/optims.py +100 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/registry.py +313 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/utils.py +416 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/vqa_tools/__init__.py +8 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/vqa_tools/vqa.py +192 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/common/vqa_tools/vqa_eval.py +320 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/default.yaml +10 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_caption_flant5xl.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_caption_opt2.7b.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_caption_opt6.7b.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_coco.yaml +36 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_instruct_flant5xl.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_instruct_flant5xxl.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_instruct_vicuna13b.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_instruct_vicuna7b.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain.yaml +36 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_flant5xl.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_flant5xl_iter_80k_total_100k_no_prefix.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_flant5xl_iter_80k_total_100k_prefix.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_flant5xl_vitL.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_flant5xxl.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_opt2.7b.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_opt6.7b.yaml +42 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_pretrain_vitL.yaml +37 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_vicuna13b.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/blip2/blip2_vicuna7b.yaml +43 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/med_config.json +21 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/med_config_albef.json +22 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/configs/models/med_large_config.json +21 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/__init__.py +212 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/base_model.py +231 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/Qformer.py +1111 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/__init__.py +0 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/blip2.py +211 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/blip2_image_text_matching.py +109 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/blip2_qformer.py +457 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/blip2_t5.py +370 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/blip2_t5_instruct.py +765 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/fga_blip2.py +274 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/modeling_llama.py +896 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip2_models/modeling_t5.py +1876 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/__init__.py +83 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip.py +58 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_caption.py +212 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_classification.py +164 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_feature_extractor.py +202 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_image_text_matching.py +187 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_nlvr.py +179 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_outputs.py +115 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_pretrain.py +371 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/blip_vqa.py +348 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/blip_models/nlvr_encoder.py +870 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/clip_vit.py +273 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/eva_vit.py +514 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/med.py +1291 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/models/vit.py +476 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/processors/__init__.py +35 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/processors/base_processor.py +27 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/processors/blip_processors.py +233 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/lavis/processors/randaugment.py +393 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/mm_utils.py +129 -0
- evalscope/metrics/t2v_metrics/models/vqascore_models/vqa_model.py +18 -0
- evalscope/metrics/t2v_metrics/score.py +78 -0
- evalscope/metrics/t2v_metrics/vqascore.py +14 -0
- evalscope/models/__init__.py +23 -13
- evalscope/models/image_edit_model.py +125 -0
- evalscope/models/mockllm.py +65 -0
- evalscope/models/model_apis.py +69 -0
- evalscope/models/modelscope.py +455 -0
- evalscope/models/openai_compatible.py +144 -0
- evalscope/models/text2image_model.py +124 -0
- evalscope/models/utils/openai.py +708 -0
- evalscope/perf/__init__.py +0 -1
- evalscope/perf/arguments.py +103 -69
- evalscope/perf/benchmark.py +114 -163
- evalscope/perf/http_client.py +59 -89
- evalscope/perf/main.py +91 -18
- evalscope/perf/plugin/__init__.py +3 -2
- evalscope/perf/plugin/api/__init__.py +4 -3
- evalscope/perf/plugin/api/base.py +27 -7
- evalscope/perf/plugin/api/custom_api.py +170 -57
- evalscope/perf/plugin/api/dashscope_api.py +4 -10
- evalscope/perf/plugin/api/default_api.py +214 -0
- evalscope/perf/plugin/api/openai_api.py +120 -41
- evalscope/perf/plugin/datasets/__init__.py +10 -6
- evalscope/perf/plugin/datasets/base.py +43 -1
- evalscope/perf/plugin/datasets/custom.py +22 -3
- evalscope/perf/plugin/datasets/flickr8k.py +5 -27
- evalscope/perf/plugin/datasets/kontext_bench.py +28 -0
- evalscope/perf/plugin/datasets/line_by_line.py +7 -3
- evalscope/perf/plugin/datasets/longalpaca.py +7 -3
- evalscope/perf/plugin/datasets/openqa.py +13 -14
- evalscope/perf/plugin/datasets/random_dataset.py +67 -0
- evalscope/perf/plugin/datasets/random_vl_dataset.py +80 -0
- evalscope/perf/plugin/datasets/speed_benchmark.py +11 -0
- evalscope/perf/plugin/registry.py +36 -16
- evalscope/perf/utils/analysis_result.py +24 -23
- evalscope/perf/utils/benchmark_util.py +95 -55
- evalscope/perf/utils/db_util.py +115 -78
- evalscope/perf/utils/local_server.py +12 -47
- evalscope/perf/utils/log_utils.py +63 -0
- evalscope/perf/utils/rich_display.py +192 -0
- evalscope/report/__init__.py +46 -3
- evalscope/report/combinator.py +143 -32
- evalscope/report/generator.py +74 -34
- evalscope/report/report.py +238 -0
- evalscope/run.py +71 -46
- evalscope/summarizer.py +5 -5
- evalscope/third_party/longbench_write/infer.py +1 -1
- evalscope/third_party/thinkbench/__init__.py +3 -0
- evalscope/third_party/thinkbench/eval.py +441 -0
- evalscope/third_party/thinkbench/infer.py +130 -0
- evalscope/third_party/thinkbench/resources/critique_template.txt +17 -0
- evalscope/third_party/thinkbench/resources/reformat_template.txt +31 -0
- evalscope/third_party/thinkbench/tools/__init__.py +0 -0
- evalscope/third_party/thinkbench/tools/llm.py +48 -0
- evalscope/third_party/thinkbench/tools/utils.py +13 -0
- evalscope/third_party/toolbench_static/llm/swift_infer.py +46 -20
- evalscope/third_party/toolbench_static/toolbench_static.py +2 -1
- evalscope/utils/__init__.py +82 -2
- evalscope/utils/argument_utils.py +64 -0
- evalscope/utils/chat_service.py +8 -6
- evalscope/utils/deprecation_utils.py +53 -0
- evalscope/utils/function_utils.py +266 -0
- evalscope/utils/import_utils.py +154 -0
- evalscope/utils/io_utils.py +336 -8
- evalscope/utils/json_schema.py +231 -0
- evalscope/utils/logger.py +121 -31
- evalscope/utils/model_utils.py +57 -1
- evalscope/utils/multi_choices.py +303 -0
- evalscope/utils/ner.py +377 -0
- evalscope/utils/url_utils.py +65 -0
- evalscope/version.py +2 -2
- evalscope-1.2.0.dist-info/METADATA +553 -0
- evalscope-1.2.0.dist-info/RECORD +628 -0
- {evalscope-0.10.0.dist-info → evalscope-1.2.0.dist-info}/WHEEL +1 -1
- {evalscope-0.10.0.dist-info → evalscope-1.2.0.dist-info}/top_level.txt +0 -1
- evalscope/backend/vlm_eval_kit/custom_dataset.py +0 -46
- evalscope/benchmarks/arc/ai2_arc.py +0 -151
- evalscope/benchmarks/benchmark.py +0 -76
- evalscope/benchmarks/ceval/ceval_exam.py +0 -146
- evalscope/benchmarks/ceval/samples.jsonl +0 -1
- evalscope/benchmarks/cmmlu/cmmlu.py +0 -161
- evalscope/benchmarks/cmmlu/samples.jsonl +0 -5
- evalscope/benchmarks/competition_math/competition_math.py +0 -79
- evalscope/benchmarks/data_adapter.py +0 -291
- evalscope/benchmarks/gsm8k/gsm8k.py +0 -121
- evalscope/benchmarks/hellaswag/hellaswag.py +0 -112
- evalscope/benchmarks/humaneval/humaneval.py +0 -79
- evalscope/benchmarks/mmlu/mmlu.py +0 -160
- evalscope/benchmarks/mmlu/samples.jsonl +0 -5
- evalscope/benchmarks/race/race.py +0 -104
- evalscope/benchmarks/race/samples.jsonl +0 -5
- evalscope/benchmarks/trivia_qa/trivia_qa.py +0 -89
- evalscope/benchmarks/truthful_qa/truthful_qa.py +0 -163
- evalscope/collections/evaluator.py +0 -198
- evalscope/evaluator/rating_eval.py +0 -157
- evalscope/evaluator/reviewer/__init__.py +0 -1
- evalscope/evaluator/reviewer/auto_reviewer.py +0 -391
- evalscope/metrics/code_metric.py +0 -98
- evalscope/metrics/named_metrics.py +0 -17
- evalscope/metrics/resources/gpt2-zhcn3-v4.bpe +0 -58485
- evalscope/metrics/resources/gpt2-zhcn3-v4.json +0 -1
- evalscope/models/base_adapter.py +0 -52
- evalscope/models/chat_adapter.py +0 -138
- evalscope/models/choice_adapter.py +0 -211
- evalscope/models/custom/__init__.py +0 -3
- evalscope/models/custom/custom_model.py +0 -53
- evalscope/models/custom/dummy_model.py +0 -63
- evalscope/models/custom_adapter.py +0 -67
- evalscope/models/local_model.py +0 -74
- evalscope/models/model.py +0 -229
- evalscope/models/server_adapter.py +0 -111
- evalscope/registry/__init__.py +0 -1
- evalscope/registry/config/cfg_arena.yaml +0 -77
- evalscope/registry/config/cfg_arena_zhihu.yaml +0 -63
- evalscope/registry/config/cfg_pairwise_baseline.yaml +0 -83
- evalscope/registry/config/cfg_single.yaml +0 -78
- evalscope/registry/data/prompt_template/lmsys_v2.jsonl +0 -8
- evalscope/registry/data/prompt_template/prompt_templates.jsonl +0 -8
- evalscope/registry/data/qa_browser/battle.jsonl +0 -634
- evalscope/registry/data/qa_browser/category_mapping.yaml +0 -10
- evalscope/registry/data/question.jsonl +0 -80
- evalscope/registry/tasks/arc.yaml +0 -28
- evalscope/registry/tasks/bbh.yaml +0 -26
- evalscope/registry/tasks/bbh_mini.yaml +0 -26
- evalscope/registry/tasks/ceval.yaml +0 -27
- evalscope/registry/tasks/ceval_mini.yaml +0 -26
- evalscope/registry/tasks/cmmlu.yaml +0 -27
- evalscope/registry/tasks/eval_qwen-7b-chat_v100.yaml +0 -28
- evalscope/registry/tasks/general_qa.yaml +0 -27
- evalscope/registry/tasks/gsm8k.yaml +0 -29
- evalscope/registry/tasks/mmlu.yaml +0 -29
- evalscope/registry/tasks/mmlu_mini.yaml +0 -27
- evalscope/report/app.py +0 -506
- evalscope/report/utils.py +0 -133
- evalscope/run_arena.py +0 -202
- evalscope/utils/arena_utils.py +0 -217
- evalscope/utils/completion_parsers.py +0 -82
- evalscope/utils/utils.py +0 -301
- evalscope-0.10.0.dist-info/METADATA +0 -565
- evalscope-0.10.0.dist-info/RECORD +0 -286
- tests/__init__.py +0 -1
- tests/cli/__init__.py +0 -1
- tests/cli/test_collection.py +0 -57
- tests/cli/test_run.py +0 -165
- tests/perf/__init__.py +0 -1
- tests/perf/test_perf.py +0 -101
- tests/rag/test_clip_benchmark.py +0 -85
- tests/rag/test_mteb.py +0 -138
- tests/rag/test_ragas.py +0 -120
- tests/swift/__init__.py +0 -1
- tests/swift/test_run_swift_eval.py +0 -145
- tests/swift/test_run_swift_vlm_eval.py +0 -127
- tests/swift/test_run_swift_vlm_jugde_eval.py +0 -156
- tests/test_run_all.py +0 -12
- tests/vlm/__init__.py +0 -1
- tests/vlm/test_vlmeval.py +0 -60
- {tests/rag → evalscope/api}/__init__.py +0 -0
- {evalscope-0.10.0.dist-info → evalscope-1.2.0.dist-info}/entry_points.txt +0 -0
- {evalscope-0.10.0.dist-info → evalscope-1.2.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import numpy as np
|
|
2
|
-
import os
|
|
3
|
-
from vlmeval.dataset.image_base import ImageBaseDataset
|
|
4
|
-
from vlmeval.dataset.image_vqa import CustomVQADataset
|
|
5
|
-
from vlmeval.smp import d2df, dump, load
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class CustomDataset:
|
|
9
|
-
|
|
10
|
-
def load_data(self, dataset):
|
|
11
|
-
# customize the loading of the dataset
|
|
12
|
-
data_path = os.path.join(os.path.expanduser('~/LMUData'), f'{dataset}.tsv')
|
|
13
|
-
return load(data_path)
|
|
14
|
-
|
|
15
|
-
def build_prompt(self, line):
|
|
16
|
-
msgs = ImageBaseDataset.build_prompt(self, line)
|
|
17
|
-
# add a hint or custom instruction here
|
|
18
|
-
msgs[-1]['value'] += '\nAnswer the question using a single word or phrase.'
|
|
19
|
-
return msgs
|
|
20
|
-
|
|
21
|
-
def evaluate(self, eval_file, **judge_kwargs):
|
|
22
|
-
data = load(eval_file)
|
|
23
|
-
assert 'answer' in data and 'prediction' in data
|
|
24
|
-
data['prediction'] = [str(x) for x in data['prediction']]
|
|
25
|
-
data['answer'] = [str(x).lower() for x in data['answer']]
|
|
26
|
-
|
|
27
|
-
print(data)
|
|
28
|
-
|
|
29
|
-
# ========compute the evaluation metrics as you need =========
|
|
30
|
-
# exact match
|
|
31
|
-
result = np.mean(data['answer'] == data['prediction'])
|
|
32
|
-
ret = {'Overall': result}
|
|
33
|
-
ret = d2df(ret).round(2)
|
|
34
|
-
|
|
35
|
-
# save the result
|
|
36
|
-
suffix = eval_file.split('.')[-1]
|
|
37
|
-
result_file = eval_file.replace(f'.{suffix}', '_acc.csv')
|
|
38
|
-
dump(ret, result_file)
|
|
39
|
-
return ret
|
|
40
|
-
# ============================================================
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
# override the default dataset class
|
|
44
|
-
CustomVQADataset.load_data = CustomDataset.load_data
|
|
45
|
-
CustomVQADataset.build_prompt = CustomDataset.build_prompt
|
|
46
|
-
CustomVQADataset.evaluate = CustomDataset.evaluate
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
2
|
-
# Copyright (c) Allen Institute, and its affiliates.
|
|
3
|
-
# Copyright 2020 The HuggingFace Datasets Authors and the current dataset script contributor.
|
|
4
|
-
"""AI2 ARC (Abstraction and Reasoning Corpus) for General Artificial Intelligence Benchmark."""
|
|
5
|
-
"""AUTO GENERATED, DO NOT EDIT"""
|
|
6
|
-
|
|
7
|
-
import datasets
|
|
8
|
-
import json
|
|
9
|
-
import os
|
|
10
|
-
|
|
11
|
-
# flake8: noqa
|
|
12
|
-
|
|
13
|
-
_CITATION = """\
|
|
14
|
-
@article{allenai:arc,
|
|
15
|
-
author = {Peter Clark and Isaac Cowhey and Oren Etzioni and Tushar Khot and
|
|
16
|
-
Ashish Sabharwal and Carissa Schoenick and Oyvind Tafjord},
|
|
17
|
-
title = {Think you have Solved Question Answering? Try ARC, the AI2 Reasoning Challenge},
|
|
18
|
-
journal = {arXiv:1803.05457v1},
|
|
19
|
-
year = {2018},
|
|
20
|
-
}
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
_DESCRIPTION = """\
|
|
24
|
-
A new dataset of 7,787 genuine grade-school level, multiple-choice science questions, assembled to encourage research in
|
|
25
|
-
advanced question-answering. The dataset is partitioned into a Challenge Set and an Easy Set, where the former contains
|
|
26
|
-
only questions answered incorrectly by both a retrieval-based algorithm and a word co-occurrence algorithm. We are also
|
|
27
|
-
including a corpus of over 14 million science sentences relevant to the task,
|
|
28
|
-
and an implementation of three neural baseline models for this dataset. We pose ARC as a challenge to the community.
|
|
29
|
-
|
|
30
|
-
ARC-Easy:
|
|
31
|
-
train: 2251
|
|
32
|
-
test: 2376
|
|
33
|
-
validation: 570
|
|
34
|
-
|
|
35
|
-
ARC-Challenge:
|
|
36
|
-
train: 1119
|
|
37
|
-
test: 1172
|
|
38
|
-
validation: 299
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
_URL = 'https://modelscope.oss-cn-beijing.aliyuncs.com/open_data/arc/ARC-V1-Feb2018.zip'
|
|
42
|
-
|
|
43
|
-
# tasks: ['ARC-Easy', 'ARC-Challenge']
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class Ai2ArcConfig(datasets.BuilderConfig):
|
|
47
|
-
"""BuilderConfig for Ai2ARC."""
|
|
48
|
-
|
|
49
|
-
def __init__(self, **kwargs):
|
|
50
|
-
"""BuilderConfig for Ai2Arc.
|
|
51
|
-
|
|
52
|
-
Args:
|
|
53
|
-
**kwargs: keyword arguments forwarded to super.
|
|
54
|
-
"""
|
|
55
|
-
super(Ai2ArcConfig, self).__init__(version=datasets.Version('1.0.0', ''), **kwargs)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class Ai2Arc(datasets.GeneratorBasedBuilder):
|
|
59
|
-
"""
|
|
60
|
-
The AI2 Reasoning Challenge (ARC) dataset.
|
|
61
|
-
Subset: ARC-Easy, ARC-Challenge.
|
|
62
|
-
"""
|
|
63
|
-
|
|
64
|
-
VERSION = datasets.Version('1.0.0')
|
|
65
|
-
BUILDER_CONFIGS = [
|
|
66
|
-
Ai2ArcConfig(
|
|
67
|
-
name='ARC-Challenge',
|
|
68
|
-
description="""\
|
|
69
|
-
Challenge Set of 2590 “hard” questions (those that both a retrieval and a co-occurrence method fail to answer correctly)
|
|
70
|
-
""",
|
|
71
|
-
),
|
|
72
|
-
Ai2ArcConfig(
|
|
73
|
-
name='ARC-Easy',
|
|
74
|
-
description="""\
|
|
75
|
-
Easy Set of 5197 questions
|
|
76
|
-
""",
|
|
77
|
-
),
|
|
78
|
-
]
|
|
79
|
-
|
|
80
|
-
def _info(self):
|
|
81
|
-
return datasets.DatasetInfo(
|
|
82
|
-
# This is the description that will appear on the datasets page.
|
|
83
|
-
description=_DESCRIPTION,
|
|
84
|
-
# datasets.features.FeatureConnectors
|
|
85
|
-
features=datasets.Features({
|
|
86
|
-
'id':
|
|
87
|
-
datasets.Value('string'),
|
|
88
|
-
'question':
|
|
89
|
-
datasets.Value('string'),
|
|
90
|
-
'choices':
|
|
91
|
-
datasets.features.Sequence({
|
|
92
|
-
'text': datasets.Value('string'),
|
|
93
|
-
'label': datasets.Value('string')
|
|
94
|
-
}),
|
|
95
|
-
'answerKey':
|
|
96
|
-
datasets.Value('string')
|
|
97
|
-
# These are the features of your dataset like images, labels ...
|
|
98
|
-
}),
|
|
99
|
-
# If there's a common (input, target) tuple from the features,
|
|
100
|
-
# specify them here. They'll be used if as_supervised=True in
|
|
101
|
-
# builder.as_dataset.
|
|
102
|
-
supervised_keys=None,
|
|
103
|
-
# Homepage of the dataset for documentation
|
|
104
|
-
homepage='https://allenai.org/data/arc',
|
|
105
|
-
citation=_CITATION,
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
def _split_generators(self, dl_manager):
|
|
109
|
-
"""Returns SplitGenerators."""
|
|
110
|
-
# dl_manager is a datasets.download.DownloadManager that can be used to
|
|
111
|
-
# download and extract URLs
|
|
112
|
-
dl_dir = dl_manager.download_and_extract(_URL)
|
|
113
|
-
data_dir = os.path.join(dl_dir, 'ARC-V1-Feb2018-2')
|
|
114
|
-
return [
|
|
115
|
-
datasets.SplitGenerator(
|
|
116
|
-
name=datasets.Split.TRAIN,
|
|
117
|
-
# These kwargs will be passed to _generate_examples
|
|
118
|
-
gen_kwargs={'filepath': os.path.join(data_dir, self.config.name, self.config.name + '-Train.jsonl')},
|
|
119
|
-
),
|
|
120
|
-
datasets.SplitGenerator(
|
|
121
|
-
name=datasets.Split.TEST,
|
|
122
|
-
# These kwargs will be passed to _generate_examples
|
|
123
|
-
gen_kwargs={'filepath': os.path.join(data_dir, self.config.name, self.config.name + '-Test.jsonl')},
|
|
124
|
-
),
|
|
125
|
-
datasets.SplitGenerator(
|
|
126
|
-
name=datasets.Split.VALIDATION,
|
|
127
|
-
# These kwargs will be passed to _generate_examples
|
|
128
|
-
gen_kwargs={'filepath': os.path.join(data_dir, self.config.name, self.config.name + '-Dev.jsonl')},
|
|
129
|
-
),
|
|
130
|
-
]
|
|
131
|
-
|
|
132
|
-
def _generate_examples(self, filepath):
|
|
133
|
-
"""Yields examples."""
|
|
134
|
-
with open(filepath, encoding='utf-8') as f:
|
|
135
|
-
for row in f:
|
|
136
|
-
data = json.loads(row)
|
|
137
|
-
answerkey = data['answerKey']
|
|
138
|
-
id_ = data['id']
|
|
139
|
-
question = data['question']['stem']
|
|
140
|
-
choices = data['question']['choices']
|
|
141
|
-
text_choices = [choice['text'] for choice in choices]
|
|
142
|
-
label_choices = [choice['label'] for choice in choices]
|
|
143
|
-
yield id_, {
|
|
144
|
-
'id': id_,
|
|
145
|
-
'answerKey': answerkey,
|
|
146
|
-
'question': question,
|
|
147
|
-
'choices': {
|
|
148
|
-
'text': text_choices,
|
|
149
|
-
'label': label_choices
|
|
150
|
-
},
|
|
151
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import copy
|
|
2
|
-
from dataclasses import dataclass, field
|
|
3
|
-
from typing import TYPE_CHECKING, Dict, List, Optional
|
|
4
|
-
|
|
5
|
-
if TYPE_CHECKING:
|
|
6
|
-
from evalscope.benchmarks import DataAdapter
|
|
7
|
-
|
|
8
|
-
from evalscope.models import BaseModelAdapter
|
|
9
|
-
|
|
10
|
-
BENCHMARK_MAPPINGS = {}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@dataclass
|
|
14
|
-
class BenchmarkMeta:
|
|
15
|
-
name: str
|
|
16
|
-
dataset_id: str
|
|
17
|
-
data_adapter: 'DataAdapter'
|
|
18
|
-
model_adapter: BaseModelAdapter
|
|
19
|
-
subset_list: List[str] = field(default_factory=list)
|
|
20
|
-
metric_list: List[dict] = field(default_factory=list)
|
|
21
|
-
few_shot_num: int = 0
|
|
22
|
-
few_shot_random: bool = False
|
|
23
|
-
train_split: Optional[str] = None
|
|
24
|
-
eval_split: Optional[str] = None
|
|
25
|
-
prompt_template: Optional[str] = None
|
|
26
|
-
|
|
27
|
-
def _update(self, args: dict):
|
|
28
|
-
if args.get('local_path'):
|
|
29
|
-
self.dataset_id = args['local_path']
|
|
30
|
-
del args['local_path']
|
|
31
|
-
self.__dict__.update(args)
|
|
32
|
-
|
|
33
|
-
def to_dict(self) -> dict:
|
|
34
|
-
return self.__dict__
|
|
35
|
-
|
|
36
|
-
def to_string_dict(self) -> dict:
|
|
37
|
-
cur_dict = copy.deepcopy(self.__dict__)
|
|
38
|
-
# cur_dict['data_adapter'] = self.data_adapter.__name__
|
|
39
|
-
# cur_dict['model_adapter'] = self.model_adapter.__name__
|
|
40
|
-
# cur_dict['metric_list'] = [metric['name'] for metric in self.metric_list]
|
|
41
|
-
del cur_dict['data_adapter']
|
|
42
|
-
del cur_dict['model_adapter']
|
|
43
|
-
del cur_dict['metric_list']
|
|
44
|
-
return cur_dict
|
|
45
|
-
|
|
46
|
-
def get_data_adapter(self, config: dict = {}) -> 'DataAdapter':
|
|
47
|
-
if config:
|
|
48
|
-
self._update(config)
|
|
49
|
-
|
|
50
|
-
data_adapter = self.data_adapter(**self.to_dict())
|
|
51
|
-
return data_adapter
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
class Benchmark:
|
|
55
|
-
|
|
56
|
-
def __init__(self):
|
|
57
|
-
pass
|
|
58
|
-
|
|
59
|
-
@classmethod
|
|
60
|
-
def get(cls, name: str) -> 'BenchmarkMeta':
|
|
61
|
-
if name not in BENCHMARK_MAPPINGS:
|
|
62
|
-
raise Exception(f'Unknown benchmark: {name}. Available tasks: {BENCHMARK_MAPPINGS.keys()}')
|
|
63
|
-
benchmark = BENCHMARK_MAPPINGS[name]
|
|
64
|
-
return benchmark
|
|
65
|
-
|
|
66
|
-
@classmethod
|
|
67
|
-
def register(cls, name: str, dataset_id: str, model_adapter: BaseModelAdapter, **kwargs):
|
|
68
|
-
|
|
69
|
-
def register_wrapper(data_adapter):
|
|
70
|
-
if name in BENCHMARK_MAPPINGS:
|
|
71
|
-
raise Exception(f'Benchmark {name} already registered')
|
|
72
|
-
BENCHMARK_MAPPINGS[name] = BenchmarkMeta(
|
|
73
|
-
name=name, data_adapter=data_adapter, model_adapter=model_adapter, dataset_id=dataset_id, **kwargs)
|
|
74
|
-
return data_adapter
|
|
75
|
-
|
|
76
|
-
return register_wrapper
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
2
|
-
# Copyright 2020 The HuggingFace Datasets Authors and the current dataset script contributor.
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
|
|
5
|
-
import datasets
|
|
6
|
-
import os
|
|
7
|
-
import pandas as pd
|
|
8
|
-
|
|
9
|
-
# flake8: noqa
|
|
10
|
-
"""DO NOT EDIT unless you are contributing a new dataset."""
|
|
11
|
-
|
|
12
|
-
_CITATION = """\
|
|
13
|
-
@article{huang2023ceval,
|
|
14
|
-
title={C-Eval: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models},
|
|
15
|
-
author={Huang, Yuzhen and Bai, Yuzhuo and Zhu, Zhihao and Zhang, Junlei and Zhang, Jinghan and Su, Tangjun and Liu, Junteng and Lv, Chuancheng and Zhang, Yikai and Lei, Jiayi and Fu, Yao and Sun, Maosong and He, Junxian},
|
|
16
|
-
journal={arXiv preprint arXiv:2305.08322},
|
|
17
|
-
year={2023}
|
|
18
|
-
}
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
_DESCRIPTION = """\
|
|
22
|
-
C-Eval is a comprehensive Chinese evaluation suite for foundation models. It consists of 13948 multi-choice questions spanning 52 diverse disciplines and four difficulty levels.
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
_HOMEPAGE = 'https://cevalbenchmark.com'
|
|
26
|
-
|
|
27
|
-
_LICENSE = 'Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License'
|
|
28
|
-
|
|
29
|
-
_URL = r'https://modelscope.oss-cn-beijing.aliyuncs.com/open_data/c-eval/ceval-exam.zip'
|
|
30
|
-
|
|
31
|
-
task_list = [
|
|
32
|
-
'computer_network',
|
|
33
|
-
'operating_system',
|
|
34
|
-
'computer_architecture',
|
|
35
|
-
'college_programming',
|
|
36
|
-
'college_physics',
|
|
37
|
-
'college_chemistry',
|
|
38
|
-
'advanced_mathematics',
|
|
39
|
-
'probability_and_statistics',
|
|
40
|
-
'discrete_mathematics',
|
|
41
|
-
'electrical_engineer',
|
|
42
|
-
'metrology_engineer',
|
|
43
|
-
'high_school_mathematics',
|
|
44
|
-
'high_school_physics',
|
|
45
|
-
'high_school_chemistry',
|
|
46
|
-
'high_school_biology',
|
|
47
|
-
'middle_school_mathematics',
|
|
48
|
-
'middle_school_biology',
|
|
49
|
-
'middle_school_physics',
|
|
50
|
-
'middle_school_chemistry',
|
|
51
|
-
'veterinary_medicine',
|
|
52
|
-
'college_economics',
|
|
53
|
-
'business_administration',
|
|
54
|
-
'marxism',
|
|
55
|
-
'mao_zedong_thought',
|
|
56
|
-
'education_science',
|
|
57
|
-
'teacher_qualification',
|
|
58
|
-
'high_school_politics',
|
|
59
|
-
'high_school_geography',
|
|
60
|
-
'middle_school_politics',
|
|
61
|
-
'middle_school_geography',
|
|
62
|
-
'modern_chinese_history',
|
|
63
|
-
'ideological_and_moral_cultivation',
|
|
64
|
-
'logic',
|
|
65
|
-
'law',
|
|
66
|
-
'chinese_language_and_literature',
|
|
67
|
-
'art_studies',
|
|
68
|
-
'professional_tour_guide',
|
|
69
|
-
'legal_professional',
|
|
70
|
-
'high_school_chinese',
|
|
71
|
-
'high_school_history',
|
|
72
|
-
'middle_school_history',
|
|
73
|
-
'civil_servant',
|
|
74
|
-
'sports_science',
|
|
75
|
-
'plant_protection',
|
|
76
|
-
'basic_medicine',
|
|
77
|
-
'clinical_medicine',
|
|
78
|
-
'urban_and_rural_planner',
|
|
79
|
-
'accountant',
|
|
80
|
-
'fire_engineer',
|
|
81
|
-
'environmental_impact_assessment_engineer',
|
|
82
|
-
'tax_accountant',
|
|
83
|
-
'physician',
|
|
84
|
-
]
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
class CevalExamConfig(datasets.BuilderConfig):
|
|
88
|
-
|
|
89
|
-
def __init__(self, **kwargs):
|
|
90
|
-
super().__init__(version=datasets.Version('1.0.0'), **kwargs)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
class CevalExam(datasets.GeneratorBasedBuilder):
|
|
94
|
-
BUILDER_CONFIGS = [CevalExamConfig(name=task_name, ) for task_name in task_list]
|
|
95
|
-
|
|
96
|
-
def _info(self):
|
|
97
|
-
features = datasets.Features({
|
|
98
|
-
'id': datasets.Value('int32'),
|
|
99
|
-
'question': datasets.Value('string'),
|
|
100
|
-
'A': datasets.Value('string'),
|
|
101
|
-
'B': datasets.Value('string'),
|
|
102
|
-
'C': datasets.Value('string'),
|
|
103
|
-
'D': datasets.Value('string'),
|
|
104
|
-
'answer': datasets.Value('string'),
|
|
105
|
-
'explanation': datasets.Value('string'),
|
|
106
|
-
})
|
|
107
|
-
return datasets.DatasetInfo(
|
|
108
|
-
description=_DESCRIPTION,
|
|
109
|
-
features=features,
|
|
110
|
-
homepage=_HOMEPAGE,
|
|
111
|
-
license=_LICENSE,
|
|
112
|
-
citation=_CITATION,
|
|
113
|
-
)
|
|
114
|
-
|
|
115
|
-
def _split_generators(self, dl_manager):
|
|
116
|
-
data_dir = dl_manager.download_and_extract(_URL)
|
|
117
|
-
task_name = self.config.name
|
|
118
|
-
return [
|
|
119
|
-
datasets.SplitGenerator(
|
|
120
|
-
name=datasets.Split.TEST,
|
|
121
|
-
gen_kwargs={
|
|
122
|
-
'filepath': os.path.join(data_dir, 'test', f'{task_name}_test.csv'),
|
|
123
|
-
},
|
|
124
|
-
),
|
|
125
|
-
datasets.SplitGenerator(
|
|
126
|
-
name=datasets.Split('val'),
|
|
127
|
-
gen_kwargs={
|
|
128
|
-
'filepath': os.path.join(data_dir, 'val', f'{task_name}_val.csv'),
|
|
129
|
-
},
|
|
130
|
-
),
|
|
131
|
-
datasets.SplitGenerator(
|
|
132
|
-
name=datasets.Split('dev'),
|
|
133
|
-
gen_kwargs={
|
|
134
|
-
'filepath': os.path.join(data_dir, 'dev', f'{task_name}_dev.csv'),
|
|
135
|
-
},
|
|
136
|
-
),
|
|
137
|
-
]
|
|
138
|
-
|
|
139
|
-
def _generate_examples(self, filepath):
|
|
140
|
-
df = pd.read_csv(filepath, encoding='utf-8')
|
|
141
|
-
for i, instance in enumerate(df.to_dict(orient='records')):
|
|
142
|
-
if 'answer' not in instance.keys():
|
|
143
|
-
instance['answer'] = ''
|
|
144
|
-
if 'explanation' not in instance.keys():
|
|
145
|
-
instance['explanation'] = ''
|
|
146
|
-
yield i, instance
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{'id': 0, 'question': '下列关于税法基本原则的表述中,不正确的是____。', 'A': '税收法定原则包括税收要件法定原则和税务合法性原则', 'B': '税收公平原则源于法律上的平等性原则', 'C': '税收效率原则包含经济效率和行政效率两个方面', 'D': '税务机关按法定程序依法征税,可以自由做出减征、停征或免征税款的决定', 'answer': 'D', 'explanation': ''}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
2
|
-
# Copyright 2020 The HuggingFace Datasets Authors and the current dataset script contributor.
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
# you may not use this file except in compliance with the License.
|
|
6
|
-
# You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
# See the License for the specific language governing permissions and
|
|
14
|
-
# limitations under the License.
|
|
15
|
-
# flake8: noqa
|
|
16
|
-
|
|
17
|
-
import datasets
|
|
18
|
-
import os
|
|
19
|
-
import pandas as pd
|
|
20
|
-
|
|
21
|
-
_CITATION = """\
|
|
22
|
-
@misc{li2023cmmlu,
|
|
23
|
-
title={CMMLU: Measuring massive multitask language understanding in Chinese},
|
|
24
|
-
author={Haonan Li and Yixuan Zhang and Fajri Koto and Yifei Yang and Hai Zhao and Yeyun Gong and Nan Duan and Timothy Baldwin},
|
|
25
|
-
year={2023},
|
|
26
|
-
eprint={2306.09212},
|
|
27
|
-
archivePrefix={arXiv},
|
|
28
|
-
primaryClass={cs.CL}
|
|
29
|
-
}
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
_DESCRIPTION = """\
|
|
33
|
-
CMMLU is a comprehensive Chinese assessment suite specifically designed to evaluate the advanced knowledge and reasoning abilities of LLMs within the Chinese language and cultural context.
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
_HOMEPAGE = 'https://modelscope.cn/datasets/modelscope/cmmlu/summary'
|
|
37
|
-
|
|
38
|
-
# _URL = r"https://huggingface.co/datasets/haonan-li/cmmlu/resolve/main/cmmlu_v1_0_1.zip"
|
|
39
|
-
_URL = r'https://modelscope.cn/api/v1/datasets/modelscope/cmmlu/repo?Revision=master&FilePath=cmmlu_v1_0_1.zip'
|
|
40
|
-
|
|
41
|
-
# contains 67 sub-tasks
|
|
42
|
-
task_list = [
|
|
43
|
-
'agronomy',
|
|
44
|
-
'anatomy',
|
|
45
|
-
'ancient_chinese',
|
|
46
|
-
'arts',
|
|
47
|
-
'astronomy',
|
|
48
|
-
'business_ethics',
|
|
49
|
-
'chinese_civil_service_exam',
|
|
50
|
-
'chinese_driving_rule',
|
|
51
|
-
'chinese_food_culture',
|
|
52
|
-
'chinese_foreign_policy',
|
|
53
|
-
'chinese_history',
|
|
54
|
-
'chinese_literature',
|
|
55
|
-
'chinese_teacher_qualification',
|
|
56
|
-
'clinical_knowledge',
|
|
57
|
-
'college_actuarial_science',
|
|
58
|
-
'college_education',
|
|
59
|
-
'college_engineering_hydrology',
|
|
60
|
-
'college_law',
|
|
61
|
-
'college_mathematics',
|
|
62
|
-
'college_medical_statistics',
|
|
63
|
-
'college_medicine',
|
|
64
|
-
'computer_science',
|
|
65
|
-
'computer_security',
|
|
66
|
-
'conceptual_physics',
|
|
67
|
-
'construction_project_management',
|
|
68
|
-
'economics',
|
|
69
|
-
'education',
|
|
70
|
-
'electrical_engineering',
|
|
71
|
-
'elementary_chinese',
|
|
72
|
-
'elementary_commonsense',
|
|
73
|
-
'elementary_information_and_technology',
|
|
74
|
-
'elementary_mathematics',
|
|
75
|
-
'ethnology',
|
|
76
|
-
'food_science',
|
|
77
|
-
'genetics',
|
|
78
|
-
'global_facts',
|
|
79
|
-
'high_school_biology',
|
|
80
|
-
'high_school_chemistry',
|
|
81
|
-
'high_school_geography',
|
|
82
|
-
'high_school_mathematics',
|
|
83
|
-
'high_school_physics',
|
|
84
|
-
'high_school_politics',
|
|
85
|
-
'human_sexuality',
|
|
86
|
-
'international_law',
|
|
87
|
-
'journalism',
|
|
88
|
-
'jurisprudence',
|
|
89
|
-
'legal_and_moral_basis',
|
|
90
|
-
'logical',
|
|
91
|
-
'machine_learning',
|
|
92
|
-
'management',
|
|
93
|
-
'marketing',
|
|
94
|
-
'marxist_theory',
|
|
95
|
-
'modern_chinese',
|
|
96
|
-
'nutrition',
|
|
97
|
-
'philosophy',
|
|
98
|
-
'professional_accounting',
|
|
99
|
-
'professional_law',
|
|
100
|
-
'professional_medicine',
|
|
101
|
-
'professional_psychology',
|
|
102
|
-
'public_relations',
|
|
103
|
-
'security_study',
|
|
104
|
-
'sociology',
|
|
105
|
-
'sports_science',
|
|
106
|
-
'traditional_chinese_medicine',
|
|
107
|
-
'virology',
|
|
108
|
-
'world_history',
|
|
109
|
-
'world_religions',
|
|
110
|
-
]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
class CMMLUConfig(datasets.BuilderConfig):
|
|
114
|
-
|
|
115
|
-
def __init__(self, **kwargs):
|
|
116
|
-
super().__init__(version=datasets.Version('1.0.1'), **kwargs)
|
|
117
|
-
# V1.0.1 Fix: One comma missing in word_religions.csv
|
|
118
|
-
# V1.0.0 Init version
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
class CMMLU(datasets.GeneratorBasedBuilder):
|
|
122
|
-
BUILDER_CONFIGS = [CMMLUConfig(name=task_name) for task_name in task_list]
|
|
123
|
-
|
|
124
|
-
def _info(self):
|
|
125
|
-
features = datasets.Features({
|
|
126
|
-
'Question': datasets.Value('string'),
|
|
127
|
-
'A': datasets.Value('string'),
|
|
128
|
-
'B': datasets.Value('string'),
|
|
129
|
-
'C': datasets.Value('string'),
|
|
130
|
-
'D': datasets.Value('string'),
|
|
131
|
-
'Answer': datasets.Value('string'),
|
|
132
|
-
})
|
|
133
|
-
return datasets.DatasetInfo(
|
|
134
|
-
description=_DESCRIPTION,
|
|
135
|
-
features=features,
|
|
136
|
-
homepage=_HOMEPAGE,
|
|
137
|
-
citation=_CITATION,
|
|
138
|
-
)
|
|
139
|
-
|
|
140
|
-
def _split_generators(self, dl_manager):
|
|
141
|
-
data_dir = dl_manager.download_and_extract(_URL)
|
|
142
|
-
task_name = self.config.name
|
|
143
|
-
return [
|
|
144
|
-
datasets.SplitGenerator(
|
|
145
|
-
name=datasets.Split.TEST,
|
|
146
|
-
gen_kwargs={
|
|
147
|
-
'filepath': os.path.join(data_dir, f'test/{task_name}.csv'),
|
|
148
|
-
},
|
|
149
|
-
),
|
|
150
|
-
datasets.SplitGenerator(
|
|
151
|
-
name=datasets.Split('dev'),
|
|
152
|
-
gen_kwargs={
|
|
153
|
-
'filepath': os.path.join(data_dir, f'dev/{task_name}.csv'),
|
|
154
|
-
},
|
|
155
|
-
),
|
|
156
|
-
]
|
|
157
|
-
|
|
158
|
-
def _generate_examples(self, filepath):
|
|
159
|
-
df = pd.read_csv(filepath, header=0, index_col=0, encoding='utf-8')
|
|
160
|
-
for i, instance in enumerate(df.to_dict(orient='records')):
|
|
161
|
-
yield i, instance
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
{'input': '毛毛骑在牛背上过河,他共有甲、乙、丙、丁4头牛,甲过河要20分钟,乙过河要30分钟,丙过河要40分钟,丁过河要50分钟。毛毛每次只能赶2头牛过河,要把4头牛都赶到对岸去,最少要多少分钟?', 'A': '190', 'B': '180', 'C': '170', 'D': '160', 'target': 'D'}
|
|
2
|
-
{'input': '下列关于重力的说法正确的是', 'A': '在地球周围的物体都要受到重力作用,与其运动状态无关', 'B': '对某一物体而言,重力的大小是一个恒量,不随物体的地理位置而改变', 'C': '重力就是地球对物体的吸引力,重力的方向总是竖直向下', 'D': '在地球表面各处的重力方向都是相同的', 'target': 'A'}
|
|
3
|
-
{'input': '心脏的静脉血回心的主要途径是', 'A': '心小静脉', 'B': '冠状窦', 'C': '心中静脉', 'D': '心前静脉', 'target': 'B'}
|
|
4
|
-
{'input': "以西蒙为代表的决策理论学派提出的决策准则是", 'A': '最优化', 'B': '公平', 'C': '民主化', 'D': '满意', 'target': 'D'}
|
|
5
|
-
{'input': '20世纪初,英国首相阿斯奎斯说:“我们现在有一个牢固确立了两百年的传统,即归根到底,王位的占有者接受其大臣的建议并据此行事。”这一传统的确立,使一个以小农业和手工业生产为主的国家变成了一个典型的资本主义国家,成为欧洲各国效仿的对象。各国效仿的理由是', 'A': '英国“光荣革命”宣告了欧洲新社会政治制度的诞生', 'B': '殖民主义深刻影响了英国“世界工厂”的地位', 'C': '英国经济上的成就得益于其制度设计', 'D': '英国启蒙思想奠定了资产阶级民主主义政治的理论基础', 'target': 'C'}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
2
|
-
"""Mathematics Aptitude Test of Heuristics (MATH) dataset."""
|
|
3
|
-
|
|
4
|
-
import datasets
|
|
5
|
-
import json
|
|
6
|
-
import os
|
|
7
|
-
|
|
8
|
-
_CITATION = """\
|
|
9
|
-
@article{hendrycksmath2021,
|
|
10
|
-
title={Measuring Mathematical Problem Solving With the MATH Dataset},
|
|
11
|
-
author={Dan Hendrycks
|
|
12
|
-
and Collin Burns
|
|
13
|
-
and Saurav Kadavath
|
|
14
|
-
and Akul Arora
|
|
15
|
-
and Steven Basart
|
|
16
|
-
and Eric Tang
|
|
17
|
-
and Dawn Song
|
|
18
|
-
and Jacob Steinhardt},
|
|
19
|
-
journal={arXiv preprint arXiv:2103.03874},
|
|
20
|
-
year={2021}
|
|
21
|
-
}
|
|
22
|
-
"""
|
|
23
|
-
|
|
24
|
-
_DESCRIPTION = """\
|
|
25
|
-
The Mathematics Aptitude Test of Heuristics (MATH) dataset consists of problems
|
|
26
|
-
from mathematics competitions, including the AMC 10, AMC 12, AIME, and more.
|
|
27
|
-
Each problem in MATH has a full step-by-step solution, which can be used to teach
|
|
28
|
-
models to generate answer derivations and explanations.
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
_HOMEPAGE = 'https://github.com/hendrycks/math'
|
|
32
|
-
|
|
33
|
-
_LICENSE = 'https://github.com/hendrycks/math/blob/main/LICENSE'
|
|
34
|
-
|
|
35
|
-
# Original data URL: "https://people.eecs.berkeley.edu/~hendrycks/MATH.tar"
|
|
36
|
-
_URL = 'https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/math/MATH.zip'
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
class CompetitionMathDataset(datasets.GeneratorBasedBuilder):
|
|
40
|
-
"""Mathematics Aptitude Test of Heuristics (MATH) dataset."""
|
|
41
|
-
|
|
42
|
-
VERSION = datasets.Version('1.0.0')
|
|
43
|
-
|
|
44
|
-
def _info(self):
|
|
45
|
-
features = datasets.Features({
|
|
46
|
-
'problem': datasets.Value('string'),
|
|
47
|
-
'level': datasets.Value('string'),
|
|
48
|
-
'type': datasets.Value('string'),
|
|
49
|
-
'solution': datasets.Value('string'),
|
|
50
|
-
})
|
|
51
|
-
return datasets.DatasetInfo(
|
|
52
|
-
description=_DESCRIPTION,
|
|
53
|
-
features=features,
|
|
54
|
-
supervised_keys=None,
|
|
55
|
-
homepage=_HOMEPAGE,
|
|
56
|
-
license=_LICENSE,
|
|
57
|
-
citation=_CITATION,
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
def _split_generators(self, dl_manager):
|
|
61
|
-
"""Returns SplitGenerators."""
|
|
62
|
-
download_dir = dl_manager.download_and_extract(_URL)
|
|
63
|
-
return [
|
|
64
|
-
datasets.SplitGenerator(
|
|
65
|
-
name=datasets.Split.TRAIN,
|
|
66
|
-
gen_kwargs={'data_dir': dl_manager.iter_files(os.path.join(download_dir, 'MATH', 'train'))},
|
|
67
|
-
),
|
|
68
|
-
datasets.SplitGenerator(
|
|
69
|
-
name=datasets.Split.TEST,
|
|
70
|
-
gen_kwargs={'data_dir': dl_manager.iter_files(os.path.join(download_dir, 'MATH', 'test'))},
|
|
71
|
-
),
|
|
72
|
-
]
|
|
73
|
-
|
|
74
|
-
def _generate_examples(self, data_dir):
|
|
75
|
-
"""Yields examples as (key, example) tuples."""
|
|
76
|
-
for id_, filepath in enumerate(data_dir):
|
|
77
|
-
with open(filepath, 'rb') as fin:
|
|
78
|
-
example = json.load(fin)
|
|
79
|
-
yield id_, example
|