AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


使用自然语言生成SQL
发布日期:2025-01-22 19:02:46 浏览次数: 1534 来源:Sumslack团队
推荐语

这是关于在 SDP 软件中使用自然语言生成 SQL 的创新探索,值得一看!

核心内容:
1. SDP 支持自然语言生成 SQL 的基础信息
2. 实现自然语言生成 SQL 的工作步骤
3. 自然语言生成 SQL 的调优思路

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

概述

在我们SDP软件里,有一个异构数据浏览器工具,主要是可以查包括mysql,clickhouse,doris等各类数据源,通过SQL语句查询数据,在AGI发展的今天,我们已经可以使用自然语言生成SQL了,而且能较好的支持多表关联,这主要取决于我们SDP可以提供如下基础信息:

  • 完备的数据字典:包括字段说明,表说明,字段关联信息配置(类似外键信息),索引信息等
  • 业务常见SQL的收藏库,可让AI更好的理解和生成SQL
  • 同义词库:如表名的同义词等

做这件事的主要目的是:

  • 非技术人员可以使用自然语言获取数据
  • 开发人员可用自然语言生成SQL提高开发效率(避免记忆繁杂的字段名和表名),微调SQL即可

使用效果如下图:

实现思路

这个属于结构化RAG领域,相比一般RAG从文档中抽取结构化数据大同小异,我们主要做如下工作:

  • 准备数据集,写程序对数据做预处理
    • DDL:根据数据字典信息生成,用于告知AI所有字段的类型,长度等
    • DB描述信息:描述字段和表的详细信息,如字段的外键,索引信息等
    • 问答集:常见知识库,如曾经根据业务查询过的问题和生成SQL的键值对,便于让AI做更好理解
    • 同义词库:建立如表名的同义词,便于更准确命中表名,或者特定领域术语
  • 部署本地大模型:我们使用的是QWen 2.5,4090GPU显卡,支持上下文月9K,所以针对个别表特别多的字段超限的情况下,无法生成SQL,正常情况下足够了
  • 微调大模型提示语,让SQL生成更精准
  • 配置RAG流程,并整合到SDP

可使用ragflow建立如下流程:

调优思路:

  • 促进用户反馈:可在界面实现针对用户自然语言输入后,用户调优后的SQL存入QA问答库,从而减少手动维护的需求,在界面可加入比如点赞功能;
  • 管理特定领域同义词;
  • 尽可能给DDL语句表述完整:如字段,表的注释,主键,唯一键等;

即可体验自然语言生成SQL。


欢迎关注我的公众号“Sumslack团队”,原创技术文章第一时间推送。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询