Tool use · Agentic
BFCL
Berkeley Function Calling Leaderboard (also called the Berkeley Tool Calling Leaderboard)
Does the model emit the right function call with the right arguments?
- Released
- 2024
- Built by
- Gorilla team, UC Berkeley
- Size
- Not published
- Status
- Active
- Reported by
- UC Berkeley Gorilla, Meta, Alibaba (Qwen), Mistral, Cohere
- Judge
- 58
- Mixed grading, so part of the score inherits the weakest judge.
- Headroom
- 82
- Still separates the frontier from everything below it.
- Resolution
- 50
- Instance count is not published, so per-item weight is unknown.
- Fine print
- 46
- 4 documented caveats, the heaviest being possible training-set contamination.
- Adoption
- 65
- Reported by 5 labs; 0 published scores collected here.
Weighted from facts already on the record — not an editorial rating. A low score means a number from this benchmark needs more context to read, not that the benchmark is bad.
How the evaluation works
Every benchmark on this site is broken onto the same five stages. Select a stage to see what it actually involves.
Stage 3 · What the model can do while measured
Mostly no environment
For most categories there is no environment at all — it is single-shot structured generation against a supplied schema, which is why BFCL is cheap enough to run on every model release. Executable subsets do run the generated call against a real Python, Java or JavaScript interpreter or a live REST endpoint and compare the returned value. The multi-turn categories added in V3 simulate a small stateful backend, such as a file system or a vehicle control API, with state carried across several user turns.
Single turn, no tools. The most reproducible setup there is.
- Budget
- Single turn for most categories; V3+ multi-turn categories run several user turns against carried state.
- Tools exposed
- Supplied JSON function schemasPython / Java / JavaScript interpreters (executable subsets)Live REST endpoints (executable subsets)
Where the tasks came from
V1 was roughly 2,000 triples; the Live, multi-turn and agentic splits added later were not fully countable from the rendered leaderboard.
Expert-curated from real public APIs, plus user-submitted enterprise schemas in the Live split.
Every task is public, so there is no held-out split to check contamination against.
What the number does not tell you
The most useful part of any benchmark is the fine print. These are the reasons a published score can mislead.
BFCL's original questions have been public since 2024 and appear in countless repos and tutorials. That leakage is the stated motivation for the Live split of user-contributed enterprise schemas, so a V1-only number should be read as a floor on contamination, not a measure of capability.
Source
Published scores
Collected from model cards and independent evaluators. The configuration column is the part that decides whether two numbers can be compared at all.
No published scores collected for this benchmark yet.
Active — Still spreads the field.