BFCL-V4-Bench(OpenRouter)
基于OpenRouter API的LLM Function Calling性能评估框架\ *BFCL(伯克利函数调用排行榜)V4기반*
______________________________________________________________________
📋 项目概述
| 主题 | 详细信息 |
|---|---|
| 目的 | 准确测量OpenRouter主要LLM的Function Calling(FC)性能 |
| 基于基准测试 | UC Berkeley BFCL V4(基于Abstract Syntax Tree的精确评分) |
| 评估对象 Llama 3.3、Mistral Small 3.2、Qwen 3系列(14B、32B、80B) | |
| 主要功能 | 单转身(Single-turn) 验证以精确FC为中心的能力 |
______________________________________________________________________
🎯 评估框架(BFCL V4)
1.评估类别和翻转方式
本项目旨在测量模型的纯函数调用准确度。 单转身(Single-turn) 正在采用这种方式。
| 类别 | 方式 | 类型 | 详细说明 | 数据数量 |
|---|---|---|---|---|
| 简单 | 单次调用 | 对单个函数执行一次调用(Python/Java/JS) | 550个 | |
| 多个 | 单循环 | 选择函数 | 从多个候选函数中选择一个最佳函数进行调用 | 200个 |
| 并行 单次并行调用使用不同参数多次同时调用同一函数200个 | ||||
| 并行多重 | 复合单转 复合并行 一次请求同时调用200个不同的函数 |
2.单轮(我们做的)vs多轮(计划支援)
区分单转身(Single-turn)多转身(Multi-turn) | :--- | :--- | :--- | | 对话结构 | 질문 1회 ➔ 응답 1회 | 질문/응답 반복 (对话)| | 保持状态 |无需(Zero-shot)| 必需 (记住之前的对话背景)| | 评估目的 |纯函数调用和参数准确度|根据对话流推断代理(Agent)的能力| | 当前状态 | 跑完全程(V2.1) |数据集支持(可稍后评估)
3.核心评价指标(Metrics)
指标名称计算逻辑备注 | :--- | :--- | :--- | | 准确度 | Correct / Total |单个类别的纯正确率| | 总体Acc | AVERAGE(Cat_Acc_1, Cat_Acc_2, ...) |各类别正确率的 非加权平均 (BFCL官方)| | 加权Acc | ΣCorrect / ΣTotal |正确答案总数与整个测试案例的比率|
______________________________________________________________________
🤖 各型号的评估结果
类别准确度(%)
| 모델 | 简单 | 多重 | 并行 | 并行多重 | 平均 |
|---|---|---|---|---|---|
| Qwen3-14B | 95.0 | 95.5 | 93.0 | 96.0 | 94.9 |
| Qwen3-Next-80B | 96.8 | 95.0 | 93.5 | 92.0 | 94.3 |
| Qwen3-32B | 93.5 | 89.0 | 89.0 | 93.0 | 91.1 |
| 米斯特拉尔·斯莫尔-24B | 57.8 | 63.0 | 40.5 | 40.0 | 50.3 |
| Llama-3.3-70B | 26.3 | 14.5 | 32.0 | 4.0 | 19.2 |
主要发现
| 型号 | 等级 | 特征 | 主要错误类型 |
|---|---|---|---|
| Qwen3-14B | 🥇 | 最高性价比,80B级性能 | 发生类型错误(int float)小数 |
| Qwen3-Next-80B | 🥇 | 稳定,Simple最高点 | 类型错误(int float)小数出现 |
| Qwen3-32B | 🥈 | 符合要求的性能 | JSON解析错误,函数选择失败 |
| 米斯特拉尔·斯莫尔-24B | 不稳定 | 文本响应而不是函数调用,解析错误 | |
Llama-3.3-70B FC无效 类型错误 (数字→字符串),函数名错误(.→_) |
______________________________________________________________________
🛠️ 安装和首选参数
1.安装依赖性
# 저장소 클론 및 이동
git clone
cd BFCL-V4-Bench/gorilla/berkeley-function-call-leaderboard
# 패키지 및 리포트 엔진 설치
pip install -e .
pip install openpyxl2.设置API密钥
.env 在以下路径中创建文件。 (.gitignore受保护)
- 路径:
gorilla/berkeley-function-call-leaderboard/.env
OPENROUTER_API_KEY=your_api_key_here______________________________________________________________________
🚀 快速启动(Quick Start)
# 1. 작업 디렉토리 이동
cd gorilla/berkeley-function-call-leaderboard
# 2. 퀵 테스트 실행 (카테고리별 2개씩, 약 1분 소요)
python run_eval.py --quick
# 3. 결과 확인
open reports/ # 엑셀 보고서 자동 생성됨执行流
run_eval.py 실행
│
├─➊ 응답 생성 (generate) → result/*.jsonl
├─➋ AST 채점 (evaluate) → score/*.json
└─➌ 보고서 생성 (report) → reports/*.xlsx______________________________________________________________________
📖 CLI参考
默认运行模式
| 命令 | 说明 | 所需时间 |
|---|---|---|
python run_eval.py --quick 快速测试(2个类别)~1分钟 | ||
python run_eval.py --full 评估整个数据集~30分钟+ | ||
python run_eval.py --report-only 仅根据现有结果生成报告~10秒 |
详细选项
# 특정 모델만 테스트
python run_eval.py --quick --models "openrouter/qwen3-14b-FC"
# 특정 카테고리만 테스트
python run_eval.py --full --categories "simple_python,multiple"
# 샘플링 테스트 (카테고리별 100개씩)
python run_eval.py --sample-size 100
# 병렬 처리로 속도 향상
python run_eval.py --full --num-threads 4
# 기존 결과에 추가 실행 (덮어쓰기 방지)
python run_eval.py --append --categories "parallel"
# 생성 또는 평가 단계 스킵
python run_eval.py --skip-generate # 평가+보고서만
python run_eval.py --skip-evaluate # 생성+보고서만支持型号列表
| 型号ID | 说明 |
|---|---|
openrouter/qwen3-next-80b-a3b-instruct-FC Qwen3-Next 80B(建议) | |
openrouter/qwen3-14b-FC Qwen3 14B(性价比) | |
openrouter/qwen3-32b-FC | Qwen3 32B |
openrouter/mistral-small-3.2-24b-instruct-FC | Mistral小24B |
openrouter/llama-3.3-70b-instruct-FC | Llama 3.3 70B |
______________________________________________________________________
📂 体系结构(Architecture)
1.目录树
BFCL-V4-Bench/
├── 📄 README.md # 프로젝트 통합 가이드
├── ⚙️ .env # OpenRouter API 키 (보안)
└── 📂 gorilla/
└── 📂 berkeley-function-call-leaderboard/
├── 🐍 run_eval.py # [핵심] 평가/채점/리포트 통합 실행기
├── 🐍 excel_reporter.py # [엔진] 수식 기반 엑셀 생성 모듈
├── 📂 bfcl_eval/ # BFCL 원본 프레임워크 모듈
├── 📂 reports/ # 최종 엑셀 보고서 (결과물)
├── 📂 result/ # 모델 응답 원본 (JSONL)
└── 📂 score/ # AST 채점 결과 (JSON)2.配置报告(Excel)页面
| 图纸名 | 主要内容 | 特点 |
|---|---|---|
| 摘要 | 核心KPI、排名、失败原因Top5 100%Excel公式通过实时联动 | |
| 类别矩阵 | 比较型号×类别的准确度 | 应用最高/最低点自动高亮样式 |
| 详细 | 所有测试案例的输入输出和错误依据 | 包括参数名称、期望/实际类型等分析提示 |
______________________________________________________________________
