一、什么是Vanna?
Vanna是基于检索增强(RAG)的sql生成框架,会先用向量数据库将待查询数据库的建表语句、文档、常用SQL及其自然语言查询问题存储起来。在用户发起查询请求时,会先从向量数据库中检索出相关的建表语句、文档、SQL问答对放入到prompt里(DDL和文档作为上下文、SQL问答对作为few-shot样例),LLM根据prompt生成查询SQL并执行,框架会进一步将查询结果使用plotly可视化出来或用LLM生成后续问题。如果用户反馈LLM生成的结果是正确的,可以将这一问答对存储到向量数据库,可以使得以后的生成结果更准确。
二、Vanna的工作原理
当向 Vanna 提出问题时,会执行以下过程
-
首先在我们的训练集中搜索过去提出过的类似问题。
-
如果我们发现类似的问题,我们会将这些问题中经过验证的 SQL 传递到我们的模型。
-
否则,我们会传入 DDL、文档或引导查询。 本质上是一个检索增强的过程。
-
然后,您的架构特有的 Vanna 模型会生成 SQL。
-
然后我们运行 SQL 来验证它。如果经过验证,它将进入训练数据。
-
否则,分析师可以更正 SQL 并将其放入训练数据中。
AI科技智库👉️👉️👉️www.aigchouse.com,一站式AI工具、资料、课程资源学习平台,每日持续更新。通过分享最新AI工具、AI资源等,帮助更多人了解使用AI,提升工作和学习效率。这里有海量AI工具整合包、AI学习资料、AI免费课程和AI咨询服务,AI之路不迷路,2024我们一起变强。