深度学习-119-Text2SQL之实现的三种技术途径
文章目录
- 1 Text2SQL的实现路径
- 2 基于prompt template的方法
-
- 2.1 Text2SQL的Prompt的组成部分
- 2.2 提示词模板
- 2.3 基于模型qwen2:7b
- 2.4 基于模型llama3.2
- 2.5 基于模型deepseek-r1:1.5b
- 3 基于Chain的方法
-
- 3.1 基于SQLDatabaseChain的方法
-
- 3.1.1 创建数据库插入数据
- 3.1.2 基于模型llama3.2
- 3.1.3 基于模型qwen2:7b
- 3.2 基于create_sql_query_chain的方法
-
- 3.2.1 基于模型llama3.2
- 3.2.2 基于模型qwen2:7b
- 4 基于Agent的方法
-
- 4.1 基于模型qwen2:7b
- 4.2 基于模型llama3.2
- 5 难点与挑战
- 6 参考附录
1 Text2SQL的实现路径
将大型语言模型(LLMs)与表格和 SQL 数据库等结构化数据相结合!
在LLM赋能BI的过程中,Text2SQL(或者称为NL2SQL)将自然语言表述的查询语句转化为SQL语句,是构建智能BI不可缺少的步骤。
Text2SQL的实现路径有几种:
(1)基于prompt template的方法。
(2)基于Chain的方法,包括基于SQLDatabaseChain的方法和基于create_sql_query_chain的方法两种。
(3)基于Agent的方法。
2 基于prompt template的方法
Text2SQL核心在于如何把自然语言组装成Prompt,并交给LLM转化成SQL。
2.1 Text2SQL的Prompt的组成部分
(1)指令(Instruction)
比如,“你是一个SQL生成专家。请参考如下的表格结构,直接输出SQL语句,不要多余的解释。”
(2)数据结构(Table Schema)
类似于语言翻译中的“词汇表”。即需要使用的数据库表结构,由于大模型无法直接访问数据库,需要把数据的结构