ShishirPatil/gorilla

Gorilla: Training and Evaluating LLMs for Function Calls (Tool Calls)

What it solves

Gorilla 解决了大型语言模型(LLMs)在尝试调用 API 时产生幻觉的挑战。它通过确保生成的调用在语义和语法上都是正确的,让 LLM 能准确调用上千个 API,减少工具使用错误。

How it works

Gorilla 结合了专门的微调和检索增强训练,将 LLM 与庞大的 API 集合连接。项目提供一套工具,包括:

  • OpenFunctions:可直接替代函数调用的方案,支持多种语言(Python、Java、JavaScript)和 REST API。
  • GoEx (Execution Engine):具安全保证的沙盒运行时,执行 LLM 生成的动作,提供“事后验证”和撤销功能以降低风险。
  • API Zoo:由社区维护的结构化 API 文档库,用于保持模型最新并减少幻觉。
  • RAFT:针对领域特定检索增强生成(RAG)的微调配方,训练模型直接引用文档。

Who it’s for

适合构建 AI 代理的开发者、将 LLM 与外部服务集成的软件工程师,以及专注于函数调用和工具使用基准测试的研究者。

Highlights

  • Massive API Support:能够准确调用 1,600+ 个 API。
  • Berkeley Function Calling Leaderboard (BFCL):全面的基准测试,评估单轮、多轮和多步骤函数调用。
  • Agent Arena:使用 ELO 评分系统的 LLM 代理人对决平台。
  • Safe Execution:通过 GoEx 在 Docker 沙盒环境中执行 API 调用和文件系统操作。
  • Commercial Readiness:提供 Apache 2.0 许可的商业可用模型。