Gorilla LLM(ゴリラエルエルエム)
UC Berkeleyが開発した、APIドキュメントを正確に参照して外部ツールを呼び出す能力に特化したLLM。
Gorilla LLM — APIツール呼び出しに特化した言語モデル
Gorilla LLMは、UC Berkeleyの研究チームが2023年に発表した、外部APIの正確な呼び出しに特化したLLMだ。一般的なLLMが外部ツール呼び出し時に引数を捏造したり存在しないAPIを参照したりする問題(ハルシネーション)を、Retrieval-Augmented Generation(RAG)との統合によって解決した。
開発背景
ChatGPTやGPT-4は自然言語理解では優秀だが、特定のAPIやライブラリのドキュメントを正確に記憶しているわけではない。モデルの学習データにAPIドキュメントが含まれていても、バージョン更新や微細なパラメータ名の違いでハルシネーションが発生する。Gorillaはこの問題を構造的に解決するために設計された。
アーキテクチャと仕組み
Gorilla-7BはLLaMA-7Bをベースに、以下の2段階アプローチでファインチューニングされている。
1. APIデータセット構築
- HuggingFace Model Hub: 925 API
- TorchHub: 94 API
- TensorFlow Hub: 626 API
- 合計1,645のAPIを網羅したAPIBenchデータセットを構築
2. Retrieval-Aware Training
- 推論時にAPIドキュメントをリアルタイムでBM25/Dense Retrieverで検索
- 取得したドキュメントをコンテキストに埋め込んでからAPI呼び出しを生成
- ドキュメント更新に動的に追従(学習データの鮮度問題を解消)
評価結果
APIBenchベンチマークでの評価(2023年時点):
- GPT-4: HuggingFace 53.7% / TorchHub 65.0% / TF Hub 56.6%
- Gorilla-7B (w/ retrieval): HuggingFace 83.8% / TorchHub 80.0% / TF Hub 83.9%
- Claude-v1: HuggingFace 56.5% / TorchHub 61.4% / TF Hub 67.5%
精度指標はHallucination Rate(誤った引数・型・API名の使用率)の逆数として定義。Gorilla-7BはGPT-4を大幅に上回り、ハルシネーション率も最低を記録した。
主要な特徴
AST(Abstract Syntax Tree)ベースの評価 従来の文字列マッチングではなく、生成されたAPIコールをASTとして解析して意味的正確性を評価する。同じ機能を実現する複数の記述方法を正として扱える。
Constrained Decoding オプション機能として、JSONスキーマに従ったStructured Outputを生成するConstrained Decodingをサポート。API引数の型エラーを構造的に防止する。
応用事例
- Webスクレイピング自動化: BeautifulSoup/Playwright APIを正確に呼び出すエージェント
- データ分析パイプライン: pandas/scikit-learnのAPIを適切なパラメータで呼び出す
- クラウドインフラ操作: AWS SDK/Google Cloud SDKの正確なAPI呼び出し
後継プロジェクト
Gorilla LLMの成果はその後のLLMエージェントフレームワーク開発に広く影響を与えた。ToolLLM(DFSDT)、Functionary、Nexus Ravenなど後続のtool-use特化モデルはGorillaのAPIBenchデータセットや評価手法を参照・拡張している。
リポジトリ: github.com/ShishirPatil/gorilla