bfcl-eval
Berkeley Function Calling Leaderboard (BFCL)
Decision gist · record as of 2026-08-14
Yes, if you are benchmarking or comparing LLM function-calling capabilities. The package is actively maintained, well-integrated with major LLM providers, and covers realistic multi-turn and agentic scenarios beyond simple function calls. Install friction is low and no security vulnerabilities are known. Caveat: setup requires careful environment configuration (BFCL_PROJECT_ROOT, .env, API keys) and the 32 dependencies are substantial; use only if you actually need comprehensive function-calling evaluation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Python 3.10+ required; BFCL_PROJECT_ROOT environment variable must be set for PyPI installations to locate result and score directories; API keys for proprietary models (OpenAI, Anthropic, Mistral, etc.) must be configured in .env file.
- Low friction installation as a wheel; active maintenance with recent commits and strong repository engagement (12994 stars).
- Requires Python 3.10+.
License · maintenance · safety
Apache 2.0 (permissive) — Apache 2.0 is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
last release 2026-03-23 (144 days) · last repo commit 2026-04-13 · 12,994 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 580,493 downloads/mo, #5,911 on PyPI
Alternatives
Verify before relying
pip install bfcl-eval
export BFCL_PROJECT_ROOT=/path/to/project
cp $(python -c "import bfcl_eval; print(bfcl_eval.__path__[0])")/.env.example $BFCL_PROJECT_ROOT/.env
bfcl generate --model gpt-4o-2024-11-20-FC --test-category simple_python- Whether the package supports evaluation of models beyond those listed in SUPPORTED_MODELS.md
- Performance characteristics and typical runtime for full evaluation suites
- Whether locally-hosted model evaluation (vllm/sglang backends) is production-ready or experimental
What it is and what it does
BFCL is a comprehensive evaluation framework for assessing how well large language models can invoke functions correctly. It goes beyond simple function-calling tests to include parallel calls, multi-turn interactions, agentic scenarios with web search, and memory management. The package provides both a command-line interface and programmatic API to generate model responses and evaluate their correctness against executable test cases.
The framework integrates with major LLM providers (OpenAI, Anthropic, Mistral, Cohere, Google, Qwen) and supports locally-hosted models via vllm or sglang backends. It uses tree-sitter for code parsing, faiss-cpu for semantic retrieval, and sentence-transformers for embeddings. Results are stored in configurable directories and can be logged to Weights & Biases. The package requires substantial setup—environment variables, API keys, and a project root directory—but is designed for researchers and practitioners benchmarking model capabilities at scale.
Use it for
- Benchmark a new LLM variant's function-calling accuracy against the Berkeley leaderboard test suite
- Evaluate locally-hosted open-source models using vllm or sglang backends to compare with proprietary APIs
- Test multi-turn agentic workflows where models must chain function calls with web search and memory
- Generate and evaluate function-calling responses for a custom subset of test cases using --run-ids
- Integrate function-calling evaluation into a CI/CD pipeline to track model performance regressions
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are benchmarking or comparing LLM function-calling capabilities.
The package is actively maintained, well-integrated with major LLM providers, and covers realistic multi-turn and agentic scenarios beyond simple function calls. Install friction is low and no security vulnerabilities are known. Caveat: setup requires careful environment configuration (BFCL_PROJECT_ROOT, .env, API keys) and the 32 dependencies are substantial; use only if you actually need comprehensive function-calling evaluation.
Install
bfcl-eval on PyPI
Before you install
Low friction installation as a wheel; active maintenance with recent commits and strong repository engagement (12994 stars). Requires Python 3.10+. The 32 runtime dependencies are substantial but standard for ML evaluation work (requests, pandas, huggingface_hub, multiple LLM provider SDKs, tree-sitter for code parsing, faiss-cpu for retrieval).
Python 3.10+ required; BFCL_PROJECT_ROOT environment variable must be set for PyPI installations to locate result and score directories; API keys for proprietary models (OpenAI, Anthropic, Mistral, etc.) must be configured in .env file.
License in practice
Apache 2.0 is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
Quickstart
pip install bfcl-eval
export BFCL_PROJECT_ROOT=/path/to/project
cp $(python -c "import bfcl_eval; print(bfcl_eval.__path__[0])")/.env.example $BFCL_PROJECT_ROOT/.env
bfcl generate --model gpt-4o-2024-11-20-FC --test-category simple_python
Verify before relying
- Whether the package supports evaluation of models beyond those listed in SUPPORTED_MODELS.md
- Performance characteristics and typical runtime for full evaluation suites
- Whether locally-hosted model evaluation (vllm/sglang backends) is production-ready or experimental
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 32 packagesrequeststqdmnumpypandashuggingface_hubpydanticpython-dotenvtree_sittertree-sitter-javatree-sitter-javascriptopenaimistralaianthropiccoheretypertabulatedatamodel-code-generatorgoogle-genaiqwen-agentmpmathtenacitywriter-sdkoverridesboto3beautifulsoup4html2textrank_bm25google-search-resultssentence-transformersfaiss-cpu |
| Maintenance | Actively maintained 144 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 580,493 / month, #5,911 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: bfcl_eval-2026.3.23-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “llm function calling evaluation”
- bfcl-evalEvaluates and benchmarks large language models' ability to invoke…
- pydantic-evalsPydantic Evals provides a framework for defining test cases, custom…
- autoevalsAutoevals provides automatic evaluation methods for AI model outputs,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to call 100+ LLM providers (OpenAI, Anthropic, Gemini, Bedrock, Azure, and others) using OpenAI-compatible API format, available as both a Python SDK and a self-hosted AI Gateway proxy server.
Install it if you need to work with multiple LLM providers or want to centralize LLM routing in your organization.
Client library and CLI tool for downloading, uploading, and managing models, datasets, and repositories on the Hugging Face Hub platform.
Install it if you work with Hugging Face Hub models or datasets.
LangChain provides a framework for building agents and LLM-powered applications by composing language models, tools, and memory through a unified API that abstracts over multiple model providers.
hf-xet provides chunk-based deduplication and efficient file transfer for the Hugging Face Hub, enabling faster uploads and downloads of large files with local disk caching.
Tokenizers converts raw text into token sequences for NLP models, with support for training custom vocabularies and using pre-built tokenizers (BPE, WordPiece) optimized for speed via Rust.
Transformers provides a unified framework for loading, fine-tuning, and running state-of-the-art pretrained models across text, vision, audio, video, and multimodal tasks using PyTorch, JAX, or TensorFlow.
Install it if you need to run or train any transformer-based model for NLP, vision, audio, or multimodal tasks.
See also lm-eval · TextArena · evalplus · deepeval · strands-agents-evals · terminal-bench · unitxt · mteb · sgl-kernel · autoevals