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 授權的商業可用模型。