VannaAI 介绍
本篇章主要对Vanna做一些关于原理的介绍,下一篇章将对如何使用具体说明。
一、介绍
Vanna 是一个基于 MIT 许可的开源 Python RAG(检索增强生成)框架,专注于 SQL 生成和相关功能。它允许用户在自己的数据上训练一个 RAG “模型”,然后通过自然语言提问,生成在数据库上运行的 SQL 查询语句,并将查询结果以表格和图表的方式展示给用户。Vanna 的核心目标是简化数据库交互,让用户无需精通 SQL 即可从数据库中提取有价值的信息。
二、探索过程
1. 使用 AI 生成 SQL 的原因
数据仓库和数据湖在企业中广泛应用,但能够精通 SQL 并理解企业数据结构的人很少。AI 可以帮助商业用户使用自然语言查询数据库,生成 SQL 查询,从而提高数据利用率。
2.探索过程
在官方文档中,讲述了他们探索如何利用不同的上下文策略和大型语言模型(LLM)来提高 SQL 生成的准确性。从实验中表明,提供合适的上下文信息可以显著提高 LLM 生成 SQL 查询的准确性,从约3%提升到约80%。文章比较了多种 LLM,包括 Google Bison、GPT 3.5、GPT 4 ,并展示了结合模式定义、文档和先前 SQL 查询的相关性搜索策略。
3.主要发现
- 提供适当的上下文至关重要,可以显著提高 LLM 生成 SQL 的准确性。
- GPT 4 是生成 SQL 的最佳 LLM,但在提供足够上下文时,Google 的 Bison 表现同样优异。
- 三种上下文策略中,结合模式定义、文档和先前 SQL 查询的相关性搜索策略表现最佳。
原文地址:
《 AI SQL 准确性:测试不同的 LLMs + 上下文策略以最大限度地提高 SQL 生成准确性》https://vanna.ai/blog/ai-sql-accuracy.html
三、Vanna 的工作原理
1.工作原理
Vanna 的工作原理可以简化为两个主要步骤:
- 训练 RAG 模型:使用数据库的 DDL 语句、元数据(数据库内关于自身数据的描述信息)、相关文档说明、参考样例 SQL 等训练一个 RAG 的“模型”(embedding