System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于VIEW和LLM的两阶段Text-to-SQL生成方法技术_技高网

基于VIEW和LLM的两阶段Text-to-SQL生成方法技术

技术编号:43971047 阅读:9 留言:0更新日期:2025-01-10 19:59
一种基于VIEW和LLM的两阶段Text‑to‑SQL生成方法,第一阶段:将用户查询请求、View的描述信息填充到大语言模型中,由大语言模型生成View查询语句;第二阶段:将预处理阶段中View的创建语法和第一阶段中生成的View查询语句填充到大语言模型中,由大语言模型将查询View的语法还原为查询数据库原始表的SQL。还设置有预处理阶段:为数据库创建View,同时得到View的创建语法。本发明专利技术能够提高提高大语言模型理解和查询的准确性,提高响应时间,提高处理效率。

【技术实现步骤摘要】

本专利技术涉及文本转为数据库的结构化查询语言,特别是涉及一种基于view和llm的两阶段text-to-sql生成方法。


技术介绍

1、文本转sql(也称text-to-sql也称 text2sql)任务是将文本转为数据库的结构化查询语言(structured query language, sql), 该技术能使用户在不会sql的情况下,通过自然语言与数据库进行交互。由于用户问题表达方式的多样性、数据库表结构和sql的复杂性,从自然语言问题中生成准确的sql是一项具有挑战性的任务。

2、传统的text-to-sql系统通常基于规则和深度学习网络的方法, 虽然取得了不错的性能, 但基于规则的方法依赖于人工, 因此成本昂贵。而传统基于神经网络的方法需要不断地根据业务的领域来微调模型, 在数据库越来越复杂的当下, 非常不灵活。

3、近年来,随着大语言模型(large language models,llm,也称大模型)的流行,基于llm的text-to-sql成为了广受关注的探索方向。llm凭借强大的语言理解能力,可以在不需要微调的情况下,仅凭借提示词就获得不错的效果。基于大语言模型的text-to-sql虽然相比于之前的方法取得了突破,但由于数据库本身的设计模式是出于数据保存考虑的,而非方便大语言模型理解,使得大语言模型难以对数据库信息进行准确地利用。例如:数据库中的外键能维护两个表之间的数据一致性和关联性,但大语言模型在使用外键对多张表进行join操作后,可能在select操作或where操作时,将表和字段进行错误的搭配。

4、因此,为了避免大语言模型对数据库模式理解错误导致text-to-sql任务性能下降的问题,提供一种基于view和llm的两阶段text-to-sql生成方法以解决现有技术不足甚为必要。


技术实现思路

1、本专利技术的目的在于避免现有技术的不足之处而提供一种基于view和llm的两阶段text-to-sql生成方法,能够提高大语言模型理解和查询的准确性,提高处理效率。

2、本专利技术的目的通过以下技术措施实现。

3、提供一种基于view和llm的两阶段text-to-sql生成方法,包括:

4、第一阶段: 将用户查询请求、view的描述信息填充到第一prompt中,将第一prompt输入到大语言模型中,由大语言模型生成view查询语句;

5、第二阶段: 将预处理阶段中view的创建语法和第一阶段中生成的view查询语句填充到第二prompt中,将第二prompt输入到大语言模型中,由大语言模型将查询view的语法还原为查询数据库原始表的sql。

6、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,在第一阶段之前还设置有预处理阶段:为数据库创建view,同时得到view的创建语法。

7、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,预处理阶段,为数据库创建view,使得通过view,查询需求时不需使用join操作。

8、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,预处理阶段,为数据库创建view的标准是消除外键。

9、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,在第一阶段,当用户提问时,将用户的问题转为向量,用该问题向量在数据库中匹配“sql示例”、“view描述”,将匹配到的信息和用户问题填充到第一prompt中,将第一prompt输入到大语言模型,由大语言模型生成view查询语句。

10、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,第一prompt 设置为格式模板。

11、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,第二阶段,将预处理阶段中view的创建语法和第一阶段中生成的view查询语句填充到第二prompt中并输入给大语言模型,由大语言模型将查询view的语法还原为查询数据库原始表的sql。

12、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,第二阶段,由大语言模型将查询view的语法还原为查询数据库原始表的sql的方法是:先用view的查询语句和view的创建语句对原表进行架构链接schema linking,确定出要查询的表和表中字段;

13、然后将view查询语句、view创建语句、架构链接(schema linking)后的表描述、用户问题填充到prompt中并将prompt输入大语言模型,得到查询数据库原始表的sql。

14、优选的,上述的基于view和llm的两阶段text-to-sql生成方法,第二prompt 设置为格式模板。

15、本专利技术一种基于view和llm的两阶段text-to-sql生成方法,第一阶段: 将用户查询请求、view的描述信息填充到大语言模型中,由大语言模型生成view查询语句;第二阶段: 将预处理阶段中view的创建语法和第一阶段中生成的view查询语句填充到大语言模型中,由大语言模型将查询view的语法还原为查询数据库原始表的sql。本申请的基于llm解决复杂表格text-to-sql的方案,提出了一种基于view和llm的sql生成方案,本方案借助view对数据库重新进行描述,降低了大语言模型理解数据库模式的难度。然后根据view的创建语句,对生成的view查询语句进行转换,由大语言模型将查询view的语法还原为查询数据库原始表的sql,避免了依靠view查询时查询效率低和与直接查询数据库结果可能不一致的问题。能够提高提高大语言模型理解和查询的准确性,提高响应时间,提高处理效率。

本文档来自技高网...

【技术保护点】

1.一种基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于,包括:

2.根据权利要求1所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:在第一阶段之前还设置有预处理阶段:为数据库创建View,同时得到View的创建语法。

3.根据权利要求2所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:预处理阶段,为数据库创建View,使得通过View,查询需求时不需使用join操作。

4.根据权利要求3所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:预处理阶段,为数据库创建View的标准是消除外键。

5.根据权利要求1至4任意一项所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:在第一阶段,当用户提问时,将用户的问题转为向量,用该问题向量在数据库中匹配“SQL示例”、“View描述”,将匹配到的信息和用户问题填充到第一prompt中,将第一prompt输入到大语言模型中,由大语言模型生成View查询语句。

6.根据权利要求5所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:第一prompt 设置为格式模板。

7.根据权利要求5所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:第二阶段,将预处理阶段中View的创建语法和第一阶段中生成的View查询语句填充到第二prompt中并输入给大语言模型,由大语言模型将查询View的语法还原为查询数据库原始表的SQL。

8.根据权利要求6所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:第二阶段,由大语言模型将查询View的语法还原为查询数据库原始表的SQL的方法是:先用View的查询语句和View的创建语句对原表进行架构链接,确定出要查询的表和表中字段;

9.根据权利要求8所述的基于VIEW和LLM的两阶段Text-to-SQL生成方法,其特征在于:第二prompt 设置为格式模板。

...

【技术特征摘要】

1.一种基于view和llm的两阶段text-to-sql生成方法,其特征在于,包括:

2.根据权利要求1所述的基于view和llm的两阶段text-to-sql生成方法,其特征在于:在第一阶段之前还设置有预处理阶段:为数据库创建view,同时得到view的创建语法。

3.根据权利要求2所述的基于view和llm的两阶段text-to-sql生成方法,其特征在于:预处理阶段,为数据库创建view,使得通过view,查询需求时不需使用join操作。

4.根据权利要求3所述的基于view和llm的两阶段text-to-sql生成方法,其特征在于:预处理阶段,为数据库创建view的标准是消除外键。

5.根据权利要求1至4任意一项所述的基于view和llm的两阶段text-to-sql生成方法,其特征在于:在第一阶段,当用户提问时,将用户的问题转为向量,用该问题向量在数据库中匹配“sql示例”、“view描述”,将匹配到的信息和用户问题填充到第一prompt中,将第一pro...

【专利技术属性】
技术研发人员:尤泽顺李静沈贤义
申请(专利权)人:广州华微明天软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1