NL2SQL
文章平均质量分 79
通过NL2SQL参赛经历,介绍使用通用语言大模型提示词工程,进行自然语言转SQL的可行方案,关注准确性和使用成本
小声读源码
25年的程序员,技术栈情况:2000-2006年INFORMIX-4GL;2006-2013年.net+c#; 2013-2023年 JAVA+JSP+Javascript; 2024年-~ python。项目管理、需求分析、架构设计,能够与人类及AI伙伴配合完成复杂的项目。2025年 allin RAG知识库的建设。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【第15篇】参赛心得分享之答辩技巧篇
本文分享了2025年羊城工匠杯nl2sql比赛的答辩技巧。针对高校评委的关注点,建议汇报材料应突出理论落地价值和团队协作,避免技术参数堆砌。具体策略包括:用"痛点-方案-价值"逻辑阐述创新点,通过图表简化复杂流程,展示数据支撑的实用效果(如准确率提升30%、成本降低4倍)。同时,用时间轴图表呈现团队分工,体现协作系统性。在12分钟的答辩中,应精简文字,用可视化方式快速传递核心信息,如用二分流程图展示"双轨处理流程"。最后可用简短口号强化团队专业形象。原创 2025-10-31 07:31:33 · 1026 阅读 · 0 评论 -
【番外篇4】评估NL2SQL的微调数据集效果
本文评估了不同嵌入模型在NL2SQL任务中的表现。分别测试了阿里云text-embedding-v4、原生qwen3-embedding-0.6b模型和Lora微调后的qwen3-embedding-0.6b模型在267条样本上的命中率。结果显示:阿里云模型命中率33.7%,原生模型33.3%,而经过Lora微调后的模型命中率大幅提升至91%。实验证明,即使使用0.6b的小型嵌入模型,通过针对性微调也能显著提升性能。评估工具和数据集均参考了相关技术文档和开源项目。原创 2025-10-31 07:30:58 · 282 阅读 · 0 评论 -
【第14篇】参赛心得分享之实操技巧篇
本文分享了参加2025年羊城工匠杯nl2sql比赛的实操技巧。主要内容包括:1)重视官方答疑会获取关键规则细节,如Token成本计算方式,避免失分;2)优化提示词结构,采用"表结构说明+SQL示例+提问可能"三部分,将SQL错误率从15%降至3%;3)通过嵌入模型、关键字匹配和重排序模型联调提升表匹配准确率;4)赛前固化"问题拆分-分层处理-结果合并-质量核查"四步流程,经过3次演练优化,确保初赛800问题高效处理。这些技巧帮助团队在初赛从容应对,按时完成高质量提交。原创 2025-10-29 21:09:39 · 910 阅读 · 0 评论 -
【第13篇】参赛心得分享之工具篇
本文分享了2025年羊城工匠杯nl2sql比赛的参赛心得,重点介绍了工具使用方面的经验。通过VS Code连接WSL搭建开发环境,使用DBeaver快速理解16张数据库表结构。在算法开发中,借助大模型辅助编程,将需求拆解后快速生成代码,2天内完成Baseline搭建。比赛中充分利用三类工具:评估工具验证SQL质量、标注工具高效处理新问题、检核工具确保结果正确性,最终SQL语法有效性从90%提升至98%。这些方法有效提升了比赛效率和质量。原创 2025-10-29 07:43:00 · 851 阅读 · 0 评论 -
【第12篇】参赛心得分享之协作篇
本文分享了参加2025年羊城工匠杯nl2sql比赛的团队协作经验。团队组建时注重"能力互补"和成员主动性,5人分工明确:1人负责大模型调优算法设计,1人专攻SQL测试验证,1人主导代码开发,2人承担PPT制作和演讲任务。比赛过程中,团队成员既各司其职又紧密配合,通过实时沟通和协同工作,在紧张的比赛时限内高效完成了从方案设计到结果提交的全流程任务,体现了"能力互补+主动协作"模式的优势。原创 2025-10-28 07:42:23 · 282 阅读 · 0 评论 -
【番外篇3】NL2SQL的微调数据集准备工作
本文介绍了NL2SQL微调数据集的准备工作。重点讲解了samples.jsonl文件建立自然语言问题与数据库表的关联方法,以及通过sql_output文件夹进行向量化处理的步骤。详细说明了build_training_ds.py程序生成training_dataset.jsonl文件的格式,该文件包含正负样本标注数据,每个问题配有1个正样本和19个负样本。这些数据将用于后续的LORA微调项目处理。相关代码和资源可参考给出的Gitee项目链接。原创 2025-10-28 07:41:38 · 337 阅读 · 0 评论 -
【第11篇】参赛心得分享之心态篇
摘要:本文分享了2025年羊城工匠杯nl2sql比赛的参赛心得。赛前团队通过充分准备(离线环境搭建等)缓解技术焦虑,将目标定为技术提升而非名次;赛中针对初赛和决赛不同特点灵活调整策略,决赛时优先处理简单题保证准确率;赛后重点反思资源利用不足和算法单一问题,并总结决赛现场策略失误等经验教训。全文展现了技术竞赛中"准备-执行-复盘"的完整闭环思维。(149字)原创 2025-10-27 13:15:00 · 677 阅读 · 0 评论 -
【第10篇】质量检核工具
本文介绍了2025年羊城工匠杯nl2sql比赛中使用的三个质量检核工具:1)check_dataset.py用于提取并执行指定ID的SQL脚本,直接显示查询结果;2)check_jsonl.py检查json文件格式和ID号一致性;3)check_resultsql.py验证SQL可执行性,将错误SQL记录到问题集文件。这些工具可有效提升比赛过程中的效率和质量控制,特别是确保SQL脚本的可执行性以获得更高评分。原创 2025-10-24 07:41:05 · 262 阅读 · 0 评论 -
【第9篇】问题标注工具
本文介绍了大模型问题标注工具的使用流程和方法。该系统通过多步骤协同处理:首先扫描问题集并分类(匹配模板的旧问题和无模板的新问题),然后对新问题构建人工确认清单,通过人工或高配大模型生成SQL脚本。验证通过后合并至样本库并重建向量库,未通过则修正SQL或补充模板。文章详细说明了5个核心工具程序的功能和使用方法,包括scan_question.py扫描分类、eval_question2sql.py统计模板、build_checklist.py构建确认清单等,形成完整的问题标注闭环处理流程。该工具适用于团队协作高原创 2025-10-24 07:36:04 · 926 阅读 · 0 评论 -
【番外篇2】调用本地的Qwen3-Embedding接口
本文介绍了如何调用本地Qwen3-Embedding模型接口,包括基础模型和LoRA微调模型的加载方法。文章指出嵌入模型微调对提升SQL生成准确率至关重要,并提供了接口启动和使用方法。通过调整参数可选择加载基础模型或微调模型,并给出了关键代码示例。文章还展示了接口启动和调试的实际操作截图,为理解嵌入模型微调及应用提供了实践参考。原创 2025-10-22 20:41:44 · 341 阅读 · 0 评论 -
【第8篇】评估测算工具
本文介绍了NL2SQL比赛中的三种评估工具:simulate_score.py用于评估SQL结果准确率,通过比对生成SQL与样本SQL的执行结果得出准确率;eval_embeddings.py评估嵌入模型的库表命中率;eval_reranker.py评估重排序模型的命中效果。演示结果显示当前嵌入模型在41条样本中有6条不匹配,而重排序模型未能显著提升命中率。这些工具为优化NL2SQL模型性能提供了关键评估手段。原创 2025-10-22 07:32:34 · 388 阅读 · 0 评论 -
【第7篇】引入低配大模型
本文介绍了在NL2SQL比赛中引入低配大模型Qwen3-8B的方案,通过问题参数化处理和模板匹配来降低使用成本。该方案包含三个核心模块:query_table.py匹配问题模板获取表名,query_sql.py获取表结构信息,query_example.py拼接提示词生成SQL。相比高端模型可节省4倍成本,是比赛获奖的关键策略。时序图展示了从问题输入到SQL生成的完整流程。原创 2025-10-20 17:46:25 · 558 阅读 · 0 评论 -
【番外篇1】本地微调Qwen3-Embedding模型
本地微调Qwen3-Embedding模型提升RAG召回率 本文针对通用嵌入模型在行业应用中召回率不足的问题,介绍了使用peft对Qwen3-Embedding-0.6B进行参数微调的方法。通过构建包含语义关联句对的数据集,采用3轮训练优化模型参数,最终生成的LoRA适配器权重使模型关联度判断更精准:相似句对的得分提升(如"Earth revolves around Sun"与"Sun is orbited by Earth"从0.954升至0.972),无关句对的负原创 2025-10-20 07:28:05 · 1458 阅读 · 0 评论 -
【第6篇】引入高配大模型
本文介绍了在nl2sql比赛中引入高配大模型qwen3-235B生成SQL的方法。当问题无法匹配到库表模板时,通过向量检索、关键字匹配和重排序等技术确定相关库表,再构造提示词调用大模型生成SQL。重点分析了寻找问题对应库表和优化提示词的两大挑战,详细说明了相关技术实现流程,包括检索相似文本、关键字匹配、重排序等步骤,并展示了提示词模板的构建方法。对于简单问题,该方法的准确率可达70%以上。原创 2025-10-16 19:37:38 · 783 阅读 · 0 评论 -
【第5篇】向量化处理步骤
本文介绍了2025年羊城工匠杯nl2sql比赛数据预处理阶段的向量化处理流程。主要包括:1)通过excel2sql.py生成建表DDL语句;2)使用scan_columns.py提取标记字段值生成参数文件;3)通过question2table.py和template2sql.py建立问题模板与SQL的映射关系;4)利用sqls_embedding.py生成文本向量并存入chroma数据库。处理过程中通过正则表达式和参数文件对问题进行模板化,如将具体日期替换为{专题名称}等参数化表达,从而压缩模板数量。整个流原创 2025-10-17 00:00:00 · 1809 阅读 · 0 评论 -
【第4篇】NL2SQL架构设计
本文介绍了NL2SQL比赛的参赛项目架构设计,包含数据准备和批量执行两大模块。数据准备阶段通过多个Python脚本实现Excel到SQL的转换、问题模板关联、向量化处理等流程,最终生成向量数据库。批量执行阶段采用多线程处理,通过查询匹配库表、构建提示词、调用大模型生成SQL等步骤,将结果写入JSON文件。整体架构包含10余个功能模块,实现了从自然语言到SQL语句的自动化转换流程。原创 2025-10-16 01:00:00 · 1944 阅读 · 0 评论 -
【第3篇】NL2SQL运行演示
本文介绍了NL2SQL参赛项目的运行流程:1)下载数据文件到指定目录;2)配置Python虚拟环境;3)申请阿里云API密钥并配置到项目文件中;4)执行start.sh脚本生成SQL查询结果;5)验证结果文件part1_results.jsonl;6)使用clean.sh清理现场。项目通过自然语言生成SQL查询,展示了从配置到运行的全过程。相关开发环境配置可参考另一篇指南。原创 2025-10-13 17:54:58 · 116 阅读 · 0 评论 -
【第2篇】nl2sql2025开发环境配置
本文介绍了2025年羊城工匠杯nl2sql比赛的开发环境配置方法。主要使用VSCode和DBeaver工具,其中VSCode通过SSH连接WSL的Ubuntu系统。配置步骤包括:安装Ubuntu24.04 WSL、拉取项目代码、通过pyenv管理Python版本(推荐3.10.17)、创建虚拟环境并安装依赖包(如langchain、openai等)。文章提供了详细的安装命令和配置指引,帮助参赛者快速搭建开发环境。原创 2025-10-14 00:00:00 · 291 阅读 · 0 评论 -
【目录】2025年羊城工匠杯NL2SQL参赛介绍
3. NL2SQL运行演示 (20251015发布)4. NL2SQL架构设计 (20251016发布)2. 搭建项目开发环境 (20251014发布)6. 引入高配大模型 (20251020发布)5. 向量化处理步骤 (20251017发布)7. 引入低配大模型 (20251021发布)10. 质量检核工具 (20251024发布)11. 参赛复盘心得 (20251027发布)8. 评估测算工具 (20251022发布)9. 问题标注工具 (20251023发布)原创 2025-10-13 17:48:20 · 310 阅读 · 0 评论 -
【第1篇】2025年羊城工匠杯nl2sql比赛介绍
2025年 羊城工匠杯 NL2SQL比赛分为初赛和决赛两个阶段,主要考察参赛者将自然语言转换为有效SQL语句的能力。比赛提供包含数据库、表结构、问题集和样例的完整数据集,评分标准包括SQL语法有效性(10%)、执行准确率(60%)和Token成本(30%)。赛事支持使用多种大模型接口,包括不同规模的Qwen和Deepseek系列对话模型,以及重排序和嵌入模型。官方推荐的开发环境基于Ubuntu24.04和Python3.10,并提供了包括LangChain、Chroma等在内的详细技术栈原创 2025-10-13 17:45:00 · 581 阅读 · 0 评论
分享