eval-framework 0.5.3__tar.gz → 0.6.4__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.3 → eval_framework-0.6.4}/PKG-INFO +6 -6
- {eval_framework-0.5.3 → eval_framework-0.6.4}/pyproject.toml +8 -9
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/context/determined.py +6 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/context/eval.py +2 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/context/local.py +1 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/code_assertion.py +1 -1
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/response_generator.py +7 -2
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/run.py +8 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/suite.py +2 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/base.py +29 -2
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/arc.py +6 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/arc_de.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/bigcodebench.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/copa.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/csqa.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/drop.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/global_mmlu.py +4 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/goldenswag.py +4 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/gpqa.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/gsm8k.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/hellaswag.py +4 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/humaneval.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/ifeval.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/math_reasoning.py +27 -18
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/mbpp.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/medqa.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/mmlu.py +8 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/mmlu_pro.py +7 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/multipl_e.py +25 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/naturalqs_open.py +4 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/piqa.py +6 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/sciq.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/social_iqa.py +3 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/squad.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/triviaqa.py +5 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/winogrande.py +3 -0
- eval_framework-0.6.4/src/eval_framework/tasks/dataset_revisions.py +145 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/eval_config.py +4 -0
- eval_framework-0.6.4/src/eval_framework/tasks/hf-dataset-revisions.json +36 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/registry.py +65 -21
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/task_names.py +13 -7
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/utils.py +9 -1
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/generate_task_docs.py +4 -3
- eval_framework-0.5.3/src/eval_framework/metrics/completion/aidanbench.py +0 -28
- eval_framework-0.5.3/src/eval_framework/metrics/completion/struct_eval_metrics.py +0 -248
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/aidanbench.py +0 -220
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/arc_fi.py +0 -46
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/balancedcopa.py +0 -56
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/belebele.py +0 -60
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/casehold.py +0 -49
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/chembench.py +0 -85
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/duc.py +0 -95
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/flores200.py +0 -122
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/flores_plus.py +0 -83
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/hellaswag_de.py +0 -53
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/include.py +0 -119
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/infinitebench.py +0 -299
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/lab_bench.py +0 -89
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/mmlu_de.py +0 -111
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/mmmlu.py +0 -535
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/openbookqa.py +0 -130
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/opengptx_eu20.py +0 -373
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/pawsx.py +0 -65
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/quality.py +0 -56
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/sphyr.py +0 -79
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/struct_eval.py +0 -116
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/tablebench.py +0 -121
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/truthfulqa.py +0 -165
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/winogender.py +0 -64
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/winox.py +0 -89
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/wmt.py +0 -160
- eval_framework-0.5.3/src/eval_framework/tasks/benchmarks/zero_scrolls.py +0 -199
- eval_framework-0.5.3/src/eval_framework/tasks/dataset_revisions.py +0 -106
- {eval_framework-0.5.3 → eval_framework-0.6.4}/LICENSE +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/README.md +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/base_config.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/context/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/evaluation_generator.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/exceptions.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/drop_process_results.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/ifeval_impl/README.md +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/ifeval_impl/instructions.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/ifeval_impl/instructions_registry.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/ifeval_impl/instructions_util.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/external/ifeval_impl/utils.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/aleph_alpha.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/base.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/huggingface.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/mistral.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/models.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/openai.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/vllm.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/llm/vllm_local_server.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/logger.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/main.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/aggregators/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/aggregators/aggregators.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/base.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/accuracy_completion.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/bleu.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/chrf.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/code_execution_pass_at_one.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/concordance_index.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/csv_format.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/drop_completion.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/exponential_similarity.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/f1.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/format_checker.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/grid_difference.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/ifeval.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/json_format.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/language_checker.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/length_control.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/math_minerva_completion.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/math_reasoning_completion.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/minerva_math_utils.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/multipl_e_assertion.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/placeholder_checker.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/repetition.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/rouge_1.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/rouge_2.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/rouge_geometric_mean.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/rouge_l.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/ter.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/completion/text_counter.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/efficiency/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/efficiency/bytes_per_sequence_position.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/base.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/chatbot_style_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/coherence_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/comparison_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/conciseness_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/contains_names_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/format_correctness_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/instruction_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/language.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/long_context_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/models.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/refusal_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/sql_quality_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/graders/summary_world_knowledge_grader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_chatbot_style.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_coherence.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_completion_accuracy.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_conciseness.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_contains_names.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_format_correctness.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_instruction.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_mtbench_pair.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_mtbench_single.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_refusal.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_sql.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/llm_judge_world_knowledge.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/llm/utils.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/accuracy_loglikelihood.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/base.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/bits_per_byte.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/confidence_weighted_accuracy.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/dcs.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/probability_mass.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/metrics/loglikelihood/ternary.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/py.typed +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/result_processors/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/result_processors/base.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/result_processors/hf_uploader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/result_processors/result_processor.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/result_processors/wandb_uploader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/run_direct.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/shared/types.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/Dockerfile_codebench +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/benchmarks/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/perturbation.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/task-dataset-revisions.json +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/task_loader.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/tasks/task_style.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/constants.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/file_ops.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/helpers.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/logging.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/packaging.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/eval_framework/utils/tqdm_handler.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/template_formatting/README.md +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/template_formatting/__init__.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/template_formatting/formatter.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/src/template_formatting/mistral_formatter.py +0 -0
- {eval_framework-0.5.3 → eval_framework-0.6.4}/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.4
|
|
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.4"
|
|
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",
|
|
@@ -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"
|
|
@@ -30,6 +30,7 @@ class TaskArgs(BaseModel):
|
|
|
30
30
|
judge_model_args: dict[str, Any] = {}
|
|
31
31
|
task_subjects: list[str] | None = None
|
|
32
32
|
hf_revision: str | None = None
|
|
33
|
+
user_prompt_suffix: str | None = None
|
|
33
34
|
perturbation_config: PerturbationConfig | None = None
|
|
34
35
|
repeats: int | None = None
|
|
35
36
|
|
|
@@ -108,6 +109,7 @@ class DeterminedContext(EvalContext):
|
|
|
108
109
|
"task_subjects",
|
|
109
110
|
"batch_size",
|
|
110
111
|
"hf_revision",
|
|
112
|
+
"user_prompt_suffix",
|
|
111
113
|
"judge_model_name",
|
|
112
114
|
"judge_model_args",
|
|
113
115
|
"perturbation_config",
|
|
@@ -121,6 +123,9 @@ class DeterminedContext(EvalContext):
|
|
|
121
123
|
# Hyperparameters take precedence over core context
|
|
122
124
|
llm_name = self.hparams.llm_name or self.llm_name
|
|
123
125
|
judge_model_name = self.hparams.task_args.judge_model_name or self.judge_model_name
|
|
126
|
+
user_prompt_suffix = self.hparams.task_args.user_prompt_suffix
|
|
127
|
+
if user_prompt_suffix is None:
|
|
128
|
+
user_prompt_suffix = self.user_prompt_suffix
|
|
124
129
|
|
|
125
130
|
llm_class = _load_model(llm_name, models_path=self.models_path)
|
|
126
131
|
llm_judge_class: type[BaseLLM] | None = (
|
|
@@ -139,6 +144,7 @@ class DeterminedContext(EvalContext):
|
|
|
139
144
|
task_name=self.hparams.task_args.task_name,
|
|
140
145
|
task_subjects=self.hparams.task_args.task_subjects,
|
|
141
146
|
hf_revision=self.hparams.task_args.hf_revision or self.hf_revision,
|
|
147
|
+
user_prompt_suffix=user_prompt_suffix,
|
|
142
148
|
perturbation_config=self.hparams.task_args.perturbation_config or self.perturbation_config,
|
|
143
149
|
output_dir=self.hparams.output_dir,
|
|
144
150
|
llm_judge_class=llm_judge_class,
|
|
@@ -57,6 +57,7 @@ class EvalContext(AbstractContextManager):
|
|
|
57
57
|
task_name: str | None = None,
|
|
58
58
|
task_subjects: list[str] | None = None,
|
|
59
59
|
hf_revision: str | None = None,
|
|
60
|
+
user_prompt_suffix: str | None = None,
|
|
60
61
|
output_dir: Path | None = None,
|
|
61
62
|
wandb_project: str | None = None,
|
|
62
63
|
wandb_entity: str | None = None,
|
|
@@ -86,6 +87,7 @@ class EvalContext(AbstractContextManager):
|
|
|
86
87
|
self.task_name = task_name
|
|
87
88
|
self.task_subjects = task_subjects
|
|
88
89
|
self.hf_revision = hf_revision
|
|
90
|
+
self.user_prompt_suffix = user_prompt_suffix
|
|
89
91
|
self.output_dir = output_dir
|
|
90
92
|
self.wandb_project = wandb_project
|
|
91
93
|
self.wandb_entity = wandb_entity
|
|
@@ -52,6 +52,7 @@ class LocalContext(EvalContext):
|
|
|
52
52
|
task_name=self.task_name,
|
|
53
53
|
task_subjects=self.task_subjects,
|
|
54
54
|
hf_revision=self.hf_revision,
|
|
55
|
+
user_prompt_suffix=self.user_prompt_suffix,
|
|
55
56
|
output_dir=self.output_dir,
|
|
56
57
|
hf_upload_dir=self.hf_upload_dir,
|
|
57
58
|
hf_upload_repo=self.hf_upload_repo,
|
|
@@ -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.
|
|
@@ -66,10 +66,14 @@ class ResponseGenerator:
|
|
|
66
66
|
config.num_fewshot,
|
|
67
67
|
config.task_subjects,
|
|
68
68
|
config.hf_revision,
|
|
69
|
+
user_prompt_suffix=config.user_prompt_suffix,
|
|
69
70
|
)
|
|
70
71
|
else:
|
|
71
72
|
self.task = registry()[config.task_name].create(
|
|
72
|
-
config.num_fewshot,
|
|
73
|
+
config.num_fewshot,
|
|
74
|
+
config.task_subjects,
|
|
75
|
+
config.hf_revision,
|
|
76
|
+
user_prompt_suffix=config.user_prompt_suffix,
|
|
73
77
|
)
|
|
74
78
|
|
|
75
79
|
self.response_type = self.task.get_response_type()
|
|
@@ -345,9 +349,10 @@ class ResponseGenerator:
|
|
|
345
349
|
"llm_args",
|
|
346
350
|
"perturbation_config",
|
|
347
351
|
"repeats",
|
|
352
|
+
"user_prompt_suffix",
|
|
348
353
|
]
|
|
349
354
|
for key in keys:
|
|
350
|
-
if loaded_metadata
|
|
355
|
+
if loaded_metadata.get(key) != current_metadata[key]:
|
|
351
356
|
raise ValueError(f"Existing metadata does not match current metadata for {key}.")
|
|
352
357
|
|
|
353
358
|
def __del__(self) -> None:
|
|
@@ -150,6 +150,13 @@ def parse_args() -> argparse.Namespace:
|
|
|
150
150
|
default=None,
|
|
151
151
|
help="A tag name, a branch name, or commit hash for the task HF dataset.",
|
|
152
152
|
)
|
|
153
|
+
parser.add_argument(
|
|
154
|
+
"--user-prompt-suffix",
|
|
155
|
+
type=str,
|
|
156
|
+
required=False,
|
|
157
|
+
default=None,
|
|
158
|
+
help="Text appended verbatim to the evaluated user prompt before formatting.",
|
|
159
|
+
)
|
|
153
160
|
parser.add_argument(
|
|
154
161
|
"--judge-models",
|
|
155
162
|
type=Path,
|
|
@@ -343,6 +350,7 @@ def _run_single_task(kwargs: dict) -> None:
|
|
|
343
350
|
task_name=kwargs["task_name"],
|
|
344
351
|
task_subjects=kwargs["task_subjects"],
|
|
345
352
|
hf_revision=kwargs["hf_revision"],
|
|
353
|
+
user_prompt_suffix=kwargs.get("user_prompt_suffix"),
|
|
346
354
|
output_dir=kwargs["output_dir"],
|
|
347
355
|
wandb_project=kwargs["wandb_project"],
|
|
348
356
|
wandb_entity=kwargs["wandb_entity"],
|
|
@@ -34,6 +34,7 @@ _EVAL_CONFIG_FIELDS = {
|
|
|
34
34
|
"batch_size",
|
|
35
35
|
"task_subjects",
|
|
36
36
|
"hf_revision",
|
|
37
|
+
"user_prompt_suffix",
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
_HYPERPARAM_FIELDS = _LLM_ARG_FIELDS | _EVAL_CONFIG_FIELDS
|
|
@@ -100,6 +101,7 @@ class TaskSuite(BaseModel):
|
|
|
100
101
|
batch_size: int | None = None
|
|
101
102
|
task_subjects: list[str] | None = None
|
|
102
103
|
hf_revision: str | None = None
|
|
104
|
+
user_prompt_suffix: str | None = None
|
|
103
105
|
|
|
104
106
|
@model_validator(mode="after")
|
|
105
107
|
def validate_suite(self) -> Self:
|
|
@@ -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
|
|
@@ -109,6 +115,7 @@ class BaseTask[SubjectType](ABC):
|
|
|
109
115
|
|
|
110
116
|
def __init__(self, num_fewshot: int = 0) -> None:
|
|
111
117
|
self.num_fewshot = num_fewshot
|
|
118
|
+
self.user_prompt_suffix: str | None = None
|
|
112
119
|
self.stop_sequences: list[str] | None = None
|
|
113
120
|
self.max_tokens: int | None = None
|
|
114
121
|
self._apply_hf_revision()
|
|
@@ -123,9 +130,17 @@ class BaseTask[SubjectType](ABC):
|
|
|
123
130
|
|
|
124
131
|
@classmethod
|
|
125
132
|
def with_overwrite(
|
|
126
|
-
cls,
|
|
133
|
+
cls,
|
|
134
|
+
num_fewshot: int,
|
|
135
|
+
*,
|
|
136
|
+
custom_subjects: list[str] | None,
|
|
137
|
+
custom_hf_revision: str | None,
|
|
138
|
+
user_prompt_suffix: str | None = None,
|
|
127
139
|
) -> Self:
|
|
128
140
|
instance = cls(num_fewshot=num_fewshot)
|
|
141
|
+
if user_prompt_suffix is not None and instance.get_response_type() != ResponseType.COMPLETION:
|
|
142
|
+
raise ValueError("user_prompt_suffix is only supported for completion tasks.")
|
|
143
|
+
instance.user_prompt_suffix = user_prompt_suffix
|
|
129
144
|
|
|
130
145
|
# If custom subjects were provided during initialization, they take precedence over the class-level SUBJECTS.
|
|
131
146
|
filtered_subjects = instance._filter_task_subjects(custom_subjects=custom_subjects)
|
|
@@ -235,7 +250,7 @@ class BaseTask[SubjectType](ABC):
|
|
|
235
250
|
|
|
236
251
|
def _get_messages(self, item: dict[str, Any]) -> list[Message]:
|
|
237
252
|
example_messages = self._get_example_messages(item)
|
|
238
|
-
instruction_message = self._get_instruction_messages(item)
|
|
253
|
+
instruction_message = self._apply_user_prompt_suffix(self._get_instruction_messages(item))
|
|
239
254
|
cue_text = self._get_cue_text(item)
|
|
240
255
|
cue_message = [Message(role=Role.ASSISTANT, content=cue_text)] if cue_text else []
|
|
241
256
|
messages = example_messages + instruction_message + cue_message
|
|
@@ -248,6 +263,18 @@ class BaseTask[SubjectType](ABC):
|
|
|
248
263
|
return [Message(role=Role.SYSTEM, content=system_prompt_text)] + messages
|
|
249
264
|
return messages
|
|
250
265
|
|
|
266
|
+
def _apply_user_prompt_suffix(self, instruction_messages: list[Message]) -> list[Message]:
|
|
267
|
+
"""Append the configured suffix verbatim to the evaluated user turn."""
|
|
268
|
+
if self.user_prompt_suffix is None:
|
|
269
|
+
return instruction_messages
|
|
270
|
+
|
|
271
|
+
for message in reversed(instruction_messages):
|
|
272
|
+
if message.role == Role.USER:
|
|
273
|
+
message.content = f"{message.content}{self.user_prompt_suffix}"
|
|
274
|
+
return instruction_messages
|
|
275
|
+
|
|
276
|
+
raise ValueError("Cannot append user_prompt_suffix: evaluated instruction contains no user message.")
|
|
277
|
+
|
|
251
278
|
def _get_instruction_messages(self, item: dict[str, Any]) -> list[Message]:
|
|
252
279
|
return [Message(role=Role.USER, content=self._get_instruction_text(item))]
|
|
253
280
|
|
|
@@ -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.3 → eval_framework-0.6.4}/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.3 → eval_framework-0.6.4}/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.3 → eval_framework-0.6.4}/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.3 → eval_framework-0.6.4}/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.3 → eval_framework-0.6.4}/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]
|