# `mix cmdc.eval.fetch_bfcl`
[🔗](https://github.com/tupleyun/cmdc_eval/blob/v0.1.0/lib/mix/tasks/cmdc.eval.fetch_bfcl.ex#L1)

从 Berkeley Function Calling Leaderboard v3 上游公开仓库拉取 fixtures
并转换为 cmdc_eval 内部 JSONL 格式。

## 用法

    $ mix cmdc.eval.fetch_bfcl
    $ mix cmdc.eval.fetch_bfcl --dest=priv/bfcl/v3 --category=simple

## 选项

- `--dest=<path>` 输出目录（默认 `priv/bfcl/v3`）
- `--category=<name>` 仅拉某一类别（默认 `simple`；可选 `simple` /
  `multiple` / `parallel` / `parallel_multiple`）
- `--limit=<n>` 限制拉取条目数（默认 10，便于快速 spike）

## 数据来源

上游：<https://github.com/ShishirPatil/gorilla>
路径：`berkeley-function-call-leaderboard/data/BFCL_v3_<category>.json`

## 注意

- 需要 `git` + `curl` 命令可用
- 拉到的数据 **不会** 进 hex 包（fixtures 在 `priv/bfcl/`，
  `.gitignore` 默认忽略，运行 evals 前需自行拉取）
- 数据许可证遵循上游（Apache-2.0，但请自行确认最新）

## v0.1 状态

v0.1 实现 **最小骨架**：从上游 raw URL `curl` 单个 JSON 文件，
转换为 cmdc_eval 内部 `{"id", "question", "function", "ground_truth"}` 格式。
失败时打 warning + 写 placeholder（含说明），不阻塞 `mix cmdc.eval`。

完整 BFCL 全 5 子类 + ground truth 解析留 v0.2 扩展。

---

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