加州大学伯克利分校研究人员开源API调用语言模型Gorilla

开源大语言模型Gorilla:专为API调用设计的代码生成工具

来自加州大学伯克利分校微软研究院的研究人员开源了一个名为Gorilla的大型语言模型(LLM),该模型能够生成用于调用API的代码。在生成代码准确性的实验中,Gorilla表现优于包括GPT-4在内的多个基准模型。

Gorilla的核心特点

Gorilla基于开源的LLaMA模型,并被称为“LLM的API应用商店”。它通过在APIBench数据集上进行微调,该数据集包含了托管在HuggingFaceTorchHubTensorHub上的机器学习模型的API描述。Gorilla还能够调用外部文档数据库中的API定义,这使得它无需重新训练即可访问新的API。

功能与应用

开发者可以使用自然语言描述问题,例如“调用一个使用少于1000万参数但保持ImageNet准确率至少70%的图像分类模型”,Gorilla将生成相应的Python代码来调用合适的机器学习模型及其选项。研究人员指出,LLM在跨领域的应用越来越广泛,而Gorilla的研究重点在于提升LLM准确识别特定任务所需API的能力,这对于LLM技术的进步至关重要。

与GPT-4的对比

尽管GPT-4在生成代码方面表现出色,但其对API的了解在训练时被“冻结”,无法生成调用新API的代码,且经常产生“幻觉”,即生成不存在的API调用。Gorilla通过系统化评估和构建未来使用的管道,解决了这些问题。

数据集与评估

研究团队首先收集了HuggingFace、PyTorch和TensorFlow模型中心的所有模型卡片,经过筛选后生成了1645个API调用。然后,他们使用GPT-4生成了指令-API对数据集,用于微调Gorilla。为了评估Gorilla的输出,团队定义了“幻觉”为任何调用不在外部API定义数据库中的API的模型输出,并使用生成代码的抽象语法树(AST)与数据库中的API进行匹配。在零样本任务中,Gorilla的AST准确率比GPT-4高出20.43%。

开源与商业许可

Gorilla的代码和模型文件已在GitHub上发布,并提供了Google Colab笔记本演示。Gorilla的三种版本中,基于LLaMA的版本不适用于商业用途,而基于MPT-7和Falcon-7B的版本则允许商业使用。

与LangChain的比较

Gorilla的首席作者Shishir Patil在Hacker News的讨论中回答了问题。他指出,LangChain通过提示教授代理如何使用工具,而Gorilla则是一个能够从数千个API中选择并生成语义和语法正确API调用的LLM,可以作为LangChain的替代方案。

总结

Gorilla是一个专为API调用设计的开源大语言模型,通过系统化评估和构建未来使用的管道,解决了现有LLM在生成API调用代码时的局限性。其强大的自然语言处理能力和对API的精准识别,使其在开发者和研究者中具有广泛的应用前景。

阅读 25
0 条评论