ModelRefs / BFCL (Berkeley Function Calling Leaderboard) — AI Glossary
BFCL (Berkeley Function Calling Leaderboard) — AI Glossary
A benchmark evaluating LLMs on their ability to correctly call functions — including simple, parallel, nested, and multi-turn scenarios.
Overview
BFCL (UC Berkeley, 2024) tests function-calling accuracy across multiple languages and call types. It is the primary leaderboard for comparing tool-use quality across providers. Updated regularly with new function schemas.
Reference details
| Topic | evaluation |
|---|---|
| Also known as | Berkeley Function Calling Leaderboard |
| Last reviewed | 2026-06-24 |
Related terms
How it works
- Function schemas are supplied alongside a user request, and the model must emit a call with the right function name and correctly typed arguments.
- Categories are separated deliberately: a single call, several independent calls in one turn, calls whose arguments come from a previous result, and multi-turn sequences where the model must ask for missing information.
- Two grading modes exist. Abstract-syntax comparison checks the emitted call against a reference structurally, which is cheap and tolerant of argument ordering; execution checks whether running the call produces the expected result, which catches calls that are structurally plausible and semantically wrong.
- Cases where no function applies are included, so refusing to call is a correct answer and a model that always calls something is penalised.
- Several language bindings are covered, since argument typing and call syntax differ and a model may be strong in one and weak in another.
- The headline figure is an average across categories, which is where most of the misreading happens because the categories are not equally difficult or equally relevant to any given application.
Example: Why a category average describes no actual application
Suppose a model handles simple single calls correctly 90% of the time, parallel independent calls 60%, and multi-turn sequences with missing information 40%. An equally-weighted average is (90 + 60 + 40) / 3 = 63.3%, and no deployment experiences 63.3%. An application issuing only simple calls experiences 90%; one built on multi-turn elicitation experiences 40%. The error compounds if a workflow needs several categories: a flow requiring one simple call and one parallel call succeeds at 0.90 x 0.60 = 0.54, and adding a multi-turn step gives 0.90 x 0.60 x 0.40 = 0.216 — about a fifth, from a model whose headline is 63.3%. So the number to extract from this benchmark is the per-category score for the categories your application actually uses, and the aggregate's only legitimate function is ranking general-purpose models against each other. Reading it as a reliability estimate for a specific tool-use design overstates the easy cases and understates nothing.
Commonly confused with
Function-calling accuracy is not tool-use capability in a production sense, and the gap is the surrounding system. The benchmark supplies the schemas, poses one well-formed request and grades the emitted call. A production agent must decide whether a tool is needed at all, handle a call that errors or returns something unexpected, recover when the result contradicts its plan, and stop. None of that is measured here. A model scoring well on emitting correct calls can still fail in a loop, which is what agent benchmarks with state and multi-turn interaction exist to measure.
When to use it
Reach for it when:
- Comparing models for structured tool use, read at the per-category level for the categories you use.
- Checking parallel-call support specifically, which is a capability some models lack entirely rather than do poorly.
- Assessing whether a model refuses correctly when no function applies, which the irrelevance cases measure.
- With the grading mode stated, since structural and execution checks catch different errors.
Reach for something else when:
- Read as an aggregate, which averages categories of very different difficulty and relevance.
- As a reliability estimate for a multi-category workflow, where the per-category rates multiply.
- As a measure of agentic capability, which requires state, error recovery and termination that this does not test.
- Across language bindings without checking the one you use, since typing and syntax differ.
Continue your research
Use these connected ModelRefs sections to compare alternatives, inspect implementation paths, and review the evidence and governance boundaries relevant to BFCL (Berkeley Function Calling Leaderboard) — AI Glossary.
Frequently asked questions
What is BFCL (Berkeley Function Calling Leaderboard)?
A benchmark evaluating LLMs on their ability to correctly call functions — including simple, parallel, nested, and multi-turn scenarios.
Is BFCL (Berkeley Function Calling Leaderboard) the same as Berkeley Function Calling Leaderboard?
Yes — Berkeley Function Calling Leaderboard are common aliases for BFCL (Berkeley Function Calling Leaderboard).
What concepts are related to BFCL (Berkeley Function Calling Leaderboard)?
Closely related concepts include evaluation benchmark, function calling, tool use.