gorilla

GitHub
12.8k 1.3k 简单 6 次阅读 3天前Apache-2.0语言模型开发框架数据工具插件
AI 解读 由 AI 自动生成,仅供参考

Gorilla 是一个专为提升大语言模型(LLM)函数调用能力而设计的开源项目,旨在让 AI 更精准、安全地连接和操作海量 API。它核心解决了大模型在面对复杂工具链时“选错工具”或“参数生成错误”的难题,通过专门的训练与评估体系,显著提高了模型在真实场景中执行任务的准确率。

该项目不仅提供了一系列经过微调的模型,还推出了权威的“伯克利函数调用排行榜”(BFCL),持续追踪并评估业界模型在多轮对话、多步骤工作流及智能体记忆管理等高难度场景下的表现。其独特的技术亮点包括支持多跳推理、错误恢复机制,以及配套的 GoEx 运行时环境——后者能提供“事后验证”和“操作回滚”功能,有效管控自动执行代码或 API 时可能产生的风险,为构建完全自主的智能体系统奠定基础。

Gorilla 非常适合致力于开发 AI 智能体(Agent)的开发者、需要评估模型工具调用能力的研究人员,以及希望将大模型深度集成到现有业务系统中的企业技术团队。如果你正在探索如何让 AI 从“单纯聊天”进化为“真正办事”,Gorilla 提供了宝贵的模型资源、评测基准与安全执行框架。

使用场景

某电商公司的后端团队需要构建一个智能客服助手,使其能根据用户自然语言指令自动调用库存查询、订单修改及物流追踪等数十个内部 API。

没有 gorilla 时

  • 开发人员需为每个 API 手动编写复杂的规则解析代码,一旦接口参数变更,维护成本极高且容易出错。
  • 通用大模型常因不理解特定 API 的严格格式要求,生成错误的 JSON 参数或调用不存在的函数,导致服务频繁崩溃。
  • 面对“先查库存再下单”这类多步骤任务,模型缺乏状态管理能力,无法按正确顺序串联多个 API 调用。
  • 难以区分语义相似的意图(如“取消订单”与“退货”),往往需要大量人工标注数据微调模型,耗时数周。

使用 gorilla 后

  • gorilla 经过海量 API 文档训练,能精准理解自然语言并自动生成符合规范的 API 调用代码,无需手写解析逻辑。
  • 凭借对工具调用的专项优化,gorilla 输出的参数格式准确率大幅提升,有效避免了因格式错误导致的运行时异常。
  • 依托其强大的多轮对话与状态追踪能力,gorilla 能自主规划并执行涉及多个 API 的复杂工作流,确保业务逻辑连贯。
  • 利用少样本学习特性,gorilla 能快速适应新上线的 API 接口,将新功能的集成周期从数周缩短至几小时。

gorilla 将原本脆弱的规则匹配系统升级为高鲁棒性的自主代理,让大模型真正具备了精准操控大规模企业级 API 的能力。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (模型支持在 CPU 或 GPU 上运行,具体显存需求取决于所选模型大小,如 7B 模型通常建议 8GB+ 显存)

内存

未说明

依赖
notesREADME 中未直接列出具体的版本号和系统要求,但提供了多种使用方式:1. 通过 pip 安装 gorilla-cli 快速使用;2. 克隆仓库并在 inference 目录下运行(需参考该目录下的详细设置文档);3. 使用 OpenFunctions 兼容接口;4. 提供 Colab 和 Hugging Face Spaces 在线演示。主要依赖包括 PyTorch、Transformers 和 Accelerate 等主流深度学习库。
python未说明
torch
transformers
accelerate
openai
gorilla hero image

快速开始

Gorilla:连接海量API的大语言模型

Arxiv Discord Gorilla Website Gorilla Blog Hugging Face

最新动态

📢 请查看我们详细的Berkeley函数调用排行榜变更日志(最后更新时间:最后更新),了解Berkeley函数调用排行榜的最新数据集和模型更新!

  • 🤖 [2025年7月17日] 宣布BFCL V4 Agentic!由于函数调用是Agentic系统的基础,BFCL V4 Agentic基准测试专注于现实世界中的代理式工具调用场景,包括多跳推理与错误恢复的网络搜索、代理内存管理以及格式敏感性评估。[网络搜索博客] [内存博客] [格式敏感性博客] [PR] [推文]

  • 🎯 [2024年10月4日] 推出由Gorilla X LMSYS聊天机器人竞技场打造的Agent Arena!在搜索、金融、RAG等任务中比较不同代理的表现。通过我们创新的排名系统和社区驱动的提示中心,探索哪些模型和工具最适合特定任务。[博客] [竞技场] [排行榜] [数据集] [推文]

  • 📣 [2024年9月21日] 宣布BFCL V3——评估多轮次和多步骤的函数调用能力!全新的基于状态的评估体系测试模型处理复杂工作流、序列化函数及服务状态的能力。[博客] [排行榜] [代码] [推文]

  • 🚀 [2024年8月20日] BFCL V2正式上线!伯克利函数调用排行榜现已纳入企业贡献的数据和真实场景。[博客] [实时排行榜] [V2分类排行榜] [推文]

  • ⚡️ [2024年4月12日] 很高兴发布GoEx——一个用于LLM生成操作(如代码、API调用等)的运行时环境。该平台具备“事后验证”功能,可在执行后评估LLM的操作,并提供“撤销”和“损害限制”抽象机制,以管理意外行为和风险。这为完全自主的LLM代理铺平了道路,增强了应用程序和服务之间无需人工干预的交互能力。[博客] [代码] [论文] [推文]

  • ⏰ [2024年4月1日] 将成本和延迟指标引入伯克利函数调用排行榜

  • :rocket: [2024年3月15日] RAFT:将语言模型适配到领域特定的RAG已上线![MSFT-Meta博客] [伯克利博客]

  • :trophy: [2024年2月26日] 伯克利函数调用排行榜正式上线!

  • :dart: [2024年2月25日] OpenFunctions v2为开源LLM树立了新的SOTA!

  • :fire: [2023年11月16日] 很高兴发布Gorilla OpenFunctions

  • 💻 [2023年6月29日] 发布gorilla-cli,让LLM走进你的命令行界面!

  • 🟢 [2023年6月6日] 发布可商用、采用Apache 2.0许可的Gorilla模型

  • :rocket: [2023年5月30日] 提供了与Gorilla对话的CLI接口

  • :rocket: [2023年5月28日] 发布Torch Hub和TensorFlow Hub模型!

  • :rocket: [2023年5月27日] 发布首个Gorilla模型!Colab:hugs:!

  • :fire: [2023年5月27日] 我们发布了APIZoo社区API贡献指南!

  • :fire: [2023年5月25日] 我们发布了APIBench数据集以及Gorilla的评估代码!

关于

Gorilla 通过调用 API 使大型语言模型能够使用工具。给定自然语言查询,Gorilla 会生成语义和语法都正确的 API 调用。

借助 Gorilla,我们首次展示了如何利用大型语言模型准确地调用 1,600 多个(且数量仍在增长)API,并有效减少幻觉现象。本仓库包含用于运行 Gorilla 微调模型的 推理代码、用于复现我们论文结果的 评估代码,以及 APIBench——一个规模最大的 API 集合,经过精心整理且易于训练!

自我们首次发布以来,已处理约 50 万次请求,并在全球开发者中获得了广泛采用。该项目现已扩展至包括工具、评估、排行榜、端到端微调流程、基础设施组件以及 Gorilla API 商店:

项目 类型 描述(点击展开)
Gorilla 论文 🤖 模型
📝 微调
📚 数据集
📊 评估
🔧 基础设施
与海量 API 连接的大语言模型• 创新的 API 调用微调方法
• 在 1,600 多个 API 上进行评估(APIBench)
• 检索增强型训练,实现测试时适应性
Gorilla OpenFunctions-V2 🤖 模型
函数调用的即插即用替代方案,支持多种复杂数据类型及并行执行• 兼容 OpenAI 的接口,可同时或并行执行多个函数
• 原生支持 Python、Java、JavaScript 和 REST API,并扩展了数据类型支持
• 函数相关性检测,以减少幻觉
• 增强的 RESTful API 格式化能力
• 开源模型中的最先进性能
伯克利函数调用排行榜 (BFCL) 📊 评估
🏆 排行榜
🔧 函数调用基础设施
📚 数据集
全面评估函数调用能力• V1:专家精选的数据集,用于评估单轮函数调用
• V2:企业贡献的真实场景数据
• V3:多轮、多步骤函数调用评估
• 所有模型的成本和延迟指标
• 交互式 API 探索器,可供测试使用
• 社区驱动的基准测试平台
Agent Arena 📊 评估
🏆 排行榜
跨模型、工具和框架比较 LLM 代理• 采用 ELO 评分系统进行代理间的直接对比
• 测试框架兼容性(LangChain、AutoGPT)
• 社区驱动的评估平台
• 真实任务表现指标
Gorilla 执行引擎 (GoEx) 🔧 基础设施
用于执行 LLM 生成动作的安全保障运行时• 执行后的事后验证,确保 LLM 动作的正确性
• 支持撤销操作和损害限制,以降低风险
• 支持 OAuth2 和 API 密钥认证,适用于多种服务
• 支持 RESTful API、数据库和文件系统操作
• 基于 Docker 的沙盒执行环境
检索增强型微调 (RAFT) 📝 微调
🤖 模型
为强大的领域特定检索而微调 LLM• 领域特定 RAG 的全新微调方案
• 结合思维链的回答,并直接引用文档内容
• 使用 oracle 文档和干扰文档进行训练
• 在 PubMed、HotpotQA 和 Gorilla 基准测试上性能提升
• 可高效适配小型模型用于领域问答
Gorilla CLI 🤖 模型
🔧 本地 CLI 基础设施
将 LLM 应用于你的命令行界面• 用户友好的 CLI 工具,支持约 1,500 个 API(Kubernetes、AWS、GCP 等)
• 多 LLM 融合生成自然语言指令
• 注重隐私,需明确确认后才执行
• 提供命令历史记录和交互式选择界面
Gorilla API Zoo 📚 数据集
由社区维护的最新 API 文档库• 跨领域的集中式、可搜索 API 索引
• 结构化的文档格式,包含参数、版本管理和示例
• 社区驱动的更新,紧跟 API 变化
• 丰富的数据来源,可用于模型训练和微调
• 支持检索增强型训练和推理
• 通过最新文档减少幻觉

快速入门

快速开始

在浏览器中体验 Gorilla:

安装选项

  1. Gorilla CLI - 最快的入门方式
pip install gorilla-cli
gorilla generate 100 random characters into a file called test.txt

了解更多关于 Gorilla CLI →

  1. 本地运行 Gorilla
git clone https://github.com/ShishirPatil/gorilla.git
cd gorilla/inference

详细的本地设置说明 →

  1. 使用 OpenFunctions
import openai

openai.api_key = "EMPTY"
openai.api_base = "http://luigi.millennium.berkeley.edu:8000/v1"

# 定义你的函数
functions = [{
    "name": "get_current_weather",
    "description": "获取某个地点的天气",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {"type": "string"},
            "unit": {"type": "string", "enum": ["摄氏度", "华氏度"]}
        },
        "required": ["location"]
    }
}]

# 发起 API 调用
completion = openai.ChatCompletion.create(
    model="gorilla-openfunctions-v2",
    messages=[{"role": "user", "content": "旧金山的天气怎么样?"}],
    functions=functions
)

OpenFunctions 文档 →

🔧 其他快速入门

常见问题解答

  1. 我希望将 Gorilla 用于商业用途。是否会推出 Apache 2.0 许可的版本?

是的!我们现在提供了可以无任何限制地用于商业用途的模型。

  1. 我们能否将 Gorilla 与其他工具(如 Langchain 等)一起使用?

当然可以!这正是我们工具的一大亮点。Gorilla 是一个端到端模型,专门设计用于正确调用 API(工具),而无需额外编码。它旨在作为更广泛生态系统的一部分,能够灵活地集成到智能体框架及其他工具中。

Langchain 是一款功能强大的开发者工具。“智能体”可以高效地替换任何大模型,包括 Gorilla,使其成为一种高度适应各种需求的解决方案。

这些工具的魅力在于它们的协同合作,相互补充各自的优势与能力,从而打造出更加强大、全面的解决方案。而这正是您能够发挥作用的地方。我们热忱欢迎任何有助于进一步优化和提升这些工具的意见和建议。

请查看我们的博客文章如何使用 Gorilla:分步指南,了解在您的项目中集成 Gorilla 的各种方式。

项目路线图

在接下来的一段时间内,我们计划发布以下内容:

  • 多模态函数调用排行榜
  • 智能体式函数调用排行榜
  • 新一批用户贡献的实时函数调用评估
  • BFCL 指标,用于评估污染情况
  • Openfunctions-v3 模型,以支持更多语言和多轮对话能力
  • Agent Arena,用于跨模型、工具和框架比较 LLM 智能体 [2024年10月4日]
  • 多轮及多步骤函数调用评估 [2024年9月21日]
  • 用户贡献的实时函数调用排行榜 [2024年8月20日]
  • 包括成本和延迟在内的 BFCL 系统指标 [2024年4月1日]
  • Gorilla 执行引擎 (GoEx)——用于在安全保障下执行大模型生成操作的运行时环境 [2024年4月12日]
  • 伯克利函数调用排行榜 (BFCL),用于评估工具调用/函数调用模型 [2024年2月26日]
  • Openfunctions-v2,支持更多语言(Java、JS、Python),并具备相关性检测功能 [2024年2月26日]
  • API 博物馆索引,方便访问所有 API [2024年2月16日]
  • Openfunctions-v1,采用 Apache 2.0 许可,支持并行及多函数调用 [2023年11月16日]
  • Openfunctions-v0,Apache 2.0 许可的函数调用模型 [2023年11月16日]
  • 发布可商用的、Apache 2.0 许可的 Gorilla 模型 [2023年6月5日]
  • 发布来自 APIBench 的所有 API 权重 [2023年5月28日]
  • 在本地运行 Gorilla LLM [2023年5月28日]
  • 发布适用于 HF 模型的 API 权重 [2023年5月27日]
  • 为 HF 模型 API 提供托管的 Gorilla LLM 聊天服务 [2023年5月27日]
  • 向社区开放 APIZoo,接受贡献
  • 数据集和评估代码

许可协议

Gorilla 采用 Apache 2.0 许可,因此既适合学术研究,也适合商业用途。

联系方式

引用

@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},
} 

版本历史

v1.32025/07/17
v1.22025/01/05
v1.12024/08/27
v1.02024/08/15
v0.32024/06/05
v0.22024/04/11
v0.12024/03/12
v0.0.12023/07/18

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架