文本到 SQL 的转换自动化仍然是一项重大任务,目前只有少数好的开源模型可以完成这项任务。 让我们来分析一下这个问题 - >文本到 SQL 的转换模型基本上就是带有多重注意力层和一个模式链接层的编码器-解码器模型。 >编码器处理用户查询和数据库模式,并生成上下文嵌入(关系感知编码) >通过模式链接,查询中的标记与相应的模式实体对齐 >模式感知注意力机制使模型在解码时能够专注于模式的相关部分 >解码器顺序生成 SQL 标记(基于约束的解码) 这些模型缺乏什么? - >大多数可用模型在训练数据中缺乏复杂查询,因此在跨域或循环查询上表现不佳。 >语言和查询要求并不总是来自普通用户的正确表达。即使是拼写错误也会导致错误的输入,并在检索时造成问题,因此提示在这项任务中是一个重要部分。 我个人在制作一个端到端项目时详细研究过这个问题,甚至制作了合成数据并尝试训练自己的 SLM,但惨败,后来转而使用开源模型。 如果你想深入了解这个问题,我建议先阅读这些研究论文 - >LLM 增强的文本到 SQL 生成 >下一代数据库接口: >文本到 SQL 解析:概念与方法 >RASAT:将关系结构集成到预训练的 Seq2Seq 模型中