eval-framework 0.8.2__tar.gz → 0.8.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.8.2 → eval_framework-0.8.4}/PKG-INFO +5 -5
- {eval_framework-0.8.2 → eval_framework-0.8.4}/pyproject.toml +8 -8
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/language_checker.py +0 -6
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/base.py +32 -2
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/squad.py +37 -2
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/triviaqa.py +1 -1
- eval_framework-0.8.4/src/eval_framework/tasks/markdown_doc.py +81 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/task_names.py +1 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/generate_task_docs.py +6 -101
- {eval_framework-0.8.2 → eval_framework-0.8.4}/LICENSE +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/README.md +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/base_config.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/context/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/context/determined.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/context/eval.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/context/local.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/evaluation_generator.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/exceptions.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/drop_process_results.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/README.md +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/instructions.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/instructions_registry.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/instructions_util.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/utils.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/aleph_alpha.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/base.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/huggingface.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/models.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/llm/openai.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/logger.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/main.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/aggregators/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/aggregators/aggregators.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/base.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/accuracy_completion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/code_assertion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/code_execution_pass_at_one.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/concordance_index.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/csv_format.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/drop_completion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/exponential_similarity.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/f1.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/format_checker.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/grid_difference.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/ifeval.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/json_format.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/length_control.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/math_minerva_completion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/math_reasoning_completion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/minerva_math_utils.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/multipl_e_assertion.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/placeholder_checker.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/repetition.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_1.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_2.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_geometric_mean.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_l.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/text_counter.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/efficiency/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/efficiency/bytes_per_sequence_position.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/base.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/chatbot_style_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/coherence_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/comparison_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/conciseness_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/contains_names_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/format_correctness_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/instruction_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/language.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/long_context_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/models.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/refusal_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/sql_quality_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/summary_world_knowledge_grader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_chatbot_style.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_coherence.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_completion_accuracy.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_conciseness.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_contains_names.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_format_correctness.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_instruction.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_mtbench_pair.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_mtbench_single.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_refusal.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_sql.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_world_knowledge.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/utils.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/accuracy_loglikelihood.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/base.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/bits_per_byte.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/confidence_weighted_accuracy.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/dcs.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/probability_mass.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/ternary.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/py.typed +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/response_generator.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/base.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/hf_uploader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/result_processor.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/wandb_uploader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/run.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/run_direct.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/shared/types.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/suite.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/Dockerfile_codebench +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/arc.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/arc_de.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/bigcodebench.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/copa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/csqa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/drop.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/global_mmlu.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/goldenswag.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/gpqa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/gsm8k.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/hellaswag.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/humaneval.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/ifeval.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/math_reasoning.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/mbpp.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/medqa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/mmlu.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/mmlu_pro.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/multipl_e.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/naturalqs_open.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/piqa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/sciq.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/social_iqa.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/winogrande.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/dataset_revisions.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/eval_config.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/frozen-hf-dataset-revisions.json +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/hf-dataset-revisions.json +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/perturbation.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/registry.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/task_loader.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/task_style.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/utils.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/constants.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/file_ops.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/helpers.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/logging.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/packaging.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/tqdm_handler.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/template_formatting/README.md +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/template_formatting/__init__.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/template_formatting/formatter.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.4}/src/template_formatting/mistral_formatter.py +0 -0
- {eval_framework-0.8.2 → eval_framework-0.8.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.8.
|
|
3
|
+
Version: 0.8.4
|
|
4
4
|
Summary: Evaluation Framework
|
|
5
5
|
Author: Aleph Alpha Research
|
|
6
6
|
License: Apache License
|
|
@@ -225,14 +225,14 @@ Requires-Dist: spacy>=3.8.14,<4
|
|
|
225
225
|
Requires-Dist: jsonschema>=4.26.0,<5
|
|
226
226
|
Requires-Dist: mysql-connector-python>=9.7.0,<10
|
|
227
227
|
Requires-Dist: psycopg2-binary>=2.9.12,<3
|
|
228
|
-
Requires-Dist: sympy>=1.
|
|
228
|
+
Requires-Dist: sympy>=1.14.0,<2
|
|
229
229
|
Requires-Dist: llm-sandbox[docker]==0.3.39
|
|
230
230
|
Requires-Dist: jsonlines>=4,<5
|
|
231
231
|
Requires-Dist: lxml>=6.1.1,<7
|
|
232
|
-
Requires-Dist: python-iso639>=2026.
|
|
232
|
+
Requires-Dist: python-iso639>=2026.7.23
|
|
233
233
|
Requires-Dist: wandb>=0.28.1,<1
|
|
234
234
|
Requires-Dist: boto3>=1.43.19,<2
|
|
235
|
-
Requires-Dist: numpy>=2.
|
|
235
|
+
Requires-Dist: numpy>=2.5.1
|
|
236
236
|
Requires-Dist: antlr4-python3-runtime==4.11.0
|
|
237
237
|
Requires-Dist: scipy>=1.18.0,<2
|
|
238
238
|
Requires-Dist: accelerate ; extra == 'accelerate'
|
|
@@ -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.48.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'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "eval-framework"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.4"
|
|
4
4
|
description = "Evaluation Framework"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -32,14 +32,14 @@ dependencies = [
|
|
|
32
32
|
"jsonschema>=4.26.0,<5",
|
|
33
33
|
"mysql-connector-python>=9.7.0,<10", # required for sql-related tasks
|
|
34
34
|
"psycopg2-binary>=2.9.12,<3", # required for sql-related tasks
|
|
35
|
-
"sympy>=1.
|
|
35
|
+
"sympy>=1.14.0,<2",
|
|
36
36
|
"llm-sandbox[docker]==0.3.39",
|
|
37
37
|
"jsonlines>=4,<5",
|
|
38
38
|
"lxml>=6.1.1,<7",
|
|
39
|
-
"python-iso639>=2026.
|
|
39
|
+
"python-iso639>=2026.7.23",
|
|
40
40
|
"wandb>=0.28.1,<1",
|
|
41
41
|
"boto3>=1.43.19,<2",
|
|
42
|
-
"numpy>=2.
|
|
42
|
+
"numpy>=2.5.1",
|
|
43
43
|
# is a dependency of sympy, but not explicitly listed in the requirements.txt
|
|
44
44
|
# https://github.com/sympy/sympy/blob/0204fa34e8f6f6f8ccb4de01209be9a2345c9d6e/doc/src/contributing/dependencies.md?plain=1#L125
|
|
45
45
|
"antlr4-python3-runtime==4.11.0",
|
|
@@ -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.48.0,<3",
|
|
58
58
|
"tiktoken>=0.13.0,<1",
|
|
59
59
|
"transformers>=4.45.2,<5",
|
|
60
60
|
]
|
|
@@ -88,11 +88,11 @@ dev = [
|
|
|
88
88
|
"pytest-mock>=3.15.1",
|
|
89
89
|
"pytest-xdist>=3.8.0,<4",
|
|
90
90
|
"pytest-sugar>1.1,<2",
|
|
91
|
-
"types-pyyaml>=6.0.12.
|
|
91
|
+
"types-pyyaml>=6.0.12.20260724,<7",
|
|
92
92
|
"types-python-dateutil>=2.9.0.20260716,<3",
|
|
93
93
|
"types-requests>=2.33.0.20260712,<3",
|
|
94
94
|
"plotly>=6.9.0,<7",
|
|
95
|
-
"ruff>=0.
|
|
95
|
+
"ruff>=0.16.0",
|
|
96
96
|
"pip-licenses>=5.5.5",
|
|
97
97
|
]
|
|
98
98
|
flash-attn = [
|
|
@@ -101,7 +101,7 @@ flash-attn = [
|
|
|
101
101
|
]
|
|
102
102
|
|
|
103
103
|
[build-system]
|
|
104
|
-
requires = ["uv_build>=0.11.
|
|
104
|
+
requires = ["uv_build>=0.11.32,<0.11.33"]
|
|
105
105
|
build-backend = "uv_build"
|
|
106
106
|
|
|
107
107
|
[tool.uv.build-backend]
|
|
@@ -41,9 +41,6 @@ class LanguageConsistencyChecker(BaseMetric[Completion]):
|
|
|
41
41
|
if response.error is not None:
|
|
42
42
|
return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=response.error)]
|
|
43
43
|
|
|
44
|
-
if not response.completion:
|
|
45
|
-
return [] # No completion means no language to detect, so it is excluded from aggregation
|
|
46
|
-
|
|
47
44
|
completion_language = response.get_completion_language()
|
|
48
45
|
target_language = response.get_instruction_language()
|
|
49
46
|
if completion_language == target_language == "":
|
|
@@ -60,9 +57,6 @@ class LanguageRawConsistencyChecker(BaseMetric[Completion]):
|
|
|
60
57
|
if response.error is not None:
|
|
61
58
|
return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=response.error)]
|
|
62
59
|
|
|
63
|
-
if not response.raw_completion:
|
|
64
|
-
return [] # No completion means no language to detect, so it is excluded from aggregation
|
|
65
|
-
|
|
66
60
|
raw_completion_language = response.get_raw_completion_language()
|
|
67
61
|
target_language = response.get_instruction_language()
|
|
68
62
|
|
|
@@ -3,7 +3,7 @@ import os
|
|
|
3
3
|
import random
|
|
4
4
|
import traceback
|
|
5
5
|
from abc import ABC
|
|
6
|
-
from collections.abc import Iterable
|
|
6
|
+
from collections.abc import Iterable, Sequence
|
|
7
7
|
from enum import Enum
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
from typing import TYPE_CHECKING, Any, Self, TypeVar
|
|
@@ -14,8 +14,9 @@ from pydantic import BaseModel, ConfigDict
|
|
|
14
14
|
|
|
15
15
|
from eval_framework.shared.types import BaseMetricContext, Completion, Error, RawCompletion
|
|
16
16
|
from eval_framework.tasks.dataset_revisions import pinned_revision
|
|
17
|
+
from eval_framework.tasks.markdown_doc import markdown_doc as render_markdown_doc
|
|
17
18
|
from eval_framework.tasks.utils import classproperty, raise_errors
|
|
18
|
-
from template_formatting.formatter import Message, Role
|
|
19
|
+
from template_formatting.formatter import BaseFormatter, Message, Role
|
|
19
20
|
|
|
20
21
|
if TYPE_CHECKING:
|
|
21
22
|
from eval_framework.llm.base import BaseLLM
|
|
@@ -280,6 +281,35 @@ class BaseTask[SubjectType](ABC):
|
|
|
280
281
|
done = True
|
|
281
282
|
break
|
|
282
283
|
|
|
284
|
+
def markdown_doc(self, formatters: Sequence[BaseFormatter]) -> str:
|
|
285
|
+
"""Render this task's documentation as markdown."""
|
|
286
|
+
dataset_path = getattr(self, "DATASET_PATH", None)
|
|
287
|
+
example_messages = split_sizes = possible_completions = ground_truth = None
|
|
288
|
+
if dataset_path is None:
|
|
289
|
+
sample = next(iter(self.iterate_samples(1)))
|
|
290
|
+
example_messages = sample.messages
|
|
291
|
+
split_sizes = {split: len(self.dataset[split]) for split in self.dataset}
|
|
292
|
+
possible_completions = sample.possible_completions
|
|
293
|
+
ground_truth = sample.ground_truth
|
|
294
|
+
|
|
295
|
+
return render_markdown_doc(
|
|
296
|
+
name=self.NAME,
|
|
297
|
+
module=type(self).__module__,
|
|
298
|
+
dataset_path=dataset_path,
|
|
299
|
+
sample_split=getattr(self, "SAMPLE_SPLIT", None),
|
|
300
|
+
fewshot_split=getattr(self, "FEWSHOT_SPLIT", None),
|
|
301
|
+
response_type=self.get_response_type().name,
|
|
302
|
+
metrics=[m.__name__ for m in self.get_metrics()],
|
|
303
|
+
subjects=getattr(self, "SUBJECTS", None),
|
|
304
|
+
language=getattr(self, "LANGUAGE", None),
|
|
305
|
+
num_fewshot=self.num_fewshot,
|
|
306
|
+
formatters=formatters,
|
|
307
|
+
example_messages=example_messages,
|
|
308
|
+
split_sizes=split_sizes,
|
|
309
|
+
possible_completions=possible_completions,
|
|
310
|
+
ground_truth=ground_truth,
|
|
311
|
+
)
|
|
312
|
+
|
|
283
313
|
def _create_samples(self, item: dict[str, Any], index: int, subject: str) -> list[Sample]:
|
|
284
314
|
"""Creates one or more samples from a single dataset item. Default implementation returns single sample."""
|
|
285
315
|
return [
|
|
@@ -11,7 +11,7 @@ from huggingface_hub.errors import RevisionNotFoundError
|
|
|
11
11
|
from eval_framework.metrics.completion.accuracy_completion import AccuracyCompletion
|
|
12
12
|
from eval_framework.metrics.completion.f1 import F1, F1SquadNormalized
|
|
13
13
|
from eval_framework.metrics.loglikelihood.bits_per_byte import BitsPerByteLoglikelihood
|
|
14
|
-
from eval_framework.tasks.base import NO_SUBJECT, RANDOM_SEED, BaseTask, Language, ResponseType, SubjectType
|
|
14
|
+
from eval_framework.tasks.base import NO_SUBJECT, RANDOM_SEED, BaseTask, Language, ResponseType, Sample, SubjectType
|
|
15
15
|
from eval_framework.tasks.dataset_revisions import HF_REVISIONS_LOCKFILE
|
|
16
16
|
|
|
17
17
|
|
|
@@ -252,7 +252,7 @@ class SQuAD2_MA(SQUAD2):
|
|
|
252
252
|
def __init__(self, num_fewshot: int = 0) -> None:
|
|
253
253
|
super().__init__(num_fewshot)
|
|
254
254
|
self.stop_sequences = []
|
|
255
|
-
self.max_tokens =
|
|
255
|
+
self.max_tokens = 10_000
|
|
256
256
|
|
|
257
257
|
def _get_system_prompt_text(self, item: dict[str, Any]) -> str | None:
|
|
258
258
|
return (
|
|
@@ -261,11 +261,46 @@ class SQuAD2_MA(SQUAD2):
|
|
|
261
261
|
"Use the given context to answer the question faithfully. Answer only if the "
|
|
262
262
|
f"answer is present in the given context, otherwise respond with '{self.UNANSWERABLE_STR}' "
|
|
263
263
|
"if the answer is not present in the context."
|
|
264
|
+
"Always begin your answer with 'Final answer:'"
|
|
264
265
|
)
|
|
265
266
|
|
|
266
267
|
def _get_instruction_text(self, item: dict[str, Any]) -> str:
|
|
267
268
|
return f"Context:\n{item['context']}\n\nQuestion:\n{item['question']}\n"
|
|
268
269
|
|
|
270
|
+
def post_process_generated_completion(self, completion_text: str, sample: Sample | None = None) -> str:
|
|
271
|
+
"""Clean up the generated answer."""
|
|
272
|
+
# Remove common prefixes and clean whitespace
|
|
273
|
+
cleaned = completion_text.strip()
|
|
274
|
+
common_prefixes = ["Answer", "Final answer"]
|
|
275
|
+
# A list comprehension (not a generator) is required here: list.extend
|
|
276
|
+
# consumes lazily, so a generator over the list being extended never
|
|
277
|
+
# terminates and grows the list unboundedly until OOM.
|
|
278
|
+
common_prefixes.extend([f"**{prefix}**" for prefix in common_prefixes])
|
|
279
|
+
common_prefixes.reverse()
|
|
280
|
+
|
|
281
|
+
# Search for the last occurrence of any common prefix, and take only what's after it.
|
|
282
|
+
for prefix in common_prefixes:
|
|
283
|
+
idx = cleaned.rfind(prefix + ":")
|
|
284
|
+
if idx != -1:
|
|
285
|
+
cleaned = cleaned[idx + len(prefix) + 1 :].strip()
|
|
286
|
+
break
|
|
287
|
+
return cleaned
|
|
288
|
+
|
|
289
|
+
def _get_ground_truth(self, item: dict[str, Any]) -> list[str]:
|
|
290
|
+
text_ = item["answers"]["text"]
|
|
291
|
+
ground_truth_for_unanswerable = [
|
|
292
|
+
self.UNANSWERABLE_STR,
|
|
293
|
+
self.UNANSWERABLE_STR + " ",
|
|
294
|
+
self.UNANSWERABLE_STR.capitalize(),
|
|
295
|
+
]
|
|
296
|
+
ground_truths = text_ if text_ else ground_truth_for_unanswerable
|
|
297
|
+
return ground_truths
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
class SQuAD2_MA_NO_SYSPROMPT(SQuAD2_MA):
|
|
301
|
+
def _get_system_prompt_text(self, item: dict[str, Any]) -> str | None:
|
|
302
|
+
return ""
|
|
303
|
+
|
|
269
304
|
|
|
270
305
|
class SQuAD_OLMES(SQUAD):
|
|
271
306
|
"""SQuAD variant matching OLMES implementation."""
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/triviaqa.py
RENAMED
|
@@ -60,7 +60,7 @@ class TriviaQA_MA(TRIVIAQA):
|
|
|
60
60
|
def __init__(self, num_fewshot: int = 0) -> None:
|
|
61
61
|
super().__init__(num_fewshot)
|
|
62
62
|
self.stop_sequences = []
|
|
63
|
-
self.max_tokens =
|
|
63
|
+
self.max_tokens = 27_000
|
|
64
64
|
|
|
65
65
|
def _get_context_text(self, item: dict[str, Any]) -> str:
|
|
66
66
|
return "\n\n".join(item["entity_pages"]["wiki_context"])
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from collections.abc import Sequence
|
|
2
|
+
from io import StringIO
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from template_formatting.formatter import BaseFormatter, Message
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def markdown_doc(
|
|
9
|
+
*,
|
|
10
|
+
name: str,
|
|
11
|
+
module: str,
|
|
12
|
+
dataset_path: str | None,
|
|
13
|
+
sample_split: str | None,
|
|
14
|
+
fewshot_split: str | None,
|
|
15
|
+
response_type: str,
|
|
16
|
+
metrics: Sequence[str],
|
|
17
|
+
subjects: Any,
|
|
18
|
+
language: Any,
|
|
19
|
+
num_fewshot: int,
|
|
20
|
+
formatters: Sequence[BaseFormatter],
|
|
21
|
+
example_messages: list[Message] | None,
|
|
22
|
+
split_sizes: dict[str, int] | None,
|
|
23
|
+
possible_completions: str | list[str] | None,
|
|
24
|
+
ground_truth: str | list[str] | None,
|
|
25
|
+
) -> str:
|
|
26
|
+
"""Render a task's documentation as markdown"""
|
|
27
|
+
buf = StringIO()
|
|
28
|
+
buf.write(f"# {name}\n\n")
|
|
29
|
+
http_path = f"https://huggingface.co/datasets/{dataset_path}" if dataset_path else None
|
|
30
|
+
|
|
31
|
+
buf.write("````\n") # fence with 4 thicks because some prompts have code blocks with 3 thicks
|
|
32
|
+
buf.write(f"NAME = {name}".strip() + "\n")
|
|
33
|
+
if dataset_path is not None:
|
|
34
|
+
buf.write(f"DATASET_PATH = {dataset_path}".strip() + "\n")
|
|
35
|
+
if sample_split is not None:
|
|
36
|
+
buf.write(f"SAMPLE_SPLIT = {sample_split}".strip() + "\n")
|
|
37
|
+
if fewshot_split is not None:
|
|
38
|
+
buf.write(f"FEWSHOT_SPLIT = {fewshot_split}".strip() + "\n")
|
|
39
|
+
buf.write(f"RESPONSE_TYPE = {response_type}".strip() + "\n")
|
|
40
|
+
buf.write(f"METRICS = [{', '.join(metrics)}]".strip() + "\n")
|
|
41
|
+
if subjects is not None:
|
|
42
|
+
buf.write(f"SUBJECTS = {subjects!r}".strip() + "\n")
|
|
43
|
+
if language is not None:
|
|
44
|
+
buf.write(f"LANGUAGE = {language!r}".strip() + "\n")
|
|
45
|
+
buf.write("````\n\n")
|
|
46
|
+
|
|
47
|
+
buf.write(f"- Module: `{module}`\n\n")
|
|
48
|
+
|
|
49
|
+
if http_path:
|
|
50
|
+
buf.write(f"- Link to dataset: [{http_path}]({http_path})\n\n")
|
|
51
|
+
else:
|
|
52
|
+
assert example_messages is not None, "a task without a dataset link must supply an example sample"
|
|
53
|
+
for split, size in (split_sizes or {}).items():
|
|
54
|
+
buf.write(f"- `{split}` has {size} samples\n\n")
|
|
55
|
+
|
|
56
|
+
for formatter in formatters:
|
|
57
|
+
buf.write(f"## Example prompt with {formatter.__class__.__name__} ({num_fewshot}-shot)\n\n")
|
|
58
|
+
formatted_sample = formatter.format(example_messages, output_mode="string")
|
|
59
|
+
buf.write("````\n")
|
|
60
|
+
buf.write(f'"{formatted_sample}"')
|
|
61
|
+
buf.write("\n````\n\n")
|
|
62
|
+
|
|
63
|
+
buf.write("## Possible completions:\n\n")
|
|
64
|
+
buf.write("````\n")
|
|
65
|
+
if possible_completions:
|
|
66
|
+
for item in possible_completions if isinstance(possible_completions, list) else [possible_completions]:
|
|
67
|
+
buf.write(f'- "{item}"\n')
|
|
68
|
+
else:
|
|
69
|
+
buf.write("None\n")
|
|
70
|
+
buf.write("````\n\n")
|
|
71
|
+
|
|
72
|
+
buf.write("## Ground truth:\n\n")
|
|
73
|
+
buf.write("````\n")
|
|
74
|
+
if ground_truth:
|
|
75
|
+
for item in ground_truth if isinstance(ground_truth, list) else [ground_truth]:
|
|
76
|
+
buf.write(f'- "{item}"\n')
|
|
77
|
+
else:
|
|
78
|
+
buf.write("None\n")
|
|
79
|
+
buf.write("````\n")
|
|
80
|
+
|
|
81
|
+
return buf.getvalue()
|
|
@@ -70,6 +70,7 @@ def register_all_tasks() -> None:
|
|
|
70
70
|
register_lazy_task("eval_framework.tasks.benchmarks.sciq.SCIQ_OLMES")
|
|
71
71
|
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD_OLMES")
|
|
72
72
|
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD2_MA")
|
|
73
|
+
register_lazy_task("eval_framework.tasks.benchmarks.squad.SQuAD2_MA_NO_SYSPROMPT")
|
|
73
74
|
register_lazy_task("eval_framework.tasks.benchmarks.triviaqa.TRIVIAQA")
|
|
74
75
|
register_lazy_task("eval_framework.tasks.benchmarks.triviaqa.TriviaQA_MA")
|
|
75
76
|
register_lazy_task("eval_framework.tasks.benchmarks.winogrande.WINOGRANDECloze")
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/utils/generate_task_docs.py
RENAMED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import argparse
|
|
2
|
-
import inspect
|
|
3
2
|
import os
|
|
4
|
-
import re
|
|
5
3
|
from pathlib import Path
|
|
6
4
|
|
|
7
5
|
import tqdm
|
|
@@ -27,7 +25,7 @@ def parse_args(cli_args: list[str] | None = None) -> argparse.Namespace:
|
|
|
27
25
|
action="store_true",
|
|
28
26
|
default=False,
|
|
29
27
|
required=False,
|
|
30
|
-
help="
|
|
28
|
+
help="Unused. Only there for backwards compatibility",
|
|
31
29
|
)
|
|
32
30
|
parser.add_argument(
|
|
33
31
|
"--exclude-tasks",
|
|
@@ -65,108 +63,16 @@ def parse_args(cli_args: list[str] | None = None) -> argparse.Namespace:
|
|
|
65
63
|
return parser.parse_args(args=cli_args)
|
|
66
64
|
|
|
67
65
|
|
|
68
|
-
def generate_docs_for_task(
|
|
69
|
-
output_docs_directory: Path, task_name: str, formatters: list[BaseFormatter], add_prompt_examples: bool
|
|
70
|
-
) -> None:
|
|
66
|
+
def generate_docs_for_task(output_docs_directory: Path, task_name: str, formatters: list[BaseFormatter]) -> None:
|
|
71
67
|
"""Generate documentation for a specific task."""
|
|
72
|
-
|
|
73
|
-
task_class = eval_.task_class()
|
|
68
|
+
task_class = registry()[task_name].task_class()
|
|
74
69
|
|
|
75
70
|
try:
|
|
76
|
-
|
|
77
|
-
task = task_class(num_fewshot=num_fewshot)
|
|
71
|
+
task = task_class(num_fewshot=1)
|
|
78
72
|
except (TypeError, ValueError, AssertionError):
|
|
79
|
-
|
|
80
|
-
num_fewshot = 0
|
|
81
|
-
task = task_class(num_fewshot=num_fewshot)
|
|
82
|
-
except (TypeError, ValueError, AssertionError):
|
|
83
|
-
try:
|
|
84
|
-
task = task_class()
|
|
85
|
-
num_fewshot = task.num_fewshot
|
|
86
|
-
except Exception as e:
|
|
87
|
-
print(f"Failed to instantiate task {task_name}: {e}")
|
|
88
|
-
return
|
|
89
|
-
|
|
90
|
-
with open(f"{output_docs_directory}/{task_name}.md", "w") as f:
|
|
91
|
-
f.write(f"# {task_name}\n\n")
|
|
92
|
-
dataset_path = eval_.dataset_path()
|
|
93
|
-
http_path = f"https://huggingface.co/datasets/{dataset_path}" if dataset_path else None
|
|
94
|
-
|
|
95
|
-
f.write("````\n") # fence with 4 thicks because some prompts have code blocks with 3 thicks
|
|
96
|
-
f.write(f"NAME = {task_name}".strip() + "\n")
|
|
97
|
-
if dataset_path is not None:
|
|
98
|
-
f.write(f"DATASET_PATH = {dataset_path}".strip() + "\n")
|
|
99
|
-
if hasattr(task, "SAMPLE_SPLIT"):
|
|
100
|
-
f.write(f"SAMPLE_SPLIT = {task.SAMPLE_SPLIT}".strip() + "\n")
|
|
101
|
-
if hasattr(task, "FEWSHOT_SPLIT"):
|
|
102
|
-
f.write(f"FEWSHOT_SPLIT = {task.FEWSHOT_SPLIT}".strip() + "\n")
|
|
103
|
-
f.write(f"RESPONSE_TYPE = {eval_.response_type().name}".strip() + "\n")
|
|
104
|
-
metrics_list = [f"{m.__name__}" for m in eval_.metrics()]
|
|
105
|
-
f.write(f"METRICS = [{', '.join(metrics_list)}]".strip() + "\n")
|
|
106
|
-
if hasattr(task, "SUBJECTS"):
|
|
107
|
-
f.write(f"SUBJECTS = {repr(task.SUBJECTS)}".strip() + "\n")
|
|
108
|
-
if hasattr(task, "LANGUAGE"):
|
|
109
|
-
f.write(f"LANGUAGE = {repr(task.LANGUAGE)}".strip() + "\n")
|
|
110
|
-
f.write("````\n\n")
|
|
111
|
-
|
|
112
|
-
f.write(f"- Module: `{task_class.__module__}`\n\n")
|
|
73
|
+
task = task_class(num_fewshot=0)
|
|
113
74
|
|
|
114
|
-
|
|
115
|
-
raw_file_path = inspect.getfile(task_class)
|
|
116
|
-
# Find the package root 'eval_framework' in the path
|
|
117
|
-
match = re.search(r"eval_framework.*", raw_file_path)
|
|
118
|
-
if match:
|
|
119
|
-
# Reconstruct relative path assuming standard 'src' structure
|
|
120
|
-
task_file = f"src/{match.group(0)}"
|
|
121
|
-
# Provide a local relative link (for VS Code) and an absolute link (for GitHub/Web)
|
|
122
|
-
f.write(f"- File: [{task_file}](../../{task_file}) | [View on GitHub]({REPO_URL}/{task_file})\n\n")
|
|
123
|
-
else:
|
|
124
|
-
# Fallback for tasks defined outside the main package (e.g., custom local tasks)
|
|
125
|
-
f.write(f"- File: `{raw_file_path}`\n\n")
|
|
126
|
-
except Exception:
|
|
127
|
-
f.write("- File: `Dynamic or Built-in`\n\n")
|
|
128
|
-
|
|
129
|
-
if http_path:
|
|
130
|
-
f.write(f"- Link to dataset: [{http_path}]({http_path})\n\n")
|
|
131
|
-
|
|
132
|
-
if not add_prompt_examples:
|
|
133
|
-
f.write(
|
|
134
|
-
f"More detailed documentation, with prompt examples and ground truth completions, can be generated "
|
|
135
|
-
f"with `uv run -m eval_framework.utils.generate_task_docs --add-prompt-examples "
|
|
136
|
-
f'--only-tasks "{task_name}"`.\n'
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
else:
|
|
140
|
-
s = next(iter(task.iterate_samples(1)))
|
|
141
|
-
for split in task.dataset:
|
|
142
|
-
f.write(f"- `{split}` has {len(task.dataset[split])} samples\n\n")
|
|
143
|
-
|
|
144
|
-
for formatter in formatters:
|
|
145
|
-
f.write(f"## Example prompt with {formatter.__class__.__name__} ({num_fewshot}-shot)\n\n")
|
|
146
|
-
formatted_sample = formatter.format(s.messages, output_mode="string")
|
|
147
|
-
f.write("````\n")
|
|
148
|
-
f.write(f'"{formatted_sample}"')
|
|
149
|
-
f.write("\n````\n\n")
|
|
150
|
-
|
|
151
|
-
f.write("## Possible completions:\n\n")
|
|
152
|
-
f.write("````\n")
|
|
153
|
-
if s.possible_completions:
|
|
154
|
-
for item in (
|
|
155
|
-
s.possible_completions if isinstance(s.possible_completions, list) else [s.possible_completions]
|
|
156
|
-
):
|
|
157
|
-
f.write(f'- "{item}"\n')
|
|
158
|
-
else:
|
|
159
|
-
f.write("None\n")
|
|
160
|
-
f.write("````\n\n")
|
|
161
|
-
|
|
162
|
-
f.write("## Ground truth:\n\n")
|
|
163
|
-
f.write("````\n")
|
|
164
|
-
if s.ground_truth:
|
|
165
|
-
for item in s.ground_truth if isinstance(s.ground_truth, list) else [s.ground_truth]:
|
|
166
|
-
f.write(f'- "{item}"\n')
|
|
167
|
-
else:
|
|
168
|
-
f.write("None\n")
|
|
169
|
-
f.write("````\n")
|
|
75
|
+
(output_docs_directory / f"{task_name}.md").write_text(task.markdown_doc(formatters), encoding="utf-8")
|
|
170
76
|
|
|
171
77
|
|
|
172
78
|
def generate_readme_list(output_docs_directory: Path, total_tasks: int) -> None:
|
|
@@ -227,7 +133,6 @@ def generate_all_docs(args: argparse.Namespace, output_docs_directory: Path) ->
|
|
|
227
133
|
output_docs_directory=output_docs_directory,
|
|
228
134
|
task_name=task_name,
|
|
229
135
|
formatters=formatters,
|
|
230
|
-
add_prompt_examples=args.add_prompt_examples,
|
|
231
136
|
)
|
|
232
137
|
|
|
233
138
|
except Exception as e:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/drop_process_results.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/external/ifeval_impl/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/aggregators/__init__.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/aggregators/aggregators.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/csv_format.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/ifeval.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/json_format.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/repetition.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_1.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_2.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/rouge_l.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/completion/text_counter.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/efficiency/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/language.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/graders/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_coherence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_refusal.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/llm/llm_judge_sql.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/dcs.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/metrics/loglikelihood/ternary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/hf_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/result_processors/wandb_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/bigcodebench.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/global_mmlu.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/goldenswag.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/hellaswag.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/humaneval.py
RENAMED
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/math_reasoning.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/mmlu_pro.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/multipl_e.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/naturalqs_open.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/social_iqa.py
RENAMED
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/benchmarks/winogrande.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eval_framework-0.8.2 → eval_framework-0.8.4}/src/eval_framework/tasks/hf-dataset-revisions.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|