# `CMDCEval.Suites.BFCL`
[🔗](https://github.com/tupleyun/cmdc_eval/blob/v0.1.0/lib/cmdc_eval/suites/bfcl.ex#L1)

Berkeley Function Calling Leaderboard v3 (BFCL) Suite —— 占位实现 + fixtures 接入路径。

## 数据来源

BFCL fixtures 来自上游公开仓库：
<https://github.com/ShishirPatil/gorilla/tree/main/berkeley-function-call-leaderboard>

v0.1 实现：

- **fixtures 文件存放**：`priv/bfcl/v3/<category>.jsonl`（gitignore 不入 hex 包）
- **`mix cmdc.eval.fetch_bfcl`**：从上游公开仓库 `git clone` + 转换格式
- **`cases/0` 自动 load**：若 fixtures 目录不存在，返回空列表 + warning
- **`assert/2`**：按 BFCL ground truth 比对（v0.1 只比 tool name + 主要参数）

> v0.1 故意保持小范围：10 个用例占位 + 完整 fetch path。
> 更复杂的 sub-category (AST / executable / multi_turn 等) 留 v0.2 扩展。

## 限制

- 不内置 fixtures（许可证 + 文件大小考虑）
- 跑前需手动执行 `mix cmdc.eval.fetch_bfcl`
- v0.1 只覆盖 BFCL "simple" 子类（v1.0 公开 fixtures）

## 替代方案

如果 fixtures fetch 失败，可用 `CMDCEval.Suites.Internal` 做 cmdc kernel
自验证；BFCL 主要用于跨模型 / 跨 Agent kernel 横向比较。

---

*Consult [api-reference.md](api-reference.md) for complete listing*
