16 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
Gorilla:连接海量 API 的大型语言模型
最新动态
📢 查看我们详细的 Berkeley Function Calling Leaderboard 更新日志(最后更新:
)),了解 Berkeley Function Calling Leaderboard 最新的数据集/模型更新!
-
🤖 [07/17/2025] 宣布推出 BFCL V4 Agentic!由于函数调用构成 Agentic 系统的基石,BFCL V4 Agentic 基准专注于真实世界 Agentic 场景中的工具调用,涵盖带多跳推理与错误恢复的网页搜索、智能体内存管理,以及格式敏感性评估。[Web-search 博客] [Memory 博客] [格式敏感性博客] [PR] [Tweet]
-
🎯 [10/04/2024] 推出 Gorilla X LMSYS Chatbot Arena 的 Agent Arena!在搜索、金融、RAG 等任务中比较不同智能体。通过我们新颖的排名系统与社区驱动的 prompt 中心,探索哪些模型与工具最适合特定任务。[博客] [Arena] [排行榜] [数据集] [Tweet]
-
📣 [09/21/2024] 宣布 BFCL V3——评估多轮与多步函数调用能力!全新基于状态的评估系统测试模型处理复杂工作流、顺序函数与服务状态的能力。[博客] [排行榜] [代码] [Tweet]
-
🚀 [08/20/2024] 发布 BFCL V2 • Live!Berkeley Function-Calling Leaderboard 现已纳入企业贡献数据与真实场景。[博客] [实时排行榜] [V2 分类排行榜] [Tweet]
-
⚡️ [04/12/2024] 很高兴发布 GoEx——用于执行 LLM 生成动作(如代码、API 调用等)的运行时。具备用于在执行后评估 LLM 动作的“事后验证”(post-facto validation),以及用于管理意外动作与风险的“撤销”(undo)和“损害隔离”(damage confinement)抽象。这为完全自主的 LLM 智能体铺平道路,在人不在回路(human-out-of-loop)的情况下增强应用与服务之间的交互。[博客] [代码] [论文] [Tweet]
-
⏰ [04/01/2024] 在 Berkeley function calling leaderboard! 中引入成本与延迟指标
-
🚀 [03/15/2024] RAFT:将语言模型适配到特定领域 RAG 已上线![MSFT-Meta 博客] [Berkeley 博客]
-
🏆 [02/26/2024] Berkeley Function Calling Leaderboard 已上线!
-
🎯 [02/25/2024] OpenFunctions v2 为开源 LLM 树立新的 SoTA!
-
🔥 [11/16/2023] 很高兴发布 Gorilla OpenFunctions
-
💻 [06/29/2023] 发布 gorilla-cli, ——面向 CLI 的 LLM!
-
🟢 [06/06/2023] 发布可商用、Apache 2.0 许可的 Gorilla 模型
-
🚀 [05/30/2023] 提供用于与 Gorilla 对话的 CLI 接口!
-
🚀 [05/28/2023] 发布 Torch Hub 与 TensorFlow Hub 模型!
-
🚀 [05/27/2023] 发布首个 Gorilla 模型!
或 🤗!
-
🔥 [05/27/2023] 我们发布了 APIZoo 贡献指南,供社区贡献 API!
-
🔥 [05/25/2023] 我们发布 Gorilla 的 APIBench 数据集与评估代码!
关于
Gorilla 通过调用 API 使 LLM 能够使用工具。给定自然语言查询,Gorilla 会生成语义和语法均正确的待调用 API。
借助 Gorilla,我们率先展示了如何使用 LLM 准确调用 1,600+(且仍在增长)个 API 调用,同时减少幻觉。本仓库包含用于运行 Gorilla 微调模型的推理代码、用于复现论文结果的评估代码,以及 APIBench——规模最大的 API 集合,经过精心整理且易于训练!
自首次发布以来,我们已处理约 50 万次请求,并见证了全球开发者的广泛采用。项目已扩展至涵盖工具、评估、排行榜、端到端微调方案、基础设施组件以及 Gorilla API Store:
| 项目 | 类型 | 描述(点击展开) |
|---|---|---|
| Gorilla Paper | 🤖 Model 📝 Fine-tuning 📚 Dataset 📊 Evaluation 🔧 Infra |
连接海量 API 的大型语言模型• 面向 API 调用的创新微调方法• 在 1,600+ API(APIBench)上的评估 • 用于测试时适配的检索增强训练 |
| Gorilla OpenFunctions-V2 | 🤖 Model | 可直接替换的函数调用方案,支持多种复杂数据类型与并行执行• 通过 OpenAI 兼容端点实现多函数与并行函数执行• 原生支持 Python、Java、JavaScript 及 REST API,并扩展数据类型 • 函数相关性检测以降低幻觉 • 增强的 RESTful API 格式化能力 • 在开源模型中达到最先进(SoTA)性能 |
| Berkeley Function Calling Leaderboard (BFCL) | 📊 Evaluation 🏆 Leaderboard 🔧 Function Calling Infra 📚 Dataset |
函数调用能力的全面评估• V1:专家策划数据集,用于评估单轮函数调用• V2:企业贡献数据,面向真实场景 • V3:多轮与多步函数调用评估 • 所有模型的成本与延迟指标 • 用于测试的交互式 API 探索器 • 社区驱动的基准测试平台 |
| Agent Arena | 📊 Evaluation 🏆 Leaderboard |
跨模型、工具与框架比较 LLM 智能体• 采用 ELO 评分系统的智能体正面对决比较• 框架兼容性测试(LangChain、AutoGPT) • 社区驱动的评估平台 • 真实任务性能指标 |
| Gorilla Execution Engine (GoEx) | 🔧 Infra | 在安全保障下执行 LLM 生成动作的运行时• 事后验证(post-facto validation),用于在执行后核验 LLM 动作• 撤销能力与损害隔离(damage confinement)以缓解风险 • 对多种服务提供 OAuth2 与 API 密钥认证 • 支持 RESTful API、数据库与文件系统操作 • 基于 Docker 的沙箱化执行环境 |
| Retrieval-Augmented Fine-tuning (RAFT) | 📝 Fine-tuning 🤖 Model |
微调 LLM 以实现稳健的特定领域检索• 面向特定领域 RAG 的创新微调方案• 带直接文档引用的思维链(chain-of-thought)回答 • 使用 oracle 与干扰文档进行训练 • 在 PubMed、HotpotQA 与 Gorilla 基准上性能提升 • 高效适配较小模型用于领域问答 |
| Gorilla CLI | 🤖 Model 🔧 Local CLI Infra |
面向命令行界面的 LLM• 用户友好的 CLI 工具,支持约 1500 个 API(Kubernetes、AWS、GCP 等)• 多 LLM 融合的自然语言命令生成 • 注重隐私,需明确批准后才执行 • 命令历史与交互式选择界面 |
| Gorilla API Zoo | 📚 Dataset | 社区维护的最新 API 文档库• 跨领域的集中式可检索 API 索引• 结构化文档格式,含参数、版本与示例 • 社区驱动更新以跟上 API 变更 • 用于模型训练与微调的丰富数据源 • 支持检索增强训练与推理 • 通过最新文档减少幻觉 |
快速入门
快速开始
在浏览器中试用 Gorilla:
- 🚀 Gorilla Colab Demo: 试用基础 Gorilla 模型
- 🌐 Gorilla Gradio Demo: 交互式 Web 界面
- 🔥 OpenFunctions Colab Demo: 试用最新 OpenFunctions 模型
- 🎯 OpenFunctions Website Demo: 体验函数调用(function calling)
- 📊 Berkeley Function Calling Leaderboard: 比较函数调用能力
安装选项
- Gorilla CLI - 最快的入门方式
pip install gorilla-cli
gorilla generate 100 random characters into a file called test.txt
- 本地运行 Gorilla
git clone https://github.com/ShishirPatil/gorilla.git
cd gorilla/inference
- 使用 OpenFunctions
import openai
openai.api_key = "EMPTY"
openai.api_base = "http://luigi.millennium.berkeley.edu:8000/v1"
# Define your functions
functions = [{
"name": "get_current_weather",
"description": "Get weather in a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}]
# Make API call
completion = openai.ChatCompletion.create(
model="gorilla-openfunctions-v2",
messages=[{"role": "user", "content": "What's the weather in San Francisco?"}],
functions=functions
)
🔧 其他快速入门
-
📊 评估与基准测试(Evaluation & Benchmarking)
- Berkeley Function Calling Leaderboard:比较函数调用能力
- Agent Arena:评估智能体工作流
- Gorilla Paper Evaluation Scripts:运行你自己的评估
-
🛠️ 开发工具(Development Tools)
常见问题
- 我想在商业场景中使用 Gorilla。会有 Apache 2.0 许可的版本吗?
有的!我们现在提供可在商业场景中无任何附加义务使用的模型。
- 我们可以将 Gorilla 与其他工具(如 Langchain 等)一起使用吗?
完全可以!你提到了我们工具的一个突出优势。Gorilla 是一个端到端模型,专门用于提供正确的 API 调用(工具),无需任何额外编码。它旨在作为更广泛生态系统的一部分,并可灵活集成到智能体框架(agentic frameworks)及其他工具中。
Langchain 是一款多功能的开发者工具。其「agents」可以高效替换任意 LLM,包括 Gorilla,使其成为适应各种需求的高度灵活解决方案。
这些工具在协作时才能真正发挥优势,彼此互补长处与能力,从而打造更强大、更全面的解决方案。这正是你的贡献可以发挥作用的地方。我们热烈欢迎任何有助于进一步改进和完善这些工具的反馈。
请查看我们的博客文章 How to Use Gorilla: A Step-by-Step Walkthrough,了解将 Gorilla 集成到项目中的各种方式。
项目路线图
在不久的将来,我们计划发布以下内容:
- 多模态函数调用排行榜
- 智能体函数调用排行榜
- 新一批用户贡献的实时函数调用评估
- 用于评估污染的 BFCL 指标
- 支持更多语言和多轮能力的 Openfunctions-v3 模型
- Agent Arena:跨模型、工具和框架比较 LLM 智能体 [10/04/2024]
- 多轮与多步函数调用评估 [09/21/2024]
- 用户贡献的实时函数调用排行榜 [08/20/2024]
- 包含成本与延迟的 BFCL 系统指标 [04/01/2024]
- Gorilla Execution Engine (GoEx) - 在安全保障下执行 LLM 生成操作的运行时 [04/12/2024]
- 用于评估工具调用/函数调用模型的 Berkeley Function Calling leaderboard (BFCL) [02/26/2024]
- 支持更多语言(Java、JS、Python)及相关性检测的 Openfunctions-v2 [02/26/2024]
- 便于访问所有 API 的 API Zoo Index [02/16/2024]
- 支持并行与多重函数调用的 Openfunctions-v1,Apache 2.0 [11/16/2023]
- Openfunctions-v0,Apache 2.0 函数调用模型 [11/16/2023]
- 发布可在商业场景使用的、Apache 2.0 许可的 Gorilla 模型 [06/05/2023]
- 发布 APIBench 中所有 API 的权重 [05/28/2023]
- 本地运行 Gorilla LLM [05/28/2023]
- 发布 HF 模型 API 的权重 [05/27/2023]
- 面向 HF 模型 API 的托管 Gorilla LLM 聊天服务 [05/27/2023]
- 向社区开放 APIZoo 以接受贡献
- 数据集与评估代码
许可证
Gorilla 采用 Apache 2.0 许可,适用于学术与商业用途。
联系方式
- 💬 加入我们的 Discord Community
- 🐦 在 X 关注我们
引用
@article{patil2023gorilla,
title={Gorilla: Large Language Model Connected with Massive APIs},
author={Shishir G. Patil and Tianjun Zhang and Xin Wang and Joseph E. Gonzalez},
year={2023},
journal={arXiv preprint arXiv:2305.15334},
}
