摘要
将自然语言问题翻译成SQL查询(即文本到SQL)是一个长期存在的研究难题。有效的文本到SQL合成由于以下原因可能极具挑战性:(i)数据库目录(表及其列的描述)和数据库值的规模庞大;(ii)需要对大型数据库模式进行推理;(iii)需要确保生成的查询的功能有效性;以及(iv)需要处理自然语言问题的歧义性。我们引入了CHESS,这是一个基于大型语言模型(LLM)的多代理框架,用于高效且可扩展的SQL合成,它包含四个专门的代理,每个代理都针对上述挑战之一:信息检索器(IR)提取相关数据;模式选择器(SS)修剪大型模式;候选生成器(CG)生成高质量的候选并迭代地细化查询;以及单元测试器(UT)通过基于LLM的自然语言单元测试来验证查询。我们的框架提供可配置的功能,以适应各种部署约束,包括:1)支持工业规模的数据库:利用模式选择器代理,CHESS有效地将非常大的数据库模式缩小到可管理的子模式,从而将系统精度提高约2%,并将LLM令牌数量减少5倍。2)最先进的隐私保护性能:在使用开源模型的方法中,CHESS实现了最先进的性能,从而形成一个高性能、隐私保护的系统,适合工业部署。3)可扩展性与额外的计算预算:在计算预算较高的环境中,CHESS在BIRD测试集上实现了71.10%的准确率,与领先的专有方法相差2%以内,同时所需的LLM调用次数减少了约83%。