eval-framework 0.5.2__tar.gz → 0.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. {eval_framework-0.5.2 → eval_framework-0.5.3}/PKG-INFO +1 -1
  2. {eval_framework-0.5.2 → eval_framework-0.5.3}/pyproject.toml +3 -3
  3. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/dataset_revisions.py +1 -1
  4. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/task-dataset-revisions.json +4 -0
  5. eval_framework-0.5.2/src/eval_framework/metrics/completion/cwe_accuracy.py +0 -49
  6. eval_framework-0.5.2/src/eval_framework/metrics/completion/niah_accuracy.py +0 -163
  7. {eval_framework-0.5.2 → eval_framework-0.5.3}/LICENSE +0 -0
  8. {eval_framework-0.5.2 → eval_framework-0.5.3}/README.md +0 -0
  9. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/__init__.py +0 -0
  10. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/base_config.py +0 -0
  11. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/context/__init__.py +0 -0
  12. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/context/determined.py +0 -0
  13. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/context/eval.py +0 -0
  14. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/context/local.py +0 -0
  15. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/evaluation_generator.py +0 -0
  16. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/exceptions.py +0 -0
  17. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/drop_process_results.py +0 -0
  18. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/ifeval_impl/README.md +0 -0
  19. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/ifeval_impl/instructions.py +0 -0
  20. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/ifeval_impl/instructions_registry.py +0 -0
  21. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/ifeval_impl/instructions_util.py +0 -0
  22. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/external/ifeval_impl/utils.py +0 -0
  23. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/__init__.py +0 -0
  24. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/aleph_alpha.py +0 -0
  25. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/base.py +0 -0
  26. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/huggingface.py +0 -0
  27. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/mistral.py +0 -0
  28. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/models.py +0 -0
  29. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/openai.py +0 -0
  30. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/vllm.py +0 -0
  31. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/llm/vllm_local_server.py +0 -0
  32. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/logger.py +0 -0
  33. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/main.py +0 -0
  34. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/__init__.py +0 -0
  35. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/aggregators/__init__.py +0 -0
  36. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/aggregators/aggregators.py +0 -0
  37. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/base.py +0 -0
  38. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/__init__.py +0 -0
  39. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/accuracy_completion.py +0 -0
  40. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/aidanbench.py +0 -0
  41. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/bleu.py +0 -0
  42. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/chrf.py +0 -0
  43. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/code_assertion.py +0 -0
  44. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/code_execution_pass_at_one.py +0 -0
  45. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/concordance_index.py +0 -0
  46. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/csv_format.py +0 -0
  47. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/drop_completion.py +0 -0
  48. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/exponential_similarity.py +0 -0
  49. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/f1.py +0 -0
  50. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/format_checker.py +0 -0
  51. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/grid_difference.py +0 -0
  52. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/ifeval.py +0 -0
  53. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/json_format.py +0 -0
  54. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/language_checker.py +0 -0
  55. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/length_control.py +0 -0
  56. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/math_minerva_completion.py +0 -0
  57. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/math_reasoning_completion.py +0 -0
  58. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/minerva_math_utils.py +0 -0
  59. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/multipl_e_assertion.py +0 -0
  60. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/placeholder_checker.py +0 -0
  61. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/repetition.py +0 -0
  62. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/rouge_1.py +0 -0
  63. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/rouge_2.py +0 -0
  64. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/rouge_geometric_mean.py +0 -0
  65. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/rouge_l.py +0 -0
  66. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/struct_eval_metrics.py +0 -0
  67. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/ter.py +0 -0
  68. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/completion/text_counter.py +0 -0
  69. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/efficiency/__init__.py +0 -0
  70. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/efficiency/bytes_per_sequence_position.py +0 -0
  71. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/__init__.py +0 -0
  72. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/base.py +0 -0
  73. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/chatbot_style_grader.py +0 -0
  74. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/coherence_grader.py +0 -0
  75. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/comparison_grader.py +0 -0
  76. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/conciseness_grader.py +0 -0
  77. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/contains_names_grader.py +0 -0
  78. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/format_correctness_grader.py +0 -0
  79. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/instruction_grader.py +0 -0
  80. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/language.py +0 -0
  81. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/long_context_grader.py +0 -0
  82. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/models.py +0 -0
  83. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/refusal_grader.py +0 -0
  84. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/sql_quality_grader.py +0 -0
  85. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/graders/summary_world_knowledge_grader.py +0 -0
  86. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_chatbot_style.py +0 -0
  87. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_coherence.py +0 -0
  88. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_completion_accuracy.py +0 -0
  89. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_conciseness.py +0 -0
  90. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_contains_names.py +0 -0
  91. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_format_correctness.py +0 -0
  92. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_instruction.py +0 -0
  93. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_mtbench_pair.py +0 -0
  94. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_mtbench_single.py +0 -0
  95. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_refusal.py +0 -0
  96. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_sql.py +0 -0
  97. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/llm_judge_world_knowledge.py +0 -0
  98. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/llm/utils.py +0 -0
  99. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/__init__.py +0 -0
  100. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/accuracy_loglikelihood.py +0 -0
  101. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/base.py +0 -0
  102. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/bits_per_byte.py +0 -0
  103. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/confidence_weighted_accuracy.py +0 -0
  104. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/dcs.py +0 -0
  105. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/probability_mass.py +0 -0
  106. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/metrics/loglikelihood/ternary.py +0 -0
  107. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/py.typed +0 -0
  108. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/response_generator.py +0 -0
  109. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/result_processors/__init__.py +0 -0
  110. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/result_processors/base.py +0 -0
  111. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/result_processors/hf_uploader.py +0 -0
  112. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/result_processors/result_processor.py +0 -0
  113. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/result_processors/wandb_uploader.py +0 -0
  114. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/run.py +0 -0
  115. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/run_direct.py +0 -0
  116. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/shared/types.py +0 -0
  117. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/suite.py +0 -0
  118. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/Dockerfile_codebench +0 -0
  119. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/__init__.py +0 -0
  120. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/base.py +0 -0
  121. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/__init__.py +0 -0
  122. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/aidanbench.py +0 -0
  123. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/arc.py +0 -0
  124. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/arc_de.py +0 -0
  125. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/arc_fi.py +0 -0
  126. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/balancedcopa.py +0 -0
  127. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/belebele.py +0 -0
  128. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/bigcodebench.py +0 -0
  129. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/casehold.py +0 -0
  130. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/chembench.py +0 -0
  131. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/copa.py +0 -0
  132. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/csqa.py +0 -0
  133. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/drop.py +0 -0
  134. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/duc.py +0 -0
  135. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/flores200.py +0 -0
  136. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/flores_plus.py +0 -0
  137. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/global_mmlu.py +0 -0
  138. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/goldenswag.py +0 -0
  139. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/gpqa.py +0 -0
  140. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/gsm8k.py +0 -0
  141. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/hellaswag.py +0 -0
  142. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/hellaswag_de.py +0 -0
  143. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/humaneval.py +0 -0
  144. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/ifeval.py +0 -0
  145. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/include.py +0 -0
  146. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/infinitebench.py +0 -0
  147. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/lab_bench.py +0 -0
  148. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/math_reasoning.py +0 -0
  149. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/mbpp.py +0 -0
  150. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/medqa.py +0 -0
  151. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/mmlu.py +0 -0
  152. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/mmlu_de.py +0 -0
  153. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/mmlu_pro.py +0 -0
  154. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/mmmlu.py +0 -0
  155. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/multipl_e.py +0 -0
  156. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/naturalqs_open.py +0 -0
  157. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/openbookqa.py +0 -0
  158. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/opengptx_eu20.py +0 -0
  159. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/pawsx.py +0 -0
  160. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/piqa.py +0 -0
  161. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/quality.py +0 -0
  162. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/sciq.py +0 -0
  163. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/social_iqa.py +0 -0
  164. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/sphyr.py +0 -0
  165. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/squad.py +0 -0
  166. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/struct_eval.py +0 -0
  167. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/tablebench.py +0 -0
  168. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/triviaqa.py +0 -0
  169. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/truthfulqa.py +0 -0
  170. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/winogender.py +0 -0
  171. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/winogrande.py +0 -0
  172. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/winox.py +0 -0
  173. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/wmt.py +0 -0
  174. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/benchmarks/zero_scrolls.py +0 -0
  175. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/eval_config.py +0 -0
  176. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/perturbation.py +0 -0
  177. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/registry.py +0 -0
  178. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/task_loader.py +0 -0
  179. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/task_names.py +0 -0
  180. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/task_style.py +0 -0
  181. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/tasks/utils.py +0 -0
  182. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/constants.py +0 -0
  183. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/file_ops.py +0 -0
  184. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/generate_task_docs.py +0 -0
  185. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/helpers.py +0 -0
  186. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/logging.py +0 -0
  187. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/packaging.py +0 -0
  188. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/eval_framework/utils/tqdm_handler.py +0 -0
  189. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/template_formatting/README.md +0 -0
  190. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/template_formatting/__init__.py +0 -0
  191. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/template_formatting/formatter.py +0 -0
  192. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/template_formatting/mistral_formatter.py +0 -0
  193. {eval_framework-0.5.2 → eval_framework-0.5.3}/src/template_formatting/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: eval-framework
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: Evaluation Framework
5
5
  Author: Aleph Alpha Research
6
6
  License: Apache License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "eval-framework"
3
- version = "0.5.2"
3
+ version = "0.5.3"
4
4
  description = "Evaluation Framework"
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -100,7 +100,7 @@ dev = [
100
100
  "types-python-dateutil>=2.9.0.20260518,<3",
101
101
  "types-requests>=2.33.0.20260518,<3",
102
102
  "plotly>=6.8.0,<7",
103
- "ruff>=0.15.18",
103
+ "ruff>=0.15.20",
104
104
  "pip-licenses>=5.5.5",
105
105
  ]
106
106
  flash-attn = [
@@ -109,7 +109,7 @@ flash-attn = [
109
109
  ]
110
110
 
111
111
  [build-system]
112
- requires = ["uv_build>=0.11.23,<0.11.24"]
112
+ requires = ["uv_build>=0.11.24,<0.11.25"]
113
113
  build-backend = "uv_build"
114
114
 
115
115
  [tool.uv.build-backend]
@@ -4,7 +4,7 @@ Overwrites ``task-dataset-revisions.json`` in this package with task class name
4
4
 
5
5
  Usage::
6
6
 
7
- uv run python -m eval_framework.tasks.benchmarks.dataset_revisions
7
+ uv run python -m eval_framework.tasks.dataset_revisions
8
8
  """
9
9
 
10
10
  import json
@@ -14,6 +14,7 @@
14
14
  "GOLDENSWAG": "f98259e4185c9ab868cf695ac98e9d863eba7986",
15
15
  "GOLDENSWAG_IDK": "f98259e4185c9ab868cf695ac98e9d863eba7986",
16
16
  "GPQA_OLMES": "633f5ee89ab8ad4522a9f850766b73f62147ffdd",
17
+ "GSM8KBPB": "740312add88f781978c0658806c59bc2815b9866",
17
18
  "GSM8KReasoning": "740312add88f781978c0658806c59bc2815b9866",
18
19
  "GSM8K_OLMES": "740312add88f781978c0658806c59bc2815b9866",
19
20
  "GlobalMMLU": "0e619dbeb34206cd48705a1a0ea7fb21cae09993",
@@ -25,6 +26,7 @@
25
26
  "IFEval": "966cd89545d6b6acfd7638bc708b98261ca58e84",
26
27
  "IFEvalDe": "4f52d847003b3c83cc282e9d296853a24b34b19a",
27
28
  "MATH500": "6e4ed1a2a79af7d8630a6b768ec859cb5af4d3be",
29
+ "MATHMinervaBPB": "21a5633873b6a120296cce3e2df9d5550074f4a3",
28
30
  "MATHMinerva_OLMES": "21a5633873b6a120296cce3e2df9d5550074f4a3",
29
31
  "MBPPBPB": "4bb6404fdc6cacfda99d4ac4205087b89d32030c",
30
32
  "MBPP_OLMES": "4bb6404fdc6cacfda99d4ac4205087b89d32030c",
@@ -55,8 +57,10 @@
55
57
  "PIQA_IDK": "2e8ac2dffd59bac8c3c6714948f4c551a0848bb0",
56
58
  "PIQA_OLMES": "2e8ac2dffd59bac8c3c6714948f4c551a0848bb0",
57
59
  "SCIQ_OLMES": "2c94ad3e1aafab77146f384e23536f97a4849815",
60
+ "SQuAD2_MA": "3ffb306f725f7d2ce8394bc1873b24868140c412",
58
61
  "SQuAD_OLMES": "7b6d24c440a36b6815f21b70d25016731768db1f",
59
62
  "SocialIQAMC_OLMES": "8835ceb9141d7896d9d968634a9b21ae440e3ec5",
60
63
  "TRIVIAQA": "0f7faf33a3908546c6fd5b73a660e0f8ff173c2f",
64
+ "TriviaQA_MA": "0f7faf33a3908546c6fd5b73a660e0f8ff173c2f",
61
65
  "WINOGRANDECloze": "01e74176c63542e6b0bcb004dcdea22d94fb67b5"
62
66
  }
@@ -1,49 +0,0 @@
1
- import re
2
-
3
- from eval_framework.metrics.base import BaseMetric, MetricResult
4
- from eval_framework.shared.types import Completion, Error
5
-
6
-
7
- class CWEAccuracy(BaseMetric[Completion]):
8
- """Metric for Common Word Extraction tasks"""
9
-
10
- NAME = "CWEAccuracy"
11
-
12
- def calculate(self, response: Completion) -> list[MetricResult]:
13
- if response.error is not None:
14
- return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=response.error)]
15
-
16
- ground_truths = [gt for gt in response.ground_truth_list if gt is not None]
17
- if not ground_truths:
18
- return [MetricResult(metric_name=self.NAME, value=0.0, higher_is_better=True, error=response.error)]
19
-
20
- try:
21
- # Get model's answer
22
- model_answer = response.completion
23
-
24
- # Check if all words in the correct answer are present in the model's answer
25
- is_correct = self._is_answer_correct(ground_truths, model_answer)
26
-
27
- return [
28
- MetricResult(
29
- metric_name=self.NAME, value=1.0 if is_correct else 0.0, higher_is_better=True, error=response.error
30
- )
31
- ]
32
- except Exception as e:
33
- error = Error(error_class=e.__class__.__name__, message=str(e), traceback="")
34
- return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=error)]
35
-
36
- def _is_answer_correct(self, correct_answer: list[str], model_answer: str) -> bool:
37
- """Check if all words in correct_answer are present in model_answer as whole words"""
38
- model_answer = model_answer.strip().lower()
39
- correct_answer = [correct.strip().lower() for correct in correct_answer]
40
-
41
- # For each word in the correct answer, check if it exists as a whole word in the model answer
42
- for word in correct_answer:
43
- # Create a regex pattern that matches the word as a whole word
44
- # \b represents a word boundary
45
- pattern = r"\b" + re.escape(word) + r"\b"
46
- if not re.search(pattern, model_answer):
47
- return False
48
-
49
- return True
@@ -1,163 +0,0 @@
1
- import re
2
- import unicodedata
3
-
4
- from eval_framework.metrics.base import (
5
- BaseMetric,
6
- MetricResult,
7
- )
8
- from eval_framework.shared.types import Completion, Error, LanguageMetricContext, extract_context_metric
9
-
10
- # Dictionary of "none" words in different languages
11
- NONE_DICT = {
12
- "en": ["none"],
13
- "ko": ["없음"],
14
- "pl": ["brak"],
15
- "zh": ["无"],
16
- "vi": ["Không có"],
17
- "ja": ["なし", "数字はありません"],
18
- "ta": ["ஏதுமில்லை"],
19
- "hu": ["nincs"],
20
- "fr": ["aucun"],
21
- "no": ["ingen"],
22
- "uk": ["немає", "Нема"],
23
- "ru": ["нет"],
24
- "de": ["Keine vorhanden"],
25
- "es": ["ninguno"],
26
- "sv": ["inga"],
27
- "fi": ["ei mikään"],
28
- "cs": ["žádné", "žádná"],
29
- "sr": ["nema"],
30
- "pt": ["nenhum"],
31
- "it": ["nessuno"],
32
- "fa": ["هیچ کدام"],
33
- "sw": ["hakuna"],
34
- "nl": ["geen"],
35
- "st": ["ha ho letho"],
36
- "hi": ["कोई नहीं"],
37
- "da": ["ingen"],
38
- }
39
-
40
-
41
- def clean_text(text: str) -> str:
42
- """Clean text by removing spaces and normalizing"""
43
- return text.strip().lower().replace("\u200c", "").replace(" ", "")
44
-
45
-
46
- class NIAHAccuracy(BaseMetric[Completion]):
47
- """Metric for Needle in a Haystack tasks"""
48
-
49
- NAME = "NIAHAccuracy"
50
-
51
- def calculate(self, response: Completion) -> list[MetricResult]:
52
- if response.error is not None:
53
- return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=response.error)]
54
-
55
- context = extract_context_metric(response, LanguageMetricContext)
56
-
57
- ground_truths = [gt for gt in response.ground_truth_list if gt is not None]
58
-
59
- try:
60
- # Extract task and language from metadata
61
- assert response.context is not None
62
- language = context.language
63
-
64
- # Get model's answer
65
- model_answer = response.completion
66
-
67
- # Determine which comparison function to use based on the task
68
- none_values = set(v for values in NONE_DICT.values() for v in values)
69
- if ground_truths[0] in none_values:
70
- is_correct = self._compare_none(language, model_answer)
71
- else:
72
- is_correct = self._compare_numbers(language, ground_truths, model_answer)
73
-
74
- return [
75
- MetricResult(
76
- metric_name=self.NAME, value=float(is_correct), higher_is_better=True, error=response.error
77
- )
78
- ]
79
- except Exception as e:
80
- error = Error(error_class=e.__class__.__name__, message=str(e), traceback="")
81
- return [MetricResult(metric_name=self.NAME, value=None, higher_is_better=True, error=error)]
82
-
83
- def _compare_numbers(self, lang: str, correct_answer: list[str], model_answer: str) -> bool:
84
- """Compare numbers for regular NIAH tasks"""
85
- if "-" in lang:
86
- inst_lang = lang.split("-")[1]
87
- else:
88
- inst_lang = lang
89
-
90
- if not model_answer:
91
- return False
92
-
93
- processed_model_answer = unicodedata.normalize("NFKC", model_answer)
94
-
95
- none_words = NONE_DICT.get(inst_lang, ["none"])
96
- # Check if any word in none_words is present in the processed answer; if yes, auto-fail
97
- for word in none_words:
98
- if word in processed_model_answer or clean_text(word) in processed_model_answer:
99
- return False
100
-
101
- # Extract all numeric substrings from the processed answer
102
- numeric_strings = re.findall(r"\d+", processed_model_answer)
103
-
104
- # Remove numbers that consist of a single digit
105
- numeric_strings = [num for num in numeric_strings if len(num) > 1]
106
-
107
- # Remove duplicates while preserving the original order
108
- numeric_strings = list(dict.fromkeys(numeric_strings))
109
-
110
- # If no numerics are found after processing, return False
111
- if not numeric_strings:
112
- return False
113
-
114
- # Convert the extracted number strings to integers
115
- try:
116
- extracted_numbers = [int(num) for num in numeric_strings]
117
- except Exception:
118
- return False
119
-
120
- # Convert correct_answers elements to integers to ensure numeric comparison
121
- try:
122
- correct_converted = [int(item) for item in correct_answer]
123
- except Exception:
124
- return False
125
-
126
- # Check that the number of extracted numbers matches the length of correct_answers
127
- if len(extracted_numbers) != len(correct_converted):
128
- return False
129
-
130
- # Compare the extracted numbers with the correct answers
131
- if set(extracted_numbers) == set(correct_converted):
132
- return True
133
- else:
134
- return False
135
-
136
- def _compare_none(self, lang: str, model_answer: str) -> bool:
137
- """Compare for NIAH none tasks"""
138
- # Lower-case all inputs for consistent, case-insensitive processing
139
- if "-" in lang:
140
- inst_lang = lang.split("-")[1]
141
- else:
142
- inst_lang = lang
143
-
144
- processed_model_answer = clean_text(unicodedata.normalize("NFKC", model_answer))
145
- none_words = [clean_text(word) for word in NONE_DICT[inst_lang]]
146
-
147
- # Remove single digit numbers from the processed answer
148
- processed_model_answer = re.sub(r"\b\d\b", "", processed_model_answer)
149
-
150
- # Extract all multi-digit numeric substrings from the processed answer
151
- numeric_strings = re.findall(r"\d\d+", processed_model_answer)
152
-
153
- # If any multi-digit numbers are found, return False
154
- if numeric_strings:
155
- return False
156
-
157
- # Check if any of the words in none_words are present
158
- for word in none_words:
159
- if word in processed_model_answer:
160
- return True
161
-
162
- # If none of the none_words are found, return False
163
- return False
File without changes
File without changes