eval-framework 0.8.11__tar.gz → 0.9.1__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.8.11 → eval_framework-0.9.1}/PKG-INFO +5 -3
- {eval_framework-0.8.11 → eval_framework-0.9.1}/README.md +2 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/pyproject.toml +3 -3
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/response_generator.py +1 -1
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/base.py +57 -8
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/gpqa.py +5 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/markdown_doc.py +1 -1
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/registry.py +46 -45
- eval_framework-0.9.1/src/eval_framework/tasks/task_names.py +213 -0
- eval_framework-0.8.11/src/eval_framework/tasks/task_names.py +0 -81
- {eval_framework-0.8.11 → eval_framework-0.9.1}/LICENSE +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/base_config.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/context/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/context/determined.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/context/eval.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/context/local.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/evaluation_generator.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/exceptions.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/drop_process_results.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/ifeval_impl/README.md +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/ifeval_impl/instructions.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/ifeval_impl/instructions_registry.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/ifeval_impl/instructions_util.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/external/ifeval_impl/utils.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/aleph_alpha.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/base.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/huggingface.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/models.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/llm/openai.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/logger.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/main.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/aggregators/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/aggregators/aggregators.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/base.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/accuracy_completion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/code_assertion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/code_execution_pass_at_one.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/concordance_index.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/csv_format.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/drop_completion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/exponential_similarity.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/f1.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/format_checker.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/grid_difference.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/ifeval.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/json_format.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/language_checker.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/length_control.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/math_minerva_completion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/math_reasoning_completion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/minerva_math_utils.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/multipl_e_assertion.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/placeholder_checker.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/repetition.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/rouge_1.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/rouge_2.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/rouge_geometric_mean.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/rouge_l.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/completion/text_counter.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/efficiency/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/efficiency/bytes_per_sequence_position.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/base.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/chatbot_style_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/coherence_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/comparison_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/conciseness_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/contains_names_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/format_correctness_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/instruction_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/language.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/long_context_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/models.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/refusal_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/sql_quality_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/graders/summary_world_knowledge_grader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_chatbot_style.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_coherence.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_completion_accuracy.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_conciseness.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_contains_names.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_format_correctness.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_instruction.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_mtbench_pair.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_mtbench_single.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_refusal.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_sql.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/llm_judge_world_knowledge.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/llm/utils.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/accuracy_loglikelihood.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/base.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/bits_per_byte.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/confidence_weighted_accuracy.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/dcs.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/probability_mass.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/metrics/loglikelihood/ternary.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/py.typed +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/result_processors/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/result_processors/base.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/result_processors/hf_uploader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/result_processors/result_processor.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/result_processors/wandb_uploader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/run.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/run_direct.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/shared/types.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/suite.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/Dockerfile_codebench +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/arc.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/arc_de.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/bigcodebench.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/copa.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/csqa.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/drop.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/global_mmlu.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/goldenswag.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/gsm8k.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/hellaswag.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/humaneval.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/ifeval.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/math_reasoning.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/mbpp.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/medqa.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/mmlu.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/mmlu_pro.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/multipl_e.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/naturalqs_open.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/piqa.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/sciq.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/social_iqa.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/squad.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/benchmarks/winogrande.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/dataset_revisions.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/eval_config.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/frozen-hf-dataset-revisions.json +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/hf-dataset-revisions.json +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/perturbation.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/task_loader.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/task_style.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/tasks/utils.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/constants.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/file_ops.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/helpers.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/logging.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/packaging.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/eval_framework/utils/tqdm_handler.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/template_formatting/README.md +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/template_formatting/__init__.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/template_formatting/formatter.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/src/template_formatting/mistral_formatter.py +0 -0
- {eval_framework-0.8.11 → eval_framework-0.9.1}/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.9.1
|
|
4
4
|
Summary: Evaluation Framework
|
|
5
5
|
Author: Aleph Alpha Research
|
|
6
6
|
License: Apache License
|
|
@@ -226,7 +226,7 @@ Requires-Dist: jsonschema>=4.26.0,<5
|
|
|
226
226
|
Requires-Dist: mysql-connector-python>=26.7.0,<27
|
|
227
227
|
Requires-Dist: psycopg2-binary>=2.9.12,<3
|
|
228
228
|
Requires-Dist: sympy>=1.14.0,<2
|
|
229
|
-
Requires-Dist: llm-sandbox[docker]==0.3.
|
|
229
|
+
Requires-Dist: llm-sandbox[docker]==0.3.44
|
|
230
230
|
Requires-Dist: jsonlines>=4,<5
|
|
231
231
|
Requires-Dist: lxml>=6.1.1,<7
|
|
232
232
|
Requires-Dist: python-iso639>=2026.7.23
|
|
@@ -240,7 +240,7 @@ Requires-Dist: eval-framework[determined,api,openai,transformers,accelerate,opti
|
|
|
240
240
|
Requires-Dist: aleph-alpha-client>=11.5.1 ; extra == 'api'
|
|
241
241
|
Requires-Dist: determined>=0.38.1,<0.39 ; extra == 'determined'
|
|
242
242
|
Requires-Dist: tensorboard==2.21.0 ; extra == 'determined'
|
|
243
|
-
Requires-Dist: openai>=2.
|
|
243
|
+
Requires-Dist: openai>=2.53.0,<3 ; extra == 'openai'
|
|
244
244
|
Requires-Dist: tiktoken>=0.13.0,<1 ; extra == 'openai'
|
|
245
245
|
Requires-Dist: transformers>=4.45.2,<5 ; extra == 'openai'
|
|
246
246
|
Requires-Dist: transformers>=4.45.2,<5 ; extra == 'optional'
|
|
@@ -450,11 +450,13 @@ from eval_framework.main import main
|
|
|
450
450
|
from eval_framework.tasks.eval_config import EvalConfig
|
|
451
451
|
from template_formatting.formatter import HFFormatter
|
|
452
452
|
|
|
453
|
+
|
|
453
454
|
# Define your model
|
|
454
455
|
class MyHuggingFaceModel(HFLLM):
|
|
455
456
|
LLM_NAME = "microsoft/DialoGPT-medium"
|
|
456
457
|
DEFAULT_FORMATTER = partial(HFFormatter, "microsoft/DialoGPT-medium")
|
|
457
458
|
|
|
459
|
+
|
|
458
460
|
if __name__ == "__main__":
|
|
459
461
|
# Initialize your model
|
|
460
462
|
llm = MyHuggingFaceModel()
|
|
@@ -189,11 +189,13 @@ from eval_framework.main import main
|
|
|
189
189
|
from eval_framework.tasks.eval_config import EvalConfig
|
|
190
190
|
from template_formatting.formatter import HFFormatter
|
|
191
191
|
|
|
192
|
+
|
|
192
193
|
# Define your model
|
|
193
194
|
class MyHuggingFaceModel(HFLLM):
|
|
194
195
|
LLM_NAME = "microsoft/DialoGPT-medium"
|
|
195
196
|
DEFAULT_FORMATTER = partial(HFFormatter, "microsoft/DialoGPT-medium")
|
|
196
197
|
|
|
198
|
+
|
|
197
199
|
if __name__ == "__main__":
|
|
198
200
|
# Initialize your model
|
|
199
201
|
llm = MyHuggingFaceModel()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "eval-framework"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.9.1"
|
|
4
4
|
description = "Evaluation Framework"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -33,7 +33,7 @@ dependencies = [
|
|
|
33
33
|
"mysql-connector-python>=26.7.0,<27", # required for sql-related tasks
|
|
34
34
|
"psycopg2-binary>=2.9.12,<3", # required for sql-related tasks
|
|
35
35
|
"sympy>=1.14.0,<2",
|
|
36
|
-
"llm-sandbox[docker]==0.3.
|
|
36
|
+
"llm-sandbox[docker]==0.3.44",
|
|
37
37
|
"jsonlines>=4,<5",
|
|
38
38
|
"lxml>=6.1.1,<7",
|
|
39
39
|
"python-iso639>=2026.7.23",
|
|
@@ -54,7 +54,7 @@ determined = [
|
|
|
54
54
|
]
|
|
55
55
|
api = ["aleph-alpha-client>=11.5.1"]
|
|
56
56
|
openai = [
|
|
57
|
-
"openai>=2.
|
|
57
|
+
"openai>=2.53.0,<3",
|
|
58
58
|
"tiktoken>=0.13.0,<1",
|
|
59
59
|
"transformers>=4.45.2,<5",
|
|
60
60
|
]
|
|
@@ -179,7 +179,7 @@ class ResponseGenerator:
|
|
|
179
179
|
:param should_preempt_callable: function to check if preempt is called
|
|
180
180
|
:return: list of responses, preempted
|
|
181
181
|
"""
|
|
182
|
-
logger.info(f"{RED}[ Running task {self.task.
|
|
182
|
+
logger.info(f"{RED}[ Running task {self.task.display_name()} against model ------------ ]{RESET}")
|
|
183
183
|
self.start_time, monotonic_start = time.time(), time.monotonic()
|
|
184
184
|
run_fn = self._generative_output_type_selector()
|
|
185
185
|
self._verify_loaded_metadata_compatibility()
|
|
@@ -2,7 +2,7 @@ import logging
|
|
|
2
2
|
import os
|
|
3
3
|
import random
|
|
4
4
|
import traceback
|
|
5
|
-
from abc import ABC
|
|
5
|
+
from abc import ABC, abstractmethod
|
|
6
6
|
from collections.abc import Iterable, Sequence
|
|
7
7
|
from enum import Enum
|
|
8
8
|
from pathlib import Path
|
|
@@ -86,7 +86,37 @@ SubjectType = TypeVar("SubjectType")
|
|
|
86
86
|
logger = logging.getLogger(__name__)
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
class
|
|
89
|
+
class Task(ABC):
|
|
90
|
+
"""The contract a caller relies on to run an evaluation"""
|
|
91
|
+
|
|
92
|
+
@abstractmethod
|
|
93
|
+
def iterate_samples(self, num_samples: int | None = None) -> Iterable[Sample]: ...
|
|
94
|
+
|
|
95
|
+
@abstractmethod
|
|
96
|
+
def generate_completions(
|
|
97
|
+
self,
|
|
98
|
+
llm: "BaseLLM",
|
|
99
|
+
samples: list[Sample],
|
|
100
|
+
stop_sequences: list[str] | None = None,
|
|
101
|
+
max_tokens: int | None = None,
|
|
102
|
+
fail_on_error: bool = True,
|
|
103
|
+
) -> list[Completion]:
|
|
104
|
+
"""Run ``llm`` over ``samples`` and return their completions."""
|
|
105
|
+
|
|
106
|
+
@abstractmethod
|
|
107
|
+
def get_metadata(self) -> dict[str, str | list[str]]:
|
|
108
|
+
"""Descriptive metadata about the eval for result reporting."""
|
|
109
|
+
|
|
110
|
+
@abstractmethod
|
|
111
|
+
def get_response_type(self) -> ResponseType: ...
|
|
112
|
+
|
|
113
|
+
@abstractmethod
|
|
114
|
+
def display_name(self) -> str:
|
|
115
|
+
"""Human-readable display name. Is allowed to have special characters and whitespaces."""
|
|
116
|
+
...
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class BaseTask[SubjectType](Task):
|
|
90
120
|
NAME: str
|
|
91
121
|
DATASET_PATH: str
|
|
92
122
|
SAMPLE_SPLIT: str
|
|
@@ -160,11 +190,27 @@ class BaseTask[SubjectType](ABC):
|
|
|
160
190
|
|
|
161
191
|
assert hasattr(self, "SUBJECTS") and len(self.SUBJECTS) > 0
|
|
162
192
|
if isinstance(self.SUBJECTS[0], tuple):
|
|
163
|
-
# subjects are specified as strings but
|
|
164
|
-
|
|
193
|
+
# subjects are specified as comma-separated strings but tuple positions may each hold a
|
|
194
|
+
# different type (e.g. tuple[str, int, str]). Infer the expected type per position from an
|
|
195
|
+
# actual subject and cast each part back to it, so it compares equal to the real values
|
|
196
|
+
# below instead of just their str() form. "*" is a wildcard sentinel and stays a string.
|
|
197
|
+
num_items = len(self.SUBJECTS[0])
|
|
198
|
+
position_types = [type(self.SUBJECTS[0][i]) for i in range(num_items)]
|
|
199
|
+
|
|
200
|
+
def cast(raw: str, i: int) -> Any:
|
|
201
|
+
raw = raw.strip()
|
|
202
|
+
return raw if raw == "*" else position_types[i](raw)
|
|
203
|
+
|
|
204
|
+
filters = []
|
|
205
|
+
for custom_subject in custom_subjects:
|
|
206
|
+
parts = custom_subject.split(",")
|
|
207
|
+
assert len(parts) == num_items, (
|
|
208
|
+
f"Subject '{custom_subject}' has {len(parts)} parts, expected {num_items} for "
|
|
209
|
+
f"task {self.display_name()}"
|
|
210
|
+
)
|
|
211
|
+
filters.append(tuple(cast(part, i) for i, part in enumerate(parts)))
|
|
165
212
|
|
|
166
213
|
# check if all parts of custom subjects exists (* is a wildcard)
|
|
167
|
-
num_items = len(self.SUBJECTS[0])
|
|
168
214
|
legal_values = [
|
|
169
215
|
set([s[i] for s in self.SUBJECTS if isinstance(s, tuple)] + ["*"]) for i in range(num_items)
|
|
170
216
|
]
|
|
@@ -174,18 +220,18 @@ class BaseTask[SubjectType](ABC):
|
|
|
174
220
|
assert v in legal_values[i], f"Subject part {v} not found in task {self.__class__.__name__}"
|
|
175
221
|
|
|
176
222
|
# filter task subjects. * is a supported wildcard for a specific item in a tuple, e.g. "DE_DE, *"
|
|
177
|
-
chosen_subjects = []
|
|
223
|
+
chosen_subjects: list[tuple] = []
|
|
178
224
|
for subject in self.SUBJECTS:
|
|
179
225
|
subject_tuple = subject if isinstance(subject, tuple) else tuple(str(subject).split(","))
|
|
180
226
|
for filter in filters:
|
|
181
227
|
if all(filter[i] == "*" or filter[i] == subject_tuple[i] for i in range(num_items)):
|
|
182
228
|
chosen_subjects.append(subject_tuple)
|
|
183
229
|
break
|
|
184
|
-
return chosen_subjects
|
|
230
|
+
return chosen_subjects
|
|
185
231
|
else:
|
|
186
232
|
for cs in custom_subjects:
|
|
187
233
|
assert cs in self.SUBJECTS, f"Subject {cs} not found in task {self.__class__.__name__}"
|
|
188
|
-
return custom_subjects
|
|
234
|
+
return custom_subjects
|
|
189
235
|
|
|
190
236
|
def _load_hf_dataset(self, **kwargs: Any) -> Any:
|
|
191
237
|
cache_dir: str = os.environ.get("HF_DATASET_CACHE_DIR", f"{Path.home()}/.cache/huggingface/datasets")
|
|
@@ -497,3 +543,6 @@ class BaseTask[SubjectType](ABC):
|
|
|
497
543
|
def METRICS(cls) -> list[type["BaseMetric"]]:
|
|
498
544
|
"""For backwards compatibility."""
|
|
499
545
|
return cls.get_metrics()
|
|
546
|
+
|
|
547
|
+
def display_name(self) -> str:
|
|
548
|
+
return self.NAME
|
|
@@ -47,7 +47,7 @@ def markdown_doc(
|
|
|
47
47
|
buf.write(f"- Module: `{module}`\n\n")
|
|
48
48
|
|
|
49
49
|
if http_path:
|
|
50
|
-
buf.write(f"- Link to dataset: [{http_path}]({http_path})\n
|
|
50
|
+
buf.write(f"- Link to dataset: [{http_path}]({http_path})\n")
|
|
51
51
|
else:
|
|
52
52
|
assert example_messages is not None, "a task without a dataset link must supply an example sample"
|
|
53
53
|
for split, size in (split_sizes or {}).items():
|
|
@@ -18,7 +18,6 @@ __all__ = [
|
|
|
18
18
|
"EvalFactory",
|
|
19
19
|
"Registry",
|
|
20
20
|
"with_registry",
|
|
21
|
-
"get_task",
|
|
22
21
|
"is_registered",
|
|
23
22
|
"validate_task_name",
|
|
24
23
|
"registered_task_names",
|
|
@@ -36,8 +35,8 @@ class EvalFactory(ABC):
|
|
|
36
35
|
"""
|
|
37
36
|
|
|
38
37
|
@abstractmethod
|
|
39
|
-
def
|
|
40
|
-
"
|
|
38
|
+
def id(self) -> str:
|
|
39
|
+
"Canonical key used to register this benchmark"
|
|
41
40
|
|
|
42
41
|
@property
|
|
43
42
|
@abstractmethod
|
|
@@ -75,13 +74,10 @@ class EvalFactory(ABC):
|
|
|
75
74
|
user_prompt_suffix: str | None = None,
|
|
76
75
|
) -> BaseTask: ...
|
|
77
76
|
|
|
77
|
+
@abstractmethod
|
|
78
78
|
def markdown_doc(self, formatters: Sequence[BaseFormatter]) -> str:
|
|
79
79
|
"""Render the eval's documentation as markdown."""
|
|
80
|
-
|
|
81
|
-
task = self.create(num_fewshot=1, custom_subjects=None, custom_hf_revision=None)
|
|
82
|
-
except (TypeError, ValueError, AssertionError):
|
|
83
|
-
task = self.create(num_fewshot=0, custom_subjects=None, custom_hf_revision=None)
|
|
84
|
-
return task.markdown_doc(formatters)
|
|
80
|
+
...
|
|
85
81
|
|
|
86
82
|
|
|
87
83
|
class _Lazy(EvalFactory):
|
|
@@ -104,6 +100,9 @@ class _Lazy(EvalFactory):
|
|
|
104
100
|
def source_module(self) -> str:
|
|
105
101
|
return self._module
|
|
106
102
|
|
|
103
|
+
def id(self) -> str:
|
|
104
|
+
return self._class_name
|
|
105
|
+
|
|
107
106
|
def task_class(self) -> type[BaseTask]:
|
|
108
107
|
if self._loaded is None:
|
|
109
108
|
module = importlib.import_module(self._module)
|
|
@@ -152,6 +151,13 @@ class _Lazy(EvalFactory):
|
|
|
152
151
|
"""The eval's human-readable display name (the task's ``NAME``)."""
|
|
153
152
|
return self.task_class().NAME
|
|
154
153
|
|
|
154
|
+
def markdown_doc(self, formatters: Sequence[BaseFormatter]) -> str:
|
|
155
|
+
try:
|
|
156
|
+
task = self.create(num_fewshot=1, custom_subjects=None, custom_hf_revision=None)
|
|
157
|
+
except (TypeError, ValueError, AssertionError):
|
|
158
|
+
task = self.create(num_fewshot=0, custom_subjects=None, custom_hf_revision=None)
|
|
159
|
+
return task.markdown_doc(formatters)
|
|
160
|
+
|
|
155
161
|
|
|
156
162
|
class _Eager(EvalFactory):
|
|
157
163
|
"""Wraps an already-imported task class."""
|
|
@@ -163,8 +169,8 @@ class _Eager(EvalFactory):
|
|
|
163
169
|
def source_module(self) -> str:
|
|
164
170
|
return self._task.__module__
|
|
165
171
|
|
|
166
|
-
def
|
|
167
|
-
return self._task
|
|
172
|
+
def id(self) -> str:
|
|
173
|
+
return self._task.__name__
|
|
168
174
|
|
|
169
175
|
def create(
|
|
170
176
|
self,
|
|
@@ -173,7 +179,7 @@ class _Eager(EvalFactory):
|
|
|
173
179
|
custom_hf_revision: str | None,
|
|
174
180
|
user_prompt_suffix: str | None = None,
|
|
175
181
|
) -> BaseTask:
|
|
176
|
-
return self.
|
|
182
|
+
return self._task.with_overwrite(
|
|
177
183
|
num_fewshot=num_fewshot,
|
|
178
184
|
custom_subjects=custom_subjects,
|
|
179
185
|
custom_hf_revision=custom_hf_revision,
|
|
@@ -188,7 +194,7 @@ class _Eager(EvalFactory):
|
|
|
188
194
|
custom_hf_revision: str | None,
|
|
189
195
|
user_prompt_suffix: str | None = None,
|
|
190
196
|
) -> BaseTask:
|
|
191
|
-
perturbation_task_class = create_perturbation_class(self.
|
|
197
|
+
perturbation_task_class = create_perturbation_class(self._task, perturbation_config)
|
|
192
198
|
return perturbation_task_class.with_overwrite(
|
|
193
199
|
num_fewshot=num_fewshot,
|
|
194
200
|
custom_subjects=custom_subjects,
|
|
@@ -198,32 +204,34 @@ class _Eager(EvalFactory):
|
|
|
198
204
|
|
|
199
205
|
def response_type(self) -> ResponseType:
|
|
200
206
|
"""The eval's response type"""
|
|
201
|
-
return self.
|
|
207
|
+
return self._task.get_response_type()
|
|
202
208
|
|
|
203
209
|
def metrics(self) -> list[type["BaseMetric"]]:
|
|
204
210
|
"""The eval's metrics"""
|
|
205
|
-
return self.
|
|
211
|
+
return self._task.get_metrics()
|
|
206
212
|
|
|
207
213
|
def display_name(self) -> str:
|
|
208
214
|
"""The eval's human-readable display name (the task's ``NAME``)."""
|
|
209
|
-
return self.
|
|
215
|
+
return self._task.NAME
|
|
210
216
|
|
|
217
|
+
def markdown_doc(self, formatters: Sequence[BaseFormatter]) -> str:
|
|
218
|
+
try:
|
|
219
|
+
task = self.create(num_fewshot=1, custom_subjects=None, custom_hf_revision=None)
|
|
220
|
+
except (TypeError, ValueError, AssertionError):
|
|
221
|
+
task = self.create(num_fewshot=0, custom_subjects=None, custom_hf_revision=None)
|
|
222
|
+
return task.markdown_doc(formatters)
|
|
211
223
|
|
|
212
|
-
class Registry:
|
|
213
|
-
"""A registry for tasks with support for lazy loading.
|
|
214
224
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
"""
|
|
225
|
+
class Registry:
|
|
226
|
+
"""A registry for Tasks"""
|
|
218
227
|
|
|
219
228
|
def __init__(self) -> None:
|
|
220
|
-
|
|
221
|
-
self._registry: dict[str, tuple[str, EvalFactory]] = dict()
|
|
229
|
+
self._registry: dict[str, EvalFactory] = dict()
|
|
222
230
|
|
|
223
231
|
def __iter__(self) -> Iterator[str]:
|
|
224
232
|
"""Iterate over all task names in the registry."""
|
|
225
|
-
for
|
|
226
|
-
yield
|
|
233
|
+
for factory in self._registry.values():
|
|
234
|
+
yield factory.id()
|
|
227
235
|
|
|
228
236
|
def task_names(self) -> list[str]:
|
|
229
237
|
"""The names of all registered tasks."""
|
|
@@ -231,7 +239,8 @@ class Registry:
|
|
|
231
239
|
|
|
232
240
|
def items(self) -> Iterator[tuple[str, EvalFactory]]:
|
|
233
241
|
"""Iterate over `(task name, EvalFactory)` pairs in the registry."""
|
|
234
|
-
|
|
242
|
+
for factory in self._registry.values():
|
|
243
|
+
yield factory.id(), factory
|
|
235
244
|
|
|
236
245
|
@staticmethod
|
|
237
246
|
def _task_key(name: str, /) -> str:
|
|
@@ -249,26 +258,25 @@ class Registry:
|
|
|
249
258
|
def __getitem__(self, name: str, /) -> EvalFactory:
|
|
250
259
|
task_key = self._task_key(name)
|
|
251
260
|
try:
|
|
252
|
-
|
|
261
|
+
return self._registry[task_key]
|
|
253
262
|
except KeyError:
|
|
254
263
|
raise KeyError(f"Task not found: {name=} with task_key {task_key=}")
|
|
255
264
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
task_key = self._task_key(name)
|
|
265
|
+
def add(self, factory: EvalFactory) -> None:
|
|
266
|
+
"""Register a factory under the key derived from its ``id()``."""
|
|
267
|
+
task_key = self._task_key(factory.id())
|
|
260
268
|
if task_key in self._registry:
|
|
261
269
|
raise ValueError(f"Cannot register duplicate task with key: {task_key}")
|
|
262
270
|
|
|
263
|
-
self._registry[task_key] =
|
|
271
|
+
self._registry[task_key] = factory
|
|
264
272
|
|
|
265
273
|
def register(self, task: type[BaseTask]) -> str:
|
|
266
274
|
"""The class name is used as the task name."""
|
|
267
275
|
if not issubclass(task, BaseTask):
|
|
268
276
|
raise ValueError(f"Can only register subclasses of BaseTask, got {task}")
|
|
269
|
-
|
|
270
|
-
self
|
|
271
|
-
return
|
|
277
|
+
factory = _Eager(task)
|
|
278
|
+
self.add(factory)
|
|
279
|
+
return factory.id()
|
|
272
280
|
|
|
273
281
|
def register_lazy(self, class_path: str, /) -> None:
|
|
274
282
|
"""Register a task by its dotted class path, without importing its module."""
|
|
@@ -278,7 +286,7 @@ class Registry:
|
|
|
278
286
|
"`eval_framework.tasks.benchmarks.mmlu.MMLU`): "
|
|
279
287
|
)
|
|
280
288
|
base_module, class_name = class_path.rsplit(".", maxsplit=1)
|
|
281
|
-
self
|
|
289
|
+
self.add(_Lazy(class_name=class_name, module=base_module))
|
|
282
290
|
|
|
283
291
|
|
|
284
292
|
_REGISTRY = Registry()
|
|
@@ -317,19 +325,12 @@ def validate_task_name(name: str) -> str:
|
|
|
317
325
|
return name
|
|
318
326
|
|
|
319
327
|
|
|
320
|
-
def get_task(name: str, /) -> type[BaseTask]:
|
|
321
|
-
"""Return a registered task for a given name.
|
|
322
|
-
|
|
323
|
-
Note: This method will import any lazily registered task.
|
|
324
|
-
"""
|
|
325
|
-
return _REGISTRY[name].task_class()
|
|
326
|
-
|
|
327
|
-
|
|
328
328
|
def register_task(task: type[BaseTask]) -> str:
|
|
329
329
|
"""The class name is used as the task name."""
|
|
330
330
|
return registry().register(task)
|
|
331
331
|
|
|
332
332
|
|
|
333
|
-
def register_lazy_task(class_path: str,
|
|
333
|
+
def register_lazy_task(class_path: str, /, registry: Registry | None = None) -> None:
|
|
334
334
|
"""Register a task by its dotted class path, without importing its module."""
|
|
335
|
-
registry
|
|
335
|
+
r = registry if registry is not None else _REGISTRY
|
|
336
|
+
r.register_lazy(class_path)
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
from eval_framework.tasks.base import BaseTask
|
|
4
|
+
from eval_framework.tasks.registry import Registry, register_lazy_task
|
|
5
|
+
from eval_framework.tasks.registry import registry as global_registry
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TaskNameEnum(Enum):
|
|
9
|
+
@property
|
|
10
|
+
def value(self) -> type[BaseTask]:
|
|
11
|
+
return super().value
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def register_all_tasks(registry: Registry | None = None) -> None:
|
|
15
|
+
"""Register all the benchmark tasks with the eval framework
|
|
16
|
+
|
|
17
|
+
Uses global registry by default.
|
|
18
|
+
"""
|
|
19
|
+
registry = registry if registry is not None else global_registry()
|
|
20
|
+
|
|
21
|
+
register_math_reasoning_tasks(registry=registry)
|
|
22
|
+
register_arc_tasks(registry=registry)
|
|
23
|
+
register_arc_de_tasks(registry=registry)
|
|
24
|
+
register_bigcodebench_tasks(registry=registry)
|
|
25
|
+
register_copa_tasks(registry=registry)
|
|
26
|
+
register_goldenswag_tasks(registry=registry)
|
|
27
|
+
register_gpqa_tasks(registry=registry)
|
|
28
|
+
register_gsm8k_tasks(registry=registry)
|
|
29
|
+
register_hellaswag_tasks(registry=registry)
|
|
30
|
+
register_humaneval_tasks(registry=registry)
|
|
31
|
+
register_ifeval_tasks(registry=registry)
|
|
32
|
+
register_multipl_e_tasks(registry=registry)
|
|
33
|
+
register_mbpp_tasks(registry=registry)
|
|
34
|
+
register_mmlu_tasks(registry=registry)
|
|
35
|
+
register_mmlu_pro_tasks(registry=registry)
|
|
36
|
+
register_global_mmlu_tasks(registry=registry)
|
|
37
|
+
register_piqa_tasks(registry=registry)
|
|
38
|
+
register_sciq_tasks(registry=registry)
|
|
39
|
+
register_squad_tasks(registry=registry)
|
|
40
|
+
register_winogrande_tasks(registry=registry)
|
|
41
|
+
register_csqa_tasks(registry=registry)
|
|
42
|
+
register_drop_tasks(registry=registry)
|
|
43
|
+
register_naturalqs_open_tasks(registry=registry)
|
|
44
|
+
register_social_iqa_tasks(registry=registry)
|
|
45
|
+
register_medqa_tasks(registry=registry)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def register_arc_tasks(registry: Registry) -> None:
|
|
49
|
+
"""Register arc benchmark tasks."""
|
|
50
|
+
register_lazy_task("eval_framework.tasks.benchmarks.arc.ARC", registry=registry)
|
|
51
|
+
register_lazy_task("eval_framework.tasks.benchmarks.arc.ARC_IDK", registry=registry)
|
|
52
|
+
register_lazy_task("eval_framework.tasks.benchmarks.arc.ARC_OLMES", registry=registry)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def register_hellaswag_tasks(registry: Registry) -> None:
|
|
56
|
+
"""Register hellaswag benchmark tasks."""
|
|
57
|
+
register_lazy_task("eval_framework.tasks.benchmarks.hellaswag.HELLASWAG", registry=registry)
|
|
58
|
+
register_lazy_task("eval_framework.tasks.benchmarks.hellaswag.HELLASWAG_OLMES", registry=registry)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def register_piqa_tasks(registry: Registry) -> None:
|
|
62
|
+
"""Register piqa benchmark tasks."""
|
|
63
|
+
register_lazy_task("eval_framework.tasks.benchmarks.piqa.PIQA", registry=registry)
|
|
64
|
+
register_lazy_task("eval_framework.tasks.benchmarks.piqa.PIQA_IDK", registry=registry)
|
|
65
|
+
register_lazy_task("eval_framework.tasks.benchmarks.piqa.PIQA_OLMES", registry=registry)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def register_gpqa_tasks(registry: Registry) -> None:
|
|
69
|
+
"""Register gpqa benchmark tasks."""
|
|
70
|
+
register_lazy_task("eval_framework.tasks.benchmarks.gpqa.GPQA_OLMES", registry=registry)
|
|
71
|
+
register_lazy_task("eval_framework.tasks.benchmarks.gpqa.GPQA_DIAMOND_COT", registry=registry)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def register_gsm8k_tasks(registry: Registry) -> None:
|
|
75
|
+
"""Register gsm8k benchmark tasks."""
|
|
76
|
+
register_lazy_task("eval_framework.tasks.benchmarks.gsm8k.GSM8K_OLMES", registry=registry)
|
|
77
|
+
register_lazy_task("eval_framework.tasks.benchmarks.gsm8k.GSM8KBPB", registry=registry)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def register_math_reasoning_tasks(registry: Registry) -> None:
|
|
81
|
+
"""Register math_reasoning benchmark tasks."""
|
|
82
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.AIME2024", registry=registry)
|
|
83
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.AIME2026", registry=registry)
|
|
84
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.AIME2025", registry=registry)
|
|
85
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.MATHMinervaBPB", registry=registry)
|
|
86
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.GSM8KReasoning", registry=registry)
|
|
87
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.MATH500", registry=registry)
|
|
88
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.MATHMinerva_OLMES", registry=registry)
|
|
89
|
+
register_lazy_task("eval_framework.tasks.benchmarks.math_reasoning.MATHMinerva_OLMES_NONL", registry=registry)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def register_mmlu_tasks(registry: Registry) -> None:
|
|
93
|
+
"""Register mmlu benchmark tasks."""
|
|
94
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu.MMLU", registry=registry)
|
|
95
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu.MMLU_IDK", registry=registry)
|
|
96
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu.MMLU_OLMES", registry=registry)
|
|
97
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu.FullTextMMLU", registry=registry)
|
|
98
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu.MMLU_COT", registry=registry)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def register_humaneval_tasks(registry: Registry) -> None:
|
|
102
|
+
"""Register humaneval benchmark tasks."""
|
|
103
|
+
register_lazy_task("eval_framework.tasks.benchmarks.humaneval.HumanEvalBPB", registry=registry)
|
|
104
|
+
register_lazy_task("eval_framework.tasks.benchmarks.humaneval.HumanEval_OLMES", registry=registry)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def register_mbpp_tasks(registry: Registry) -> None:
|
|
108
|
+
"""Register mbpp benchmark tasks."""
|
|
109
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mbpp.MBPPBPB", registry=registry)
|
|
110
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mbpp.MBPP_OLMES", registry=registry)
|
|
111
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mbpp.MBPP_EvalPlus", registry=registry)
|
|
112
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mbpp.MBPP_BPB_EvalPlus", registry=registry)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def register_bigcodebench_tasks(registry: Registry) -> None:
|
|
116
|
+
"""Register bigcodebench benchmark tasks."""
|
|
117
|
+
register_lazy_task("eval_framework.tasks.benchmarks.bigcodebench.BigCodeBench_OLMES", registry=registry)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def register_arc_de_tasks(registry: Registry) -> None:
|
|
121
|
+
"""Register arc_de benchmark tasks."""
|
|
122
|
+
register_lazy_task("eval_framework.tasks.benchmarks.arc_de.ARC_DE", registry=registry)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def register_copa_tasks(registry: Registry) -> None:
|
|
126
|
+
"""Register copa benchmark tasks."""
|
|
127
|
+
register_lazy_task("eval_framework.tasks.benchmarks.copa.COPA_OLMES", registry=registry)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def register_goldenswag_tasks(registry: Registry) -> None:
|
|
131
|
+
"""Register goldenswag benchmark tasks."""
|
|
132
|
+
register_lazy_task("eval_framework.tasks.benchmarks.goldenswag.GOLDENSWAG", registry=registry)
|
|
133
|
+
register_lazy_task("eval_framework.tasks.benchmarks.goldenswag.GOLDENSWAG_IDK", registry=registry)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def register_ifeval_tasks(registry: Registry) -> None:
|
|
137
|
+
"""Register ifeval benchmark tasks."""
|
|
138
|
+
register_lazy_task("eval_framework.tasks.benchmarks.ifeval.IFEval", registry=registry)
|
|
139
|
+
register_lazy_task("eval_framework.tasks.benchmarks.ifeval.IFEvalDe", registry=registry)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def register_multipl_e_tasks(registry: Registry) -> None:
|
|
143
|
+
"""Register multipl_e benchmark tasks."""
|
|
144
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalCpp", registry=registry)
|
|
145
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalJava", registry=registry)
|
|
146
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalJs", registry=registry)
|
|
147
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalPhp", registry=registry)
|
|
148
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalRs", registry=registry)
|
|
149
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEHumanEvalSh", registry=registry)
|
|
150
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPCpp", registry=registry)
|
|
151
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPJava", registry=registry)
|
|
152
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPJs", registry=registry)
|
|
153
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPPhp", registry=registry)
|
|
154
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPRs", registry=registry)
|
|
155
|
+
register_lazy_task("eval_framework.tasks.benchmarks.multipl_e.MultiPLEMBPPSh", registry=registry)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def register_mmlu_pro_tasks(registry: Registry) -> None:
|
|
159
|
+
"""Register mmlu_pro benchmark tasks."""
|
|
160
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu_pro.MMLU_PRO", registry=registry)
|
|
161
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu_pro.MMLU_PRO_IDK", registry=registry)
|
|
162
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu_pro.MMLU_PRO_OLMES", registry=registry)
|
|
163
|
+
register_lazy_task("eval_framework.tasks.benchmarks.mmlu_pro.MMLU_PRO_COT", registry=registry)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def register_global_mmlu_tasks(registry: Registry) -> None:
|
|
167
|
+
"""Register global_mmlu benchmark tasks."""
|
|
168
|
+
register_lazy_task("eval_framework.tasks.benchmarks.global_mmlu.GlobalMMLU", registry=registry)
|
|
169
|
+
register_lazy_task("eval_framework.tasks.benchmarks.global_mmlu.GlobalMMLU_German", registry=registry)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def register_sciq_tasks(registry: Registry) -> None:
|
|
173
|
+
"""Register sciq benchmark tasks."""
|
|
174
|
+
register_lazy_task("eval_framework.tasks.benchmarks.sciq.SCIQ_OLMES", registry=registry)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def register_squad_tasks(registry: Registry) -> None:
|
|
178
|
+
"""Register squad benchmark tasks."""
|
|
179
|
+
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD_OLMES", registry=registry)
|
|
180
|
+
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD2_MA", registry=registry)
|
|
181
|
+
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD2_MA_NO_SYSPROMPT", registry=registry)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def register_winogrande_tasks(registry: Registry) -> None:
|
|
185
|
+
"""Register winogrande benchmark tasks."""
|
|
186
|
+
register_lazy_task("eval_framework.tasks.benchmarks.winogrande.WINOGRANDECloze", registry=registry)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def register_csqa_tasks(registry: Registry) -> None:
|
|
190
|
+
"""Register csqa benchmark tasks."""
|
|
191
|
+
register_lazy_task("eval_framework.tasks.benchmarks.csqa.CommonsenseQAMC_OLMES", registry=registry)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def register_drop_tasks(registry: Registry) -> None:
|
|
195
|
+
"""Register drop benchmark tasks."""
|
|
196
|
+
register_lazy_task("eval_framework.tasks.benchmarks.drop.DropCompletion_OLMES", registry=registry)
|
|
197
|
+
register_lazy_task("eval_framework.tasks.benchmarks.drop.DropMC_OLMES", registry=registry)
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
def register_naturalqs_open_tasks(registry: Registry) -> None:
|
|
201
|
+
"""Register naturalqs_open benchmark tasks."""
|
|
202
|
+
register_lazy_task("eval_framework.tasks.benchmarks.naturalqs_open.NaturalQsOpen", registry=registry)
|
|
203
|
+
register_lazy_task("eval_framework.tasks.benchmarks.naturalqs_open.NaturalQsOpenMC_OLMES", registry=registry)
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def register_social_iqa_tasks(registry: Registry) -> None:
|
|
207
|
+
"""Register social_iqa benchmark tasks."""
|
|
208
|
+
register_lazy_task("eval_framework.tasks.benchmarks.social_iqa.SocialIQAMC_OLMES", registry=registry)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def register_medqa_tasks(registry: Registry) -> None:
|
|
212
|
+
"""Register medqa benchmark tasks."""
|
|
213
|
+
register_lazy_task("eval_framework.tasks.benchmarks.medqa.MedQAMC_OLMES", registry=registry)
|