Gorilla项目v1.2版本发布:伯克利函数调用评测框架重大升级
2025-06-03 07:14:35作者:郜逊炳
Gorilla是一个专注于大语言模型(LLM)函数调用能力的开源项目,由伯克利研究团队开发。该项目构建了一套完整的函数调用评测体系,旨在评估不同LLM在API调用、工具使用等方面的能力表现。最新发布的v1.2版本带来了伯克利函数调用评测框架(BFCL)的重大更新,特别是新增了对多步骤和多轮次函数调用的评估能力。
评测框架架构优化
v1.2版本对评测框架进行了深度的架构重构,将模型处理逻辑划分为API推理和本地推理两大组件。这种模块化设计使得框架能够更灵活地支持不同类型的模型:
- API推理组件专门处理需要通过网络API访问的专有模型,如OpenAI、Anthropic等公司的商业模型
- 本地推理组件则针对可以本地部署的开源模型进行优化,支持HuggingFace Transformers等主流框架
这种分离设计不仅提高了代码的可维护性,也为后续支持更多模型类型奠定了基础。
多轮对话评估能力
本次更新的核心亮点是引入了多轮对话场景下的函数调用评估能力。传统的函数调用评测往往局限于单轮交互,而v1.2版本能够模拟更真实的对话场景:
- 上下文保持:模型需要在多轮对话中正确维护和引用上下文信息
- 渐进式参数收集:某些API调用需要跨多轮对话逐步收集完整参数
- 状态管理:评估模型在复杂交互中维护对话状态的能力
这一功能使得评测结果更贴近实际应用场景,对模型的综合能力提出了更高要求。
模型支持扩展
v1.2版本显著扩展了支持的模型范围,新增了多个前沿模型的支持:
- 谷歌Gemini系列:包括Gemini 1.5 Pro/Flash等多个变体
- Meta Llama 3系列:新增Llama-3.3-70B等大参数版本
- 深度求索模型:支持DeepSeek-V2.5、DeepSeek-V3等中文模型
- 其他新锐模型:如Qwen2.5系列、Watt-Tool系列等
每种模型都有专门的适配器处理其特有的输入输出格式和调用方式,确保评测的准确性和公平性。
性能与稳定性提升
新版本在系统性能和稳定性方面做出了多项改进:
- 延迟优化:改进了本地模型的推理速度,通过批处理和并行化显著提升吞吐量
- 容错机制:为API调用添加了指数退避重试逻辑,增强对网络波动的适应能力
- 资源管理:优化GPU内存使用,避免大模型推理时的内存溢出问题
- 日志系统:增强日志可读性,便于问题诊断和性能分析
评测数据集完善
配合框架升级,评测数据集也进行了全面修订:
- 数据类型丰富:新增多轮对话、长上下文等更具挑战性的测试案例
- 数据质量提升:修正了参数类型错误、函数文档描述不准确等问题
- 评估维度扩展:不仅检查API调用的正确性,还评估响应的相关性和实用性
- 非法参数检测:新增单元测试确保所有参数名称符合Python语法规范
开发者体验改进
v1.2版本特别关注了开发者体验的提升:
- 命令行界面:新增BFCL命令行工具,简化评测流程
- 结果可视化:支持将评测结果记录到WandB等平台
- 配置灵活性:允许指定自定义目录位置和特定测试条目
- 文档完善:重新组织了README文档,提供更清晰的使用指南
技术影响与展望
Gorilla v1.2的发布标志着大语言模型函数调用能力评估进入了一个新阶段。多轮交互评估能力的引入使得评测更加贴近实际应用场景,能够更全面地反映模型的真实能力。随着越来越多的模型加入支持,该项目有望成为函数调用能力评估的事实标准。
未来,随着工具使用和API调用在LLM应用中的重要性不断提升,Gorilla项目可能会进一步扩展其评估维度,包括但不限于:
- 复杂工作流评估:跨多个API的链式调用能力
- 错误处理能力:对无效API响应或错误参数的处理
- 安全性评估:防范潜在的不安全函数调用
- 效率优化:评估模型在资源受限场景下的表现
Gorilla项目的持续发展将为LLM在真实世界中的应用提供重要的能力基准和优化方向。
登录后查看全文
热门项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C050
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0126
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00
项目优选
收起
deepin linux kernel
C
26
10
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
441
3.35 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
819
395
Ascend Extension for PyTorch
Python
249
285
React Native鸿蒙化仓库
JavaScript
276
329
暂无简介
Dart
701
164
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
140
50
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.24 K
678
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
555
111