CHESS: Contextual Harnessing for Efficient SQL Synthesis

📄 arXiv: 2405.16755v3 📥 PDF

作者: Shayan Talaei, Mohammadreza Pourreza, Yu-Chen Chang, Azalia Mirhoseini, Amin Saberi

分类: cs.LG, cs.AI, cs.DB

发布日期: 2024-05-27 (更新: 2024-11-25)


💡 一句话要点

CHESS:利用上下文信息的高效SQL合成多智能体框架

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: Text-to-SQL 大型语言模型 多智能体系统 数据库模式选择 SQL查询生成

📋 核心要点

  1. Text-to-SQL面临数据库规模大、模式复杂、查询有效性验证难和自然语言歧义等挑战。
  2. CHESS提出多智能体框架,利用信息检索、模式选择、候选生成和单元测试等模块协同解决问题。
  3. 实验表明,CHESS在工业级数据库上表现出色,兼顾隐私保护和计算效率,精度接近领先方法。

📝 摘要(中文)

将自然语言问题转化为SQL查询(text-to-SQL)是一个长期存在的研究问题。有效的text-to-SQL合成面临诸多挑战,包括:庞大的数据库目录和值、复杂数据库模式的推理、生成查询的功能有效性以及自然语言问题的歧义性。我们提出了CHESS,一个基于大型语言模型(LLM)的多智能体框架,用于高效且可扩展的SQL合成。CHESS包含四个专门的智能体,分别针对上述挑战:信息检索器(IR)提取相关数据,模式选择器(SS)修剪大型模式,候选生成器(CG)生成高质量候选并迭代改进查询,单元测试器(UT)通过基于LLM的自然语言单元测试验证查询。我们的框架提供可配置的特性,以适应各种部署约束,包括:1)支持工业级数据库:利用模式选择器,CHESS有效地将大型数据库模式缩小为可管理的子模式,将系统精度提高约2%,并减少5倍的LLM tokens。2)最先进的隐私保护性能:在使用开源模型的方法中,CHESS实现了最先进的性能,从而产生了一个高性能、隐私保护的系统,适用于工业部署。3)通过额外的计算预算实现可扩展性:在高计算预算设置中,CHESS在BIRD测试集上实现了71.10%的准确率,与领先的专有方法相差不到2%,同时减少了约83%的LLM调用。

🔬 方法详解

问题定义:论文旨在解决text-to-SQL任务中,现有方法难以处理大规模数据库、复杂schema以及保证生成SQL查询正确性的问题。现有方法通常难以有效利用上下文信息,导致在大型数据库上的性能下降,并且缺乏有效的验证机制来保证生成SQL的正确性。

核心思路:CHESS的核心思路是将复杂的text-to-SQL任务分解为多个子任务,并为每个子任务设计专门的智能体。通过多智能体之间的协同工作,可以更有效地利用上下文信息,降低搜索空间,并提高生成SQL查询的准确性和效率。

技术框架:CHESS框架包含四个主要智能体:信息检索器(IR)、模式选择器(SS)、候选生成器(CG)和单元测试器(UT)。IR负责从数据库中提取相关数据;SS负责修剪大型数据库模式,缩小搜索空间;CG负责生成高质量的SQL查询候选,并进行迭代改进;UT负责通过基于LLM的自然语言单元测试验证查询的正确性。这些智能体协同工作,形成一个完整的text-to-SQL解决方案。

关键创新:CHESS的关键创新在于其多智能体架构,每个智能体专注于解决text-to-SQL任务中的一个特定挑战。这种模块化的设计使得系统更易于扩展和维护,并且可以根据不同的应用场景进行定制。此外,利用LLM进行单元测试也是一个创新点,可以有效地验证生成SQL查询的正确性。

关键设计:模式选择器(SS)使用基于LLM的上下文学习方法来选择与问题相关的schema子集,从而减少搜索空间。候选生成器(CG)采用迭代改进策略,逐步优化生成的SQL查询。单元测试器(UT)使用LLM生成自然语言单元测试用例,并根据测试结果对查询进行验证和修正。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

CHESS在BIRD数据集上取得了显著的性能提升。在工业级数据库上,CHESS通过模式选择器将系统精度提高约2%,并减少5倍的LLM tokens。在使用开源模型的方法中,CHESS实现了最先进的性能。在高计算预算下,CHESS在BIRD测试集上实现了71.10%的准确率,与领先的专有方法相差不到2%,同时减少了约83%的LLM调用。

🎯 应用场景

CHESS可应用于各种需要将自然语言问题转化为SQL查询的场景,例如智能客服、数据分析和商业智能等。该研究的实际价值在于提高了text-to-SQL系统的效率、准确性和可扩展性,使其能够处理工业级规模的数据库。未来,CHESS可以进一步扩展到支持更复杂的SQL查询和更广泛的数据库类型。

📄 摘要(原文)

Translating natural language questions into SQL queries, known as text-to-SQL, is a long-standing research problem. Effective text-to-SQL synthesis can become very challenging due to (i) the extensive size of database catalogs (descriptions of tables and their columns) and database values, (ii) reasoning over large database schemas, (iii) ensuring the functional validity of the generated queries, and (iv) navigating the ambiguities of natural language questions. We introduce CHESS, a Large Language Model (LLM) based multi-agent framework for efficient and scalable SQL synthesis, comprising four specialized agents, each targeting one of the aforementioned challenges: the Information Retriever (IR) extracts relevant data, the Schema Selector (SS) prunes large schemas, the Candidate Generator (CG) generates high-quality candidates and refines queries iteratively, and the Unit Tester (UT) validates queries through LLM-based natural language unit tests. Our framework offers configurable features that adapt to various deployment constraints, including 1) Supporting industrial-scale databases: leveraging the Schema Selector agent, CHESS efficiently narrows down very large database schemas into manageable sub-schemas, boosting system accuracy by approximately $2\%$ and reducing the number of LLM tokens by $\times 5$. 2) State-of-the-Art privacy-preserving performance: Among the methods using open-source models, CHESS achieves state-of-the-art performance, resulting in a high-performing, privacy-preserving system suitable for industrial deployment. 3) Scalablity with additional compute budget: In settings with high computational budgets, CHESS achieves $71.10\%$ accuracy on the BIRD test set, within $2\%$ of the leading proprietary method, while requiring approximately $83\%$ fewer LLM calls.