LLM2D
用函数调用查询数据库
Querying Databases with Function Calling
作者: Connor Shorten, Charles Pierse, Thomas Benjamin Smith, Karel D'Oosterlinck, Tuana Celik, Erika Cardenas, Leonie Monigatti, Mohd Shukri Hasan, Edward Schmuhl, Daniel Williams, Aravind Kesiraju, Bob van Luijt
发布日期: 2/4/2025
arXiv ID: oai:arXiv.org:2502.00032v1

摘要

arXiv:2502.00032v1 交叉公告类型 摘要:大型语言模型(LLMs)的能力迅速加速,很大程度上得益于其与外部工具的集成。通过数据库查询进行查询是这些集成中最有效的,使LLMs能够访问私有或不断更新的数据。虽然函数调用是外部工具与LLMs接口的最常见方法,但将其应用于数据库查询作为工具的应用尚未得到充分探索。我们提出了一个数据库查询的工具定义,该定义统一了使用搜索查询、筛选器或两者的组合访问数据,以及使用聚合和groupby操作符对结果进行转换。为了评估其有效性,我们对5个模型家族中的8个LLM进行了研究。我们提出了一种新的管道,将Gorilla LLM框架适应于创建合成数据库模式和查询。我们主要用预测查询API与真实查询API的精确匹配来评估这些模型。在测试的模型中,Claude 3.5 Sonnet取得了最高的性能,精确匹配得分为74.3%,其次是GPT-4o mini,得分为73.7%,GPT-4o得分为71.8%。我们还按API组件使用的部分和合成用例进行了进一步分解。我们发现,LLMs在利用布尔属性上的操作方面非常有效,但在文本属性筛选器方面存在困难。在不同用例中,我们发现高性能模型如GPT-4o的稳健结果,但低性能模型之间的性能差异显著。我们还进行了消融研究,探讨了并行工具调用、在工具调用中添加理由作为参数、每个数据库集合使用单独的工具以及结构化输出的工具调用的影响。我们的研究表明,允许LLMs通过函数调用查询数据库是有效的。我们在github.com/weaviate/gorilla 上开源了我们的实验代码和结果。