ToolLLM / DFSDT(ツールエルエルエム・ディーエフエスディーティー)
16,000以上のRapidAPIを呼び出せるようにファインチューニングされたLLMと、深さ優先決定木探索(DFSDT)による複数ステップAPI呼び出しフレームワーク。
ToolLLM / DFSDT — 大規模APIコーパスで訓練したツール呼び出しLLM
ToolLLMは、2023年にMeta/Tsinghua/中国科学院の共同研究チームが発表した、現実世界の大規模APIコーパスを活用したtool-use LLMフレームワークだ。最大の特徴は16,000以上のRapidAPIを対象にしたToolBenchデータセットと、複数ステップのAPI呼び出し戦略を探索するDFSDT(Depth-First Search Decision Tree)アルゴリズムにある。
ToolBenchデータセット
ToolBenchは以下の規模を持つ、ツール呼び出し学習用の最大級データセットの一つ。
- APIカバレッジ: 16,464 API(RapidAPIから収集)
- カテゴリ数: 49カテゴリ(スポーツ・金融・天気・旅行など)
- 命令数: 126,486個のツール利用命令
- 形式: OpenAI function calling互換のJSON形式
各命令は1〜5個のAPIを組み合わせて解決するように設計されており、単純なAPIコールから複雑なマルチステップ推論まで幅広くカバーしている。
DFSDTアルゴリズム
従来のツール呼び出しLLMはReActスタイルの線形思考(Thought→Action→Observation)で進むが、一度間違えると修正が困難だ。DFSDTはこの問題を決定木による探索で解決する。
ルートノード(タスク)
├── API_A呼び出し → 失敗 → バックトラック
├── API_B呼び出し → 成功
│ ├── API_C呼び出し → 失敗 → バックトラック
│ └── API_D呼び出し → 成功 → 解答
主要な利点:
- 探索とバックトラック: 失敗したAPI呼び出しから深さ優先で別の戦略を試せる
- 多様な解法発見: 同じタスクを解く複数のAPIチェーンを探索
- 学習データ品質向上: 成功した完全なAPI呼び出し軌跡のみを学習データに使用
ToolLLaMA-v2
ToolBenchとDFSDTで生成した軌跡データでLLaMA-2-7Bをファインチューニングしたモデル。
ToolBench Win Rate評価(vs ChatGPT-3.5):
- I1-Inst(単一API): ToolLLaMA 51.4% vs GPT-3.5 48.6%
- I2-Cat(カテゴリ内複数API): ToolLLaMA 50.9% vs GPT-3.5 49.1%
- I3-File(クロスカテゴリ): ToolLLaMA 49.7% vs GPT-3.5 50.3%
7Bクラスのオープンソースモデルでも十分に実用的なtool-use性能を達成している。
OpenAI Function Calling互換性
ToolLLaMAはOpenAIのfunction calling形式と互換性のある出力を生成する設計になっており、既存のLangChainやAutoGenなどのエージェントフレームワークに統合しやすい。
応用
- 企業内APIオーケストレーション: 社内APIカタログを対象にToolBench形式でファインチューニング
- マルチステップデータ取得: 複数データソースを組み合わせた情報収集エージェント
- 自動テスト生成: APIの正しい呼び出し方を学習したモデルによるテストケース生成
リポジトリ: github.com/OpenBMB/ToolBench