跳到正文
返回论文列表
cs.DB提交于 已译

基于迭代自优化的 NL2SQL

NL2SQL with Iterative Self-Refinement

Anjali Vemula · Akshat Dasula

中文摘要

弥合非技术用户意图与机器逻辑间的差距是数据访问的关键挑战,但大语言模型(LLM)常出现模式幻觉、语法错误或意图偏差,这在保险等高精度领域尤为致命。该研究提出一种多智能体、角色驱动的 NL2SQL 框架,整合领域相关性检测、基于模式的知识构建、KPI 感知的 SQL 合成、利用 sqlite 执行反馈的语法自修复,以及通过 SQL 到自然语言逆向工程进行的语义一致性检查。在包含 50 条 HuggingFace 数据集查询和 10 条自定义领域查询的 60 条测试集上,系统使用 Mistral 模型,通过七次协调的 LLM 调用实现了 90% 的正确率。相比直接提示 LLM,该方法显著降低了查询幻觉并提升了语义保真度,证明了其在高风险环境中提升 NL2SQL 管道可靠性的潜力。

关键要点

  1. 01针对 LLM 在保险等高要求领域生成 SQL 时存在的幻觉、语法错误及意图偏差问题。
  2. 02构建多智能体框架,结合领域检测、模式知识构建、KPI 感知合成及基于执行反馈的自修复。
  3. 03在 60 条查询测试中,使用 Mistral 模型经七次协调调用,实现了 90% 的查询正确率。
  4. 04相比直接提示 LLM,该方法显著降低了查询幻觉并提升了语义保真度。

解读

尚无解读。

原始英文摘要

arXiv:2610.22968v1 Announce Type: cross Abstract: Bridging the gap between human intent and machine logic remains a critical challenge in data access for non-technical users, yet Large Language Models (LLMs) remain unreliable: they hallucinate schema elements, generate syntactically invalid queries, or fail to capture user intent. These limitations are especially critical in domains such as insurance, where KPIs, regulatory constraints, and legacy relational systems demand high precision. We introduce a multi-agent, persona-driven NL2SQL framework that combines (1) domain relevance detection, (2) schema-grounded knowledge construction, (3) KPI-aware SQL synthesis, (4) syntax-level self-repair using sqlite execution feedback, and (5) semantic consistency checking via SQL-to-NL reverse engineering. Our system significantly reduces query hallucination and improves semantic fidelity compared to direct LLM prompting. Evaluated on 60 queries (50 from a HuggingFace text-to-SQL dataset and 10 custom domain queries), the system achieves 90% correctness using Mistral across seven coordinated LLM calls showing that this approach can substantially increase the reliability of NL2SQL pipelines in high-stakes environments.

同方向论文 · cs.DB

查看全部 →

反向发现 · 这篇论文相关的工具与提示词

去交叉发现 →

关联提示词 · 6

数据blog.csdn.net·外部收录·

根据表结构和自然语言查询需求,让模型生成包含过滤、排序、分组、聚合等条件的 SQL 查询语句。

请根据以下信息生成 SQL 查询: 1. 明确任务要求:详细描述 SQL 需要完成的任务,如过滤条件(WHERE 条件)、排序(ORDER BY)、分组(GROUP BY)、关联查询(JOIN 方式)、聚合函数(SUM、AVG、COUNT 等)。例如:"查询 2024 年 1 月份所有订单的总金额,并按客户分组。" 2. 数据库背景信息:说明数据库类型及业务背景。 3. 表结构(Schema):提供相关表的字段名、类型和含义。 4. 查询需求:用自然语言描述要查询的数…

编程aicoding.club·外部收录·

让 AI 沿一条命令追踪陌生代码库的调用链,并预测运行输出

我提供以下文件供你分析:[目录树 / 带标签的相关文件] 请执行以下步骤: 1. 先列出你能实际读到的文件,无法读取的文件不要假设其内容。 2. 找到命令 [COMMAND] 的真实入口点,说明程序从哪里开始执行。 3. 确定参数解析逻辑和各参数的默认值,直接引用源文件和行号。 4. 按实际调用顺序(包括嵌套情况)追踪每一步调用,引用具体的文件:行号 和相关代码片段,解释每步为何运行。 5. 区分两类内容: - 基于源代码的推断(标注"源码分析") - 实际执行…

编程github.com/f/awesome-chatgpt-prompts·外部收录·

VFD Fault Code Explainer

I want you to act as an experienced drives technician. A variable frequency drive tripped. Drive: ${Drive make, model and firmware if known}. Fault code and text on the keypad: ${Fault code and text}. Motor: ${Motor nameplate: kW or HP, vol…

数据github.com·外部收录·

基于给定数据生成带关键发现、依据、结论和建议的结构化分析。

`# 角色 你是一名【角色定位,如:数据分析师 / 业务分析师 / 政策研究员】。 # 任务 你的任务是基于给定的输入数据进行【分析 / 总结 / 对比 / 评估】。 # 背景/上下文 【历史记录总结】。 【参考资料】。 # 输入数据 >> # 输出格式 - 使用表格形式输出 - 表格中必须包含以下列: 1. 关键发现 2. 支撑数据(来自输入数据的原文或摘要) 3. 结论 4. 建议 - 表格下方需给出整体结论说明 # 质量与约束 - 仅基于输入数…

数据blog.csdn.net·外部收录·

为SQL查询结果生成定性分析、数据洞察与决策支持

# 角色 数据科学家 ## 注意 1. 激励模型深入思考角色配置细节,确保任务完成。 2. 专家设计应考虑使用者的需求和关注点。 3. 使用情感提示的方法来强调角色的意义和情感层面。 ## 性格类型指标 INTJ(内向直觉思维判断型) ## 背景 作为数据科学家,这个角色旨在为用户提供数据分析、模型构建和预测的专业知识。专家通过分析大量数据,帮助用户发现数据背后的模式和趋势,从而为决策提供支持。 ## 约束条件 - 必须遵循数据隐私和安全原则 - 需要保持客观和中立,…