中文

SQL 查询引擎:面向自然语言到 PostgreSQL 翻译的自愈 LLM 管道

数据库 2026-04-21 v1 计算与语言

摘要

我们提出了 SQL Query Engine,一个开源、自托管服务,通过两个阶段的 LLM 管道将自然语言问题翻译为经过验证的 PostgreSQL 查询。第一阶段执行自动模式探测和 SQL 生成;多策略响应解析器从任何 LLM 输出格式(JSON、代码块或原始文本)中提取 SQL,而无需结构化输出 API。第二阶段将查询执行到 PostgreSQL,若失败或返回空结果,则进入迭代自愈循环,LLM 利用完整的 SQLSTATE 代码和 PostgreSQL 诊断消息进行诊断。两种机制防止回归:早期接受返回成功查询即可无需 LLM 重新评估,最佳结果跟踪在重试过程中保留最佳中间结果。模式上下文在 Redis 会话中缓存,进度事件通过 Redis Pub/Sub 和 SSE 流式传输,OpenAI 兼容的 /v1/chat/completions 端点让现有工具无需修改即可工作。所有数据库连接在驱动层面均为只读。我们在包含 75 个问题、三个数据库的合成基准测试中评估了该服务,其中自愈循环带来最高可达 9.3 个百分点的准确率提升,在最佳模型(Llama 4 Scout 17B,57.3%)上实现零回归;在 BIRD(437 个问题、11 个数据库从 SQLite 迁移到 PostgreSQL)上,完整管道达到 49.0% 执行准确率(GPT-OSS-120B,+4.6pp)。源码:https://github.com/codeadeel/sqlqueryengine。

关键词

引用

@article{arxiv.2604.16511,
  title  = {SQL Query Engine: A Self-Healing LLM Pipeline for Natural Language to PostgreSQL Translation},
  author = {Muhammad Adeel Ijaz},
  journal= {arXiv preprint arXiv:2604.16511},
  year   = {2026}
}

备注

16 pages, 5 tables, 4 figures