本文主要是介绍Text2SQL之Vanna优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 一、优化方向
- 二、干就完了
- 一次性生成多个Question-SQL对
- 先生成一个问题,再根据DDL和业务数据生成SQL
- 总结
前言
前阵子写了篇Text2SQL的简单介绍,发现其也是RAG只会,写下了Text2SQL之不装了,我也是RAG
最近也一直在做Text2SQL的优化,于是把自己的一些心得,总结于这篇文章。
一、优化方向
既然本质是RAG,那顺着RAG的优化方向走,准没错。
- 文档增强:
- 对文档进行摘要:先对摘要进行检索,如果有必要,才深入文档细节
- 对文档进行QA生成:同时检索文档和生成的QA
- 数据清洗,去除文档中存在的特殊字符或不相关信息
- 元数据过滤:例如对query和文档分类,对应类别的query只查找对应类别的文档,能有效提升检索效率和召回率
- 混合检索:语义检索 + 关键词检索
- query改写:让LLM对query改写,在嵌入空间中,看似相同的两个问题并不一定很相似
- 同义词替换:例如,将“LLM”、“大语言模型”和“大模型”标准化为通用术语。
- 缩写替换
- query分解:将复杂query分解成多个子问题,逐个进行匹配,然后汇总文档,生成答案
- HyDE: 用LLM直接生成query的回答,将生成的答案与query 拼接,再进行RAG
- 文档分块优化:
- 内容重叠分块&
这篇关于Text2SQL之Vanna优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!