先说目前遇到的问题吧,单表数据SQL 生成准确度是可以的,但是复杂SQL以及多表联查时,生成的SQL就一言难尽了。

目前的解决方案:

一、数据训练后台

创建后台来管理三类训练数据,DDL 、SQL、DOC文档。

使用三个集合,来分别管理这三类数据

添加训练SQL:

二、前端与用户交互,询问是否将本次对话加入到训练库中

前端与用户交互,询问是否将本次对话加入到训练库中,如果确认,则给用户回显当前训练库中相似度最高的前3条SQL供用户预览,然后二次确认是否需要将本次对话加入到训练库中

三、对于复杂SQL 如多表查询

对于复杂SQL 如多表查询,生产SQL,主要是基于训练的SQL生成。

用户提问,然后对于训练库数据召回。

  • ≥99.5%相似度:直接使用训练库中的SQL
  • 80%-99.5%相似度:基于已有SQL让大模型微调
  • <80%相似度:正常生成流程(DDL+SQL+DOC交给大模型生成)

后续我会把源码放出来。。。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐