Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Listed in
#9 Find AI benchmarks
Pricing
Open Source
Type
TOOL
Builder
openai
Date

About

OpenAI's code evaluation dataset and harness from the Codex paper — 164 hand-written Python problems for benchmarking LLMs on code.

What it does

HumanEval accepts Python completions in JSON Lines, combines them with task prompts and tests, then executes each candidate under a timeout. It records passed, failed, or timed-out outcomes and calculates pass@k estimates only when every problem has enough samples.

Why it's ranked here

Its appeal is a narrow, inspectable evaluation loop with machine-readable inputs and detailed outputs. Per-completion results support debugging, while aggregate pass@k estimates support comparisons. The serious reservation is execution safety: generated code runs locally, and the included guard explicitly is not a sandbox.

What's good

The runner preserves each completion alongside its outcome, making aggregate results traceable to individual failures. It processes evaluations concurrently, isolates candidates in separate processes and temporary directories, suppresses interactive input and output, enforces time limits, and avoids reporting unsupported pass@k estimates.

Tradeoffs

The documentation says code execution starts disabled, but the supplied source contains active execution. That mismatch makes the safety warning easier to misread. The defensive guard blocks many destructive operations but explicitly provides no security boundary. Low memory can also cause correct programs to fail.

How to use it well

It suits engineers comparing Python code generators with repeated samples across a fixed task set. Generate completions elsewhere, validate the JSON Lines feed, then run evaluation inside a robust external sandbox and inspect both aggregate and per-sample results. It does not generate code or provide general-purpose security isolation.

Technical notes+

setup.py declares the human-eval package, dependencies from requirements.txt, and a console script named evaluate_functional_correctness. human_eval/data.py streams plain or gzip-compressed JSON Lines. human_eval/evaluation.py schedules checks through ThreadPoolExecutor, computes estimate_pass_at_k, and writes an augmented results file. human_eval/execution.py builds a program from the prompt, completion, tests, and entry point, then runs it in a multiprocessing.Process with temporary-directory, I/O suppression, timeout, and reliability_guard controls. Critically, README.md says the execution call is commented out, while human_eval/execution.py contains active exec(check_program, exec_globals) code.

Observed

License
MIT License
Primary language
Python
Runtime requirement
Python 3.7 or later
Installation
Editable pip installation from a checked-out repository
Interfaces
Command-line evaluator and importable Python library helpers
Dependencies
tqdm, fire, and numpy
Data format
JSON Lines input and output, with plain and gzip-compressed reading and writing

Read from README.md, setup.py, requirements.txt, human_eval/data.py, human_eval/execution.py, human_eval/evaluation.py, human_eval/evaluate_functional_correctness.py, LICENSE, data/example_problem.jsonl, data/example_samples.jsonl.

What it can do

  • Evaluate code generation capabilities of language models

    Language model and Python programming problemsPerformance scores and evaluation metrics

  • Benchmark LLM coding performance

    Large language model outputs on coding tasksComparative benchmark results

  • Test Python code solutions against problem specifications

    Generated Python code and problem requirementsPass/fail results and correctness validation

  • Provide hand-written Python programming problems

    Request for coding evaluation tasksSet of 164 curated Python programming problems

  • Run automated code testing harness

    Python code solutionsTest execution results and error reports

Tags

benchmarkllmcodeopenaievaluation

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.