eval-framework 0.5.2__tar.gz → 0.6.3__tar.gz
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.
- {eval_framework-0.5.2 → eval_framework-0.6.3}/PKG-INFO +6 -6
- {eval_framework-0.5.2 → eval_framework-0.6.3}/pyproject.toml +9 -10
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/code_assertion.py +1 -1
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/base.py +6 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/arc.py +6 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/arc_de.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/bigcodebench.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/copa.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/csqa.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/drop.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/global_mmlu.py +4 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/goldenswag.py +4 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/gpqa.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/gsm8k.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/hellaswag.py +4 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/humaneval.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/ifeval.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/math_reasoning.py +27 -18
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/mbpp.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/medqa.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/mmlu.py +8 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/mmlu_pro.py +7 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/multipl_e.py +25 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/naturalqs_open.py +4 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/piqa.py +6 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/sciq.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/social_iqa.py +3 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/squad.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/triviaqa.py +5 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/winogrande.py +3 -0
- eval_framework-0.6.3/src/eval_framework/tasks/dataset_revisions.py +145 -0
- eval_framework-0.6.3/src/eval_framework/tasks/hf-dataset-revisions.json +36 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/registry.py +33 -16
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/task-dataset-revisions.json +4 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/task_names.py +12 -7
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/utils.py +9 -1
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/generate_task_docs.py +4 -3
- eval_framework-0.5.2/src/eval_framework/metrics/completion/aidanbench.py +0 -28
- eval_framework-0.5.2/src/eval_framework/metrics/completion/cwe_accuracy.py +0 -49
- eval_framework-0.5.2/src/eval_framework/metrics/completion/niah_accuracy.py +0 -163
- eval_framework-0.5.2/src/eval_framework/metrics/completion/struct_eval_metrics.py +0 -248
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/aidanbench.py +0 -220
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/arc_fi.py +0 -46
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/balancedcopa.py +0 -56
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/belebele.py +0 -60
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/casehold.py +0 -49
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/chembench.py +0 -85
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/duc.py +0 -95
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/flores200.py +0 -122
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/flores_plus.py +0 -83
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/hellaswag_de.py +0 -53
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/include.py +0 -119
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/infinitebench.py +0 -299
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/lab_bench.py +0 -89
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/mmlu_de.py +0 -111
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/mmmlu.py +0 -535
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/openbookqa.py +0 -130
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/opengptx_eu20.py +0 -373
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/pawsx.py +0 -65
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/quality.py +0 -56
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/sphyr.py +0 -79
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/struct_eval.py +0 -116
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/tablebench.py +0 -121
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/truthfulqa.py +0 -165
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/winogender.py +0 -64
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/winox.py +0 -89
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/wmt.py +0 -160
- eval_framework-0.5.2/src/eval_framework/tasks/benchmarks/zero_scrolls.py +0 -199
- eval_framework-0.5.2/src/eval_framework/tasks/dataset_revisions.py +0 -106
- {eval_framework-0.5.2 → eval_framework-0.6.3}/LICENSE +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/README.md +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/base_config.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/context/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/context/determined.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/context/eval.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/context/local.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/evaluation_generator.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/exceptions.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/drop_process_results.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/ifeval_impl/README.md +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/ifeval_impl/instructions.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/ifeval_impl/instructions_registry.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/ifeval_impl/instructions_util.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/external/ifeval_impl/utils.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/aleph_alpha.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/base.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/huggingface.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/mistral.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/models.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/openai.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/vllm.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/llm/vllm_local_server.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/logger.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/main.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/aggregators/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/aggregators/aggregators.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/base.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/accuracy_completion.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/bleu.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/chrf.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/code_execution_pass_at_one.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/concordance_index.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/csv_format.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/drop_completion.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/exponential_similarity.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/f1.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/format_checker.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/grid_difference.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/ifeval.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/json_format.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/language_checker.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/length_control.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/math_minerva_completion.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/math_reasoning_completion.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/minerva_math_utils.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/multipl_e_assertion.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/placeholder_checker.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/repetition.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/rouge_1.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/rouge_2.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/rouge_geometric_mean.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/rouge_l.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/ter.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/completion/text_counter.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/efficiency/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/efficiency/bytes_per_sequence_position.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/base.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/chatbot_style_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/coherence_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/comparison_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/conciseness_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/contains_names_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/format_correctness_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/instruction_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/language.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/long_context_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/models.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/refusal_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/sql_quality_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/graders/summary_world_knowledge_grader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_chatbot_style.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_coherence.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_completion_accuracy.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_conciseness.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_contains_names.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_format_correctness.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_instruction.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_mtbench_pair.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_mtbench_single.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_refusal.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_sql.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/llm_judge_world_knowledge.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/llm/utils.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/accuracy_loglikelihood.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/base.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/bits_per_byte.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/confidence_weighted_accuracy.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/dcs.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/probability_mass.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/metrics/loglikelihood/ternary.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/py.typed +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/response_generator.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/result_processors/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/result_processors/base.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/result_processors/hf_uploader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/result_processors/result_processor.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/result_processors/wandb_uploader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/run.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/run_direct.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/shared/types.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/suite.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/Dockerfile_codebench +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/eval_config.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/perturbation.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/task_loader.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/task_style.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/constants.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/file_ops.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/helpers.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/logging.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/packaging.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/utils/tqdm_handler.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/template_formatting/README.md +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/template_formatting/__init__.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/template_formatting/formatter.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/template_formatting/mistral_formatter.py +0 -0
- {eval_framework-0.5.2 → eval_framework-0.6.3}/src/template_formatting/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: eval-framework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Evaluation Framework
|
|
5
5
|
Author: Aleph Alpha Research
|
|
6
6
|
License: Apache License
|
|
@@ -217,7 +217,7 @@ Requires-Dist: pydantic>=2.13.4,<3
|
|
|
217
217
|
Requires-Dist: datasets>=5.0.0,<6
|
|
218
218
|
Requires-Dist: sacrebleu>=2.6.0,<3
|
|
219
219
|
Requires-Dist: pycountry>=26.2.16,<27
|
|
220
|
-
Requires-Dist: nltk>=3.
|
|
220
|
+
Requires-Dist: nltk>=3.10.0,<4
|
|
221
221
|
Requires-Dist: python-dotenv>=1.2.2,<2
|
|
222
222
|
Requires-Dist: lingua-language-detector>=2.2.0,<3
|
|
223
223
|
Requires-Dist: google-crc32c>=1.8.0,<2
|
|
@@ -231,7 +231,7 @@ Requires-Dist: llm-sandbox[docker]==0.3.39
|
|
|
231
231
|
Requires-Dist: jsonlines>=4,<5
|
|
232
232
|
Requires-Dist: lxml>=6.1.1,<7
|
|
233
233
|
Requires-Dist: python-iso639>=2026.4.20
|
|
234
|
-
Requires-Dist: wandb>=0.
|
|
234
|
+
Requires-Dist: wandb>=0.28.0,<1
|
|
235
235
|
Requires-Dist: boto3>=1.43.19,<2
|
|
236
236
|
Requires-Dist: numpy>=2.2.6
|
|
237
237
|
Requires-Dist: antlr4-python3-runtime==4.11.0
|
|
@@ -240,11 +240,11 @@ Requires-Dist: accelerate ; extra == 'accelerate'
|
|
|
240
240
|
Requires-Dist: eval-framework[determined,api,openai,transformers,accelerate,vllm,optional,mistral] ; extra == 'all'
|
|
241
241
|
Requires-Dist: aleph-alpha-client>=11.5.1 ; extra == 'api'
|
|
242
242
|
Requires-Dist: determined>=0.38.1,<0.39 ; extra == 'determined'
|
|
243
|
-
Requires-Dist: tensorboard==2.
|
|
244
|
-
Requires-Dist: mistral-common>=1.11.
|
|
243
|
+
Requires-Dist: tensorboard==2.21.0 ; extra == 'determined'
|
|
244
|
+
Requires-Dist: mistral-common>=1.11.5,<2 ; extra == 'mistral'
|
|
245
245
|
Requires-Dist: huggingface-hub>=0.36.2,<0.37 ; extra == 'mistral'
|
|
246
246
|
Requires-Dist: eval-framework[vllm] ; extra == 'mistral'
|
|
247
|
-
Requires-Dist: openai>=1.
|
|
247
|
+
Requires-Dist: openai>=1.109.1,<3 ; extra == 'openai'
|
|
248
248
|
Requires-Dist: tiktoken>=0.13.0,<1 ; extra == 'openai'
|
|
249
249
|
Requires-Dist: transformers>=4.45.2,<5 ; extra == 'openai'
|
|
250
250
|
Requires-Dist: transformers>=4.45.2,<5 ; extra == 'optional'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "eval-framework"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.6.3"
|
|
4
4
|
description = "Evaluation Framework"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -24,7 +24,7 @@ dependencies = [
|
|
|
24
24
|
"datasets>=5.0.0,<6",
|
|
25
25
|
"sacrebleu>=2.6.0,<3",
|
|
26
26
|
"pycountry>=26.2.16,<27",
|
|
27
|
-
"nltk>=3.
|
|
27
|
+
"nltk>=3.10.0,<4",
|
|
28
28
|
"python-dotenv>=1.2.2,<2",
|
|
29
29
|
"lingua-language-detector>=2.2.0,<3",
|
|
30
30
|
"google-crc32c>=1.8.0,<2",
|
|
@@ -38,7 +38,7 @@ dependencies = [
|
|
|
38
38
|
"jsonlines>=4,<5",
|
|
39
39
|
"lxml>=6.1.1,<7",
|
|
40
40
|
"python-iso639>=2026.4.20",
|
|
41
|
-
"wandb>=0.
|
|
41
|
+
"wandb>=0.28.0,<1",
|
|
42
42
|
"boto3>=1.43.19,<2",
|
|
43
43
|
"numpy>=2.2.6",
|
|
44
44
|
# is a dependency of sympy, but not explicitly listed in the requirements.txt
|
|
@@ -51,11 +51,11 @@ dependencies = [
|
|
|
51
51
|
# Model-specific extras
|
|
52
52
|
determined = [
|
|
53
53
|
"determined>=0.38.1,<0.39",
|
|
54
|
-
"tensorboard==2.
|
|
54
|
+
"tensorboard==2.21.0"
|
|
55
55
|
]
|
|
56
56
|
api = ["aleph-alpha-client>=11.5.1"]
|
|
57
57
|
openai = [
|
|
58
|
-
"openai>=1.
|
|
58
|
+
"openai>=1.109.1,<3",
|
|
59
59
|
"tiktoken>=0.13.0,<1",
|
|
60
60
|
"transformers>=4.45.2,<5",
|
|
61
61
|
]
|
|
@@ -70,7 +70,7 @@ vllm = [
|
|
|
70
70
|
"torch>=2.5,<3"
|
|
71
71
|
]
|
|
72
72
|
mistral = [
|
|
73
|
-
"mistral-common>=1.11.
|
|
73
|
+
"mistral-common>=1.11.5,<2",
|
|
74
74
|
"huggingface-hub>=0.36.2,<0.37",
|
|
75
75
|
"eval_framework[vllm]",
|
|
76
76
|
]
|
|
@@ -91,7 +91,7 @@ eval_framework = "eval_framework.run:run"
|
|
|
91
91
|
|
|
92
92
|
[dependency-groups]
|
|
93
93
|
dev = [
|
|
94
|
-
"mypy>=2.
|
|
94
|
+
"mypy>=2.2.0,<3",
|
|
95
95
|
"pytest>=9.1.1,<10",
|
|
96
96
|
"pytest-mock>=3.15.1",
|
|
97
97
|
"pytest-xdist>=3.8.0,<4",
|
|
@@ -100,7 +100,7 @@ dev = [
|
|
|
100
100
|
"types-python-dateutil>=2.9.0.20260518,<3",
|
|
101
101
|
"types-requests>=2.33.0.20260518,<3",
|
|
102
102
|
"plotly>=6.8.0,<7",
|
|
103
|
-
"ruff>=0.15.
|
|
103
|
+
"ruff>=0.15.20",
|
|
104
104
|
"pip-licenses>=5.5.5",
|
|
105
105
|
]
|
|
106
106
|
flash-attn = [
|
|
@@ -109,7 +109,7 @@ flash-attn = [
|
|
|
109
109
|
]
|
|
110
110
|
|
|
111
111
|
[build-system]
|
|
112
|
-
requires = ["uv_build>=0.11.
|
|
112
|
+
requires = ["uv_build>=0.11.28,<0.11.29"]
|
|
113
113
|
build-backend = "uv_build"
|
|
114
114
|
|
|
115
115
|
[tool.uv.build-backend]
|
|
@@ -145,7 +145,6 @@ known-third-party = ["wandb"]
|
|
|
145
145
|
|
|
146
146
|
[tool.ruff.lint.extend-per-file-ignores]
|
|
147
147
|
"__init__.py" = ["F401"]
|
|
148
|
-
"tests/tests_eval_framework/tasks/benchmarks/test_mmlu_de.py" = ["E501"]
|
|
149
148
|
|
|
150
149
|
[tool.mypy]
|
|
151
150
|
plugins = "pydantic.mypy"
|
|
@@ -15,7 +15,7 @@ class CodeCompletionAssertion(BaseMetric[Completion]):
|
|
|
15
15
|
# this will always be a list, if return is "" this will be an empty list
|
|
16
16
|
code = response.completion
|
|
17
17
|
try:
|
|
18
|
-
output = run_python_code(code, image="python:3.12-slim")
|
|
18
|
+
output = run_python_code(code, image="python:3.12-slim", runtime_configs={"mem_limit": "512m"})
|
|
19
19
|
except SandboxTimeoutError:
|
|
20
20
|
# The submitted code timed out (e.g. an infinite loop) -- a failing sample, not an infra
|
|
21
21
|
# problem.
|
|
@@ -95,6 +95,12 @@ class BaseTask[SubjectType](ABC):
|
|
|
95
95
|
SUBJECTS: list[SubjectType]
|
|
96
96
|
HF_REVISION: str | None = None # tag name, or branch name, or commit hash to ensure reproducibility
|
|
97
97
|
|
|
98
|
+
# The lock file this task resolves its pinned dataset revision from, keyed by ``DATASET_PATH``.
|
|
99
|
+
# Each task sets this explicitly: point it at a lock file (e.g. ``HF_REVISIONS_LOCKFILE`` or a
|
|
100
|
+
# frozen one), or ``None`` to opt out of pinning. Deliberately not defaulted so it is never
|
|
101
|
+
# inherited implicitly (a subclass in another package would otherwise resolve the wrong file).
|
|
102
|
+
REVISION_LOCKFILE: Path | None
|
|
103
|
+
|
|
98
104
|
# Words in _get_instruction_text() not to be perturbed. List of words is case insensitive. No special characters
|
|
99
105
|
# or whitespace should be included.
|
|
100
106
|
PERTURBATION_UNMODIFIABLE_WORDS: list[str] | None
|
|
@@ -9,12 +9,15 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
9
9
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
10
10
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
11
11
|
from eval_framework.tasks.base import BaseTask, Language, ResponseType
|
|
12
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
12
13
|
from eval_framework.tasks.utils import get_n_letters
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class ARC(BaseTask[str]):
|
|
16
17
|
"""ARC dataset: https://huggingface.co/datasets/allenai/ai2_arc"""
|
|
17
18
|
|
|
19
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
20
|
+
|
|
18
21
|
NAME = "ARC"
|
|
19
22
|
DATASET_PATH = "allenai/ai2_arc"
|
|
20
23
|
SAMPLE_SPLIT = "test"
|
|
@@ -55,6 +58,8 @@ class ARC_OLMES(ARC):
|
|
|
55
58
|
loglikelihood over " A"/" B"/ etc.
|
|
56
59
|
"""
|
|
57
60
|
|
|
61
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
62
|
+
|
|
58
63
|
NAME = "ARC_OLMES"
|
|
59
64
|
|
|
60
65
|
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
|
@@ -76,6 +81,7 @@ class ARC_OLMES(ARC):
|
|
|
76
81
|
|
|
77
82
|
|
|
78
83
|
class ARC_IDK(ARC):
|
|
84
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
79
85
|
NAME = "ARC_IDK"
|
|
80
86
|
METRICS = [
|
|
81
87
|
AccuracyLoglikelihood,
|
|
@@ -6,12 +6,15 @@ from eval_framework.metrics.loglikelihood.accuracy_loglikelihood import (
|
|
|
6
6
|
)
|
|
7
7
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
8
8
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
9
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
9
10
|
from eval_framework.tasks.utils import get_n_letters
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class ARC_DE(BaseTask[str]):
|
|
13
14
|
"""ARC-DE dataset: https://huggingface.co/datasets/LeoLM/ArcChallenge_de"""
|
|
14
15
|
|
|
16
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
17
|
+
|
|
15
18
|
NAME = "ARC German"
|
|
16
19
|
DATASET_PATH = "LeoLM/ArcChallenge_de"
|
|
17
20
|
SAMPLE_SPLIT = "test"
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/bigcodebench.py
RENAMED
|
@@ -16,6 +16,7 @@ from eval_framework.tasks.base import (
|
|
|
16
16
|
Sample,
|
|
17
17
|
SubjectType,
|
|
18
18
|
)
|
|
19
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
19
20
|
from eval_framework.tasks.utils import (
|
|
20
21
|
BIG_CODE_BENCH_PACKAGE_MAPPING,
|
|
21
22
|
CallableSerializer,
|
|
@@ -123,6 +124,8 @@ class BigCodeBench_OLMES(BigCodeBench):
|
|
|
123
124
|
then compute pass@1 over the 5 samples per problem (post-process if needed).
|
|
124
125
|
"""
|
|
125
126
|
|
|
127
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
128
|
+
|
|
126
129
|
NAME = "BigCodeBench_OLMES"
|
|
127
130
|
SAMPLE_SPLIT = "v0.1.2"
|
|
128
131
|
FEWSHOT_SPLIT = "v0.1.2"
|
|
@@ -8,6 +8,7 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
8
8
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
9
9
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
10
10
|
from eval_framework.tasks.base import BaseTask, Language, ResponseType
|
|
11
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
11
12
|
from eval_framework.tasks.utils import get_n_letters
|
|
12
13
|
|
|
13
14
|
|
|
@@ -51,6 +52,8 @@ class COPA_OLMES(COPAEvalHarness):
|
|
|
51
52
|
space-prefixed labels (" A.", " B."); loglikelihood over " A"/" B".
|
|
52
53
|
"""
|
|
53
54
|
|
|
55
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
56
|
+
|
|
54
57
|
NAME = "COPA_OLMES"
|
|
55
58
|
|
|
56
59
|
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
|
@@ -6,6 +6,7 @@ from eval_framework.metrics.loglikelihood.accuracy_loglikelihood import (
|
|
|
6
6
|
)
|
|
7
7
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
8
8
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
9
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
9
10
|
from eval_framework.tasks.utils import get_n_letters
|
|
10
11
|
|
|
11
12
|
|
|
@@ -86,6 +87,8 @@ class CommonsenseQAMC_OLMES(CommonsenseQAMC):
|
|
|
86
87
|
CommonsenseQA MC with OLMES-style prompt: space before each label in the prompt (" A.", " B.", ...).
|
|
87
88
|
"""
|
|
88
89
|
|
|
90
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
91
|
+
|
|
89
92
|
NAME = "CommonsenseQAMC_OLMES"
|
|
90
93
|
SAMPLE_SPLIT = "train" # Use train split (largest) to best match OLMES, which evaluates all splits
|
|
91
94
|
FEWSHOT_SPLIT = "train"
|
|
@@ -10,6 +10,7 @@ from eval_framework.metrics.loglikelihood.accuracy_loglikelihood import (
|
|
|
10
10
|
)
|
|
11
11
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
12
12
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
13
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
13
14
|
from eval_framework.tasks.utils import get_n_letters
|
|
14
15
|
|
|
15
16
|
|
|
@@ -139,6 +140,8 @@ class DropCompletion(BaseTask[str]):
|
|
|
139
140
|
class DropCompletion_OLMES(DropCompletion):
|
|
140
141
|
"""DropCompletion matching OLMES, using train split for fewshot and max tokens 100."""
|
|
141
142
|
|
|
143
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
144
|
+
|
|
142
145
|
NAME = "DropCompletion_OLMES"
|
|
143
146
|
FEWSHOT_SPLIT = "train"
|
|
144
147
|
|
|
@@ -210,6 +213,8 @@ class DropMC_OLMES(DropMC):
|
|
|
210
213
|
DropMC with OLMES-style prompt: space before each label in the prompt (" A.", " B.", ...).
|
|
211
214
|
"""
|
|
212
215
|
|
|
216
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
217
|
+
|
|
213
218
|
NAME = "DropMC_OLMES"
|
|
214
219
|
|
|
215
220
|
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/global_mmlu.py
RENAMED
|
@@ -9,6 +9,7 @@ from eval_framework.metrics.loglikelihood.accuracy_loglikelihood import (
|
|
|
9
9
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
10
10
|
from eval_framework.tasks.base import RANDOM_SEED, BaseTask, Language, ResponseType
|
|
11
11
|
from eval_framework.tasks.benchmarks.mmlu import MMLU_SUBJECTS
|
|
12
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
12
13
|
from eval_framework.tasks.utils import get_n_letters
|
|
13
14
|
|
|
14
15
|
GLOBAL_MMLU_LANGUAGES = ["fr", "de", "es", "it", "pt", "ar"]
|
|
@@ -469,6 +470,8 @@ class GlobalMMLU(BaseTask[tuple[str, str]]):
|
|
|
469
470
|
https://github.com/aisingapore/SEA-HELM/blob/main/seahelm_tasks/knowledge/global_mmlu/abstract_algebra/config.yaml
|
|
470
471
|
"""
|
|
471
472
|
|
|
473
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
474
|
+
|
|
472
475
|
NAME = "GlobalMMLU"
|
|
473
476
|
DATASET_PATH = "CohereLabs/Global-MMLU"
|
|
474
477
|
SAMPLE_SPLIT = "test"
|
|
@@ -534,6 +537,7 @@ class GlobalMMLU(BaseTask[tuple[str, str]]):
|
|
|
534
537
|
|
|
535
538
|
|
|
536
539
|
class GlobalMMLU_German(GlobalMMLU):
|
|
540
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
537
541
|
NAME = "GlobalMMLU_German"
|
|
538
542
|
SUBJECTS = [("de", subject) for subject in MMLU_SUBJECTS]
|
|
539
543
|
LANGUAGE = Language.DEU
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/goldenswag.py
RENAMED
|
@@ -8,12 +8,15 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
8
8
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
9
9
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
10
10
|
from eval_framework.tasks.benchmarks.hellaswag import HELLASWAG
|
|
11
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
class GOLDENSWAG(HELLASWAG):
|
|
14
15
|
"""GoldenSwag dataset: https://huggingface.co/datasets/PleIAs/GoldenSwag
|
|
15
16
|
available data set sections: validation"""
|
|
16
17
|
|
|
18
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
19
|
+
|
|
17
20
|
NAME = "GoldenSwag"
|
|
18
21
|
DATASET_PATH = "PleIAs/GoldenSwag"
|
|
19
22
|
SAMPLE_SPLIT = "validation"
|
|
@@ -21,6 +24,7 @@ class GOLDENSWAG(HELLASWAG):
|
|
|
21
24
|
|
|
22
25
|
|
|
23
26
|
class GOLDENSWAG_IDK(GOLDENSWAG):
|
|
27
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
24
28
|
NAME = "GoldenSwag_IDK"
|
|
25
29
|
METRICS = [
|
|
26
30
|
AccuracyLoglikelihood,
|
|
@@ -13,6 +13,7 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
13
13
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
14
14
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
15
15
|
from eval_framework.tasks.base import NO_SUBJECT, RANDOM_SEED, BaseTask, Language, ResponseType, Sample, SubjectType
|
|
16
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
16
17
|
from eval_framework.tasks.utils import get_n_letters
|
|
17
18
|
|
|
18
19
|
logger = logging.getLogger(__name__)
|
|
@@ -126,6 +127,8 @@ class GPQA_OLMES(GPQA):
|
|
|
126
127
|
(" A.", " B.", " C.", " D."); loglikelihood over " A"/" B"/" C"/" D".
|
|
127
128
|
"""
|
|
128
129
|
|
|
130
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
131
|
+
|
|
129
132
|
NAME = "GPQA_OLMES"
|
|
130
133
|
|
|
131
134
|
def _get_possible_completions_marked(self, item: dict[str, Any]) -> tuple[list[str], int]:
|
|
@@ -4,6 +4,7 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
from eval_framework.metrics.completion.accuracy_completion import AccuracyCompletion, AccuracyCompletionOLMES
|
|
6
6
|
from eval_framework.tasks.base import BaseTask, Language, ResponseType, Sample
|
|
7
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
7
8
|
from eval_framework.tasks.task_style import BPBStyle
|
|
8
9
|
|
|
9
10
|
logger = logging.getLogger(__name__)
|
|
@@ -155,6 +156,7 @@ class GSM8K(GSM8KEvalHarness):
|
|
|
155
156
|
|
|
156
157
|
|
|
157
158
|
class GSM8K_OLMES(GSM8K):
|
|
159
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
158
160
|
NAME = "GSM8K_OLMES"
|
|
159
161
|
METRICS = [AccuracyCompletionOLMES]
|
|
160
162
|
|
|
@@ -219,6 +221,7 @@ class GSM8K_OLMES(GSM8K):
|
|
|
219
221
|
|
|
220
222
|
|
|
221
223
|
class GSM8KBPB(GSM8K_OLMES):
|
|
224
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
222
225
|
NAME = "GSM8KBPB"
|
|
223
226
|
TASK_STYLER = BPBStyle(cue_text="Answer:", leading_space_continuations=False)
|
|
224
227
|
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/hellaswag.py
RENAMED
|
@@ -10,12 +10,15 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
10
10
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
11
11
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
12
12
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
13
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class HELLASWAG(BaseTask[str]):
|
|
16
17
|
"""Hellaswag dataset: https://huggingface.co/datasets/Rowan/hellaswag
|
|
17
18
|
available data set sections: train, validation, test"""
|
|
18
19
|
|
|
20
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
21
|
+
|
|
19
22
|
NAME = "HellaSwag"
|
|
20
23
|
DATASET_PATH = "Rowan/hellaswag"
|
|
21
24
|
SAMPLE_SPLIT = "validation"
|
|
@@ -49,6 +52,7 @@ class HELLASWAG(BaseTask[str]):
|
|
|
49
52
|
|
|
50
53
|
|
|
51
54
|
class HELLASWAG_OLMES(HELLASWAG):
|
|
55
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
52
56
|
NAME = "HellaSwag_OLMES"
|
|
53
57
|
SAMPLE_SPLIT = "train"
|
|
54
58
|
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/humaneval.py
RENAMED
|
@@ -4,6 +4,7 @@ from eval_framework.metrics.completion.code_assertion import CodeCompletionAsser
|
|
|
4
4
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
5
5
|
from eval_framework.shared.types import BaseMetricContext
|
|
6
6
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType, Sample
|
|
7
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
7
8
|
|
|
8
9
|
CODE_TO_EXECUTE = """
|
|
9
10
|
{start_of_code}
|
|
@@ -84,6 +85,8 @@ class HumanEvalBPB(HumanEval):
|
|
|
84
85
|
Reports bits-per-byte on the reference completion.
|
|
85
86
|
"""
|
|
86
87
|
|
|
88
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
89
|
+
|
|
87
90
|
NAME = "Human Eval BPB"
|
|
88
91
|
RESPONSE_TYPE = ResponseType.LOGLIKELIHOODS
|
|
89
92
|
METRICS = [BitsPerByteLoglikelihood]
|
|
@@ -107,6 +110,8 @@ class HumanEval_OLMES(HumanEval):
|
|
|
107
110
|
llm_args: {sampling_params: {temperature: 0.6, top_p: 0.6}}
|
|
108
111
|
"""
|
|
109
112
|
|
|
113
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
114
|
+
|
|
110
115
|
NAME = "Human Eval OLMES"
|
|
111
116
|
|
|
112
117
|
def __init__(self, num_fewshot: int = 3) -> None:
|
|
@@ -3,11 +3,14 @@ from typing import Any
|
|
|
3
3
|
from eval_framework.metrics.completion.ifeval import IFEvalMetric, IFEvalMetricContext
|
|
4
4
|
from eval_framework.metrics.completion.language_checker import LanguageRawConsistencyChecker
|
|
5
5
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
6
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
class IFEval(BaseTask[str]):
|
|
9
10
|
"""IFEval: Instruction Following Eval (https://arxiv.org/pdf/2311.07911)."""
|
|
10
11
|
|
|
12
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
13
|
+
|
|
11
14
|
NAME = "IFEval"
|
|
12
15
|
DATASET_PATH = "google/IFEval"
|
|
13
16
|
SAMPLE_SPLIT = "train"
|
|
@@ -73,6 +76,8 @@ class IFEvalFiSv(IFEval):
|
|
|
73
76
|
class IFEvalDe(IFEval):
|
|
74
77
|
"""German version of the Instruction Following Evaluation (IFEval) benchmark."""
|
|
75
78
|
|
|
79
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
80
|
+
|
|
76
81
|
NAME = "IFEval German"
|
|
77
82
|
DATASET_PATH = "jzhang86/de_ifeval"
|
|
78
83
|
SUBJECTS = [NO_SUBJECT]
|
{eval_framework-0.5.2 → eval_framework-0.6.3}/src/eval_framework/tasks/benchmarks/math_reasoning.py
RENAMED
|
@@ -15,6 +15,7 @@ from eval_framework.metrics.completion.minerva_math_utils import (
|
|
|
15
15
|
normalized_gold_from_solution,
|
|
16
16
|
)
|
|
17
17
|
from eval_framework.tasks.base import NO_SUBJECT, RANDOM_SEED, BaseTask, Language, ResponseType, Sample, SubjectType
|
|
18
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
18
19
|
from eval_framework.tasks.task_style import BPBStyle
|
|
19
20
|
|
|
20
21
|
# Hendrycks MATH subject splits (shared by MATH, MATHMinervaEvalHarness, MATHMinervaBPB)
|
|
@@ -331,6 +332,8 @@ class AIME2024(MATHReasoning):
|
|
|
331
332
|
pass@1 evaluation
|
|
332
333
|
"""
|
|
333
334
|
|
|
335
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
336
|
+
|
|
334
337
|
NAME = "AIME2024"
|
|
335
338
|
DATASET_PATH = "HuggingFaceH4/aime_2024"
|
|
336
339
|
SAMPLE_SPLIT = "train"
|
|
@@ -387,6 +390,8 @@ class AIME2025(AIME2024):
|
|
|
387
390
|
pass@1 evaluation
|
|
388
391
|
"""
|
|
389
392
|
|
|
393
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
394
|
+
|
|
390
395
|
NAME = "AIME2025"
|
|
391
396
|
DATASET_PATH = "math-ai/aime25"
|
|
392
397
|
SAMPLE_SPLIT = "test"
|
|
@@ -406,6 +411,8 @@ class AIME2026(AIME2024):
|
|
|
406
411
|
pass@1 evaluation
|
|
407
412
|
"""
|
|
408
413
|
|
|
414
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
415
|
+
|
|
409
416
|
NAME = "AIME2026"
|
|
410
417
|
DATASET_PATH = "math-ai/aime26"
|
|
411
418
|
SAMPLE_SPLIT = "test"
|
|
@@ -426,6 +433,8 @@ class MATH500(MATHReasoning):
|
|
|
426
433
|
pass@1 evaluation
|
|
427
434
|
"""
|
|
428
435
|
|
|
436
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
437
|
+
|
|
429
438
|
NAME = "MATH500"
|
|
430
439
|
DATASET_PATH = "HuggingFaceH4/MATH-500"
|
|
431
440
|
SAMPLE_SPLIT = "test"
|
|
@@ -642,6 +651,8 @@ class GSM8KReasoning(MATHReasoning):
|
|
|
642
651
|
Zero-shot reasoning version that expects answers in boxed format.
|
|
643
652
|
"""
|
|
644
653
|
|
|
654
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
655
|
+
|
|
645
656
|
NAME = "GSM8KReasoning"
|
|
646
657
|
DATASET_PATH = "openai/gsm8k"
|
|
647
658
|
SAMPLE_SPLIT = "test"
|
|
@@ -742,6 +753,7 @@ _OLMES_FEWSHOTS = [
|
|
|
742
753
|
|
|
743
754
|
|
|
744
755
|
class MATHMinerva_OLMES(MATHMinerva):
|
|
756
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
745
757
|
NAME = "MATHMinerva_OLMES"
|
|
746
758
|
METRICS = [MathMinervaCompletion, MathMinervaCompletionRelaxed]
|
|
747
759
|
|
|
@@ -755,32 +767,29 @@ class MATHMinerva_OLMES(MATHMinerva):
|
|
|
755
767
|
|
|
756
768
|
|
|
757
769
|
class MATHMinervaBPB(MATHMinerva_OLMES):
|
|
770
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
758
771
|
NAME = "MATHMinervaBPB"
|
|
759
|
-
TASK_STYLER = BPBStyle(cue_text="Solution:")
|
|
760
|
-
|
|
761
|
-
# BPBStyle already adds "Solution:" as that separate assistant message. But the methods we inherit
|
|
762
|
-
# still put "Solution:" at the end of the question text and leave it out of the fewshot answer.
|
|
763
|
-
# So we override them here: remove "Solution:" from the question, and add it back in front of the
|
|
764
|
-
# fewshot answer. Without this, the question ends in "Solution:Solution:" and fewshot answers have
|
|
765
|
-
# no "Solution:" label at all.
|
|
772
|
+
TASK_STYLER = BPBStyle(cue_text="Solution:", question_prefix="Problem:\n")
|
|
766
773
|
|
|
767
|
-
|
|
768
|
-
|
|
774
|
+
# MATHMinervaEvalHarness (an ancestor) overrides _get_instruction_text/_get_fewshot_target_text/
|
|
775
|
+
# _get_ground_truth directly instead of going through a TASK_STYLER, so we re-override them here to
|
|
776
|
+
# opt back into TASK_STYLER-driven formatting. _get_raw_question/_get_choices are the required data
|
|
777
|
+
# hooks the styler reads from; they have no styler-based default and must supply the raw text.
|
|
769
778
|
|
|
770
|
-
def
|
|
771
|
-
return
|
|
779
|
+
def _get_raw_question(self, item: dict[str, Any]) -> str:
|
|
780
|
+
return item["problem"]
|
|
772
781
|
|
|
773
782
|
def _get_choices(self, item: dict[str, Any]) -> list[str]:
|
|
774
|
-
|
|
775
|
-
template = f"\nFinal Answer: The final answer is {answer}. I hope it is correct."
|
|
776
|
-
|
|
777
|
-
return [item["solution"] + template]
|
|
783
|
+
return [item["solution"]]
|
|
778
784
|
|
|
779
785
|
def _get_correct_index(self, item: dict[str, Any]) -> int:
|
|
780
786
|
return 0
|
|
781
787
|
|
|
782
|
-
def
|
|
783
|
-
return item
|
|
788
|
+
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
|
789
|
+
return self.TASK_STYLER.get_instruction_text(self._get_raw_question(item), self._get_choices(item))
|
|
790
|
+
|
|
791
|
+
def _get_fewshot_target_text(self, item: dict[str, Any]) -> str:
|
|
792
|
+
return self.TASK_STYLER.get_fewshot_target_text(self._get_choices(item), self._get_correct_index(item))
|
|
784
793
|
|
|
785
794
|
def _get_ground_truth(self, item: dict[str, Any]) -> str | None | list[str]:
|
|
786
|
-
return self._get_choices(item)
|
|
795
|
+
return self.TASK_STYLER.get_ground_truth(self._get_choices(item), self._get_correct_index(item))
|
|
@@ -9,6 +9,7 @@ from eval_framework.metrics.completion.code_assertion import (
|
|
|
9
9
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
10
10
|
from eval_framework.shared.types import BaseMetricContext
|
|
11
11
|
from eval_framework.tasks.base import BaseTask, Language, ResponseType, Sample
|
|
12
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
12
13
|
|
|
13
14
|
logger = logging.getLogger(__name__)
|
|
14
15
|
|
|
@@ -124,6 +125,8 @@ class MBPPBPB(MBPP):
|
|
|
124
125
|
Reports bits-per-byte on the reference solution.
|
|
125
126
|
"""
|
|
126
127
|
|
|
128
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
129
|
+
|
|
127
130
|
NAME = "MBPP BPB"
|
|
128
131
|
RESPONSE_TYPE = ResponseType.LOGLIKELIHOODS
|
|
129
132
|
METRICS = [BitsPerByteLoglikelihood]
|
|
@@ -271,6 +274,8 @@ class MBPP_OLMES(MBPP):
|
|
|
271
274
|
repeats: 32
|
|
272
275
|
"""
|
|
273
276
|
|
|
277
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
278
|
+
|
|
274
279
|
NAME = "MBPP_OLMES"
|
|
275
280
|
FEWSHOT_SPLIT = "test"
|
|
276
281
|
|
|
@@ -10,6 +10,7 @@ from eval_framework.metrics.loglikelihood.accuracy_loglikelihood import (
|
|
|
10
10
|
)
|
|
11
11
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
12
12
|
from eval_framework.tasks.base import NO_SUBJECT, BaseTask, Language, ResponseType
|
|
13
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
13
14
|
from eval_framework.tasks.utils import get_n_letters
|
|
14
15
|
|
|
15
16
|
|
|
@@ -79,6 +80,8 @@ class MedQAMC_OLMES(MedQAMC):
|
|
|
79
80
|
MedQA multiple choice with OLMES-style prompt: space before each label (" A.", " B.", ...).
|
|
80
81
|
"""
|
|
81
82
|
|
|
83
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
84
|
+
|
|
82
85
|
NAME = "MedQAMC_OLMES"
|
|
83
86
|
FEWSHOT_SPLIT = "train"
|
|
84
87
|
|
|
@@ -11,6 +11,7 @@ from eval_framework.metrics.loglikelihood.confidence_weighted_accuracy import Co
|
|
|
11
11
|
from eval_framework.metrics.loglikelihood.dcs import DistributionalCorrectnessScore
|
|
12
12
|
from eval_framework.metrics.loglikelihood.ternary import TernaryScore
|
|
13
13
|
from eval_framework.tasks.base import BaseTask, Language, ResponseType, Sample
|
|
14
|
+
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
14
15
|
from eval_framework.tasks.utils import get_n_letters
|
|
15
16
|
|
|
16
17
|
MMLU_SUBJECTS = [
|
|
@@ -77,6 +78,8 @@ MMLU_SUBJECTS = [
|
|
|
77
78
|
class MMLU(BaseTask[str]):
|
|
78
79
|
"""MMLU dataset: https://huggingface.co/datasets/cais/mmlu"""
|
|
79
80
|
|
|
81
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
82
|
+
|
|
80
83
|
NAME = "MMLU"
|
|
81
84
|
DATASET_PATH = "cais/mmlu"
|
|
82
85
|
SAMPLE_SPLIT = "test"
|
|
@@ -123,6 +126,8 @@ class MMLU_OLMES(MMLU):
|
|
|
123
126
|
MMLU with OLMES-style prompt: space before each label in the prompt (" A.", " B.", ...).
|
|
124
127
|
"""
|
|
125
128
|
|
|
129
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
130
|
+
|
|
126
131
|
NAME = "MMLU_OLMES"
|
|
127
132
|
|
|
128
133
|
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
|
@@ -156,6 +161,7 @@ Answer with the full text of the correct answer."""
|
|
|
156
161
|
|
|
157
162
|
|
|
158
163
|
class MMLU_IDK(MMLU):
|
|
164
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
159
165
|
NAME = "MMLU_IDK"
|
|
160
166
|
METRICS = [
|
|
161
167
|
AccuracyLoglikelihood,
|
|
@@ -183,6 +189,8 @@ class MMLU_COT(MMLU):
|
|
|
183
189
|
Inspired by https://arxiv.org/pdf/2411.15124 (Table 44)
|
|
184
190
|
"""
|
|
185
191
|
|
|
192
|
+
REVISION_LOCKFILE = HF_REVISIONS_LOCKFILE
|
|
193
|
+
|
|
186
194
|
NAME = "MMLU_COT"
|
|
187
195
|
RESPONSE_TYPE = ResponseType.COMPLETION
|
|
188
196
|
METRICS = [AccuracyCompletion]
|