张芷铭的个人博客

Gorilla 是基于 LLaMA 微调的模型,专门用于 API 调用生成,在 API 功能性准确率上超越 GPT-4。

论文:Gorilla: Large Language Model Connected with Massive APIs

问题

LLM 的 API 调用能力未完全开发:

  • API 规模庞大(潜在数百万)且持续变化
  • API 功能重叠但有细微差别和限制
  • 幻觉问题:生成不存在或错误的 API 调用

贡献

贡献说明
Gorilla 模型基于 LLaMA 微调,API 调用超越 GPT-4
APIBench 数据集HuggingFace、TorchHub、TensorHub API

方法

Self-Instruct 微调

使用 GPT-4 生成合成指令数据,构建 {instruction, API} 训练对。

检索器增强

训练时将检索到的 API 文档附加到用户提示,推理时检索最相关文档:

阶段方式
训练user prompt + 检索的 API 文档
推理BM25 / GPT-Index / Oracle 检索器

优点

  • 适应测试时 API 文档变化
  • 减少幻觉错误
  • 提高准确性和实用性

APIBench 数据集

来源API 数量模型数量
HuggingFace925各领域 top 20
Torch Hub9495
TensorFlow Hub696626

总计:1,645 API + 16,450 {instruction, API} 对

关键技术

技术说明
API Call with Constraints参数大小/准确率约束
Retriever-Aware Traininguser prompt + API 文档 JSON
AST Tree-Matching验证 API 调用正确性

评估结果

对比结果
基线GPT-4、GPT-3.5-turbo、Claude、LLaMA-7B
指标API 功能性准确率、幻觉错误率
结论Gorilla 在三个数据集上均优于基线

限制

  • 数据集集中于 ML 领域 API
  • 可能导致对某些子群体不公平预测

GitHub:https://github.com/ShishirPatil/gorilla Leaderboard:https://gorilla.cs.berkeley.edu/leaderboard

Comments