AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Vanna大火?数据库对话机器人让数据分析变得更简单、RAG+AI 生成 SQL、轻松实现数据库对话
发布日期:2024-07-19 07:53:01 浏览次数: 1872


大家好,LLMS 的一个重要应用是能够用自然语言查询和与数据库交互,提取见解。Vanna AI 是一个开源的 Python 库,专门用于这种功能。通过 Vanna AI,我们可以将数据库与自然语言查询连接起来,并生成相应的 SQL 查询,从而在数据库中执行这些查询并获取结果。这一过程还提供了 SQL 查询的验证功能,以确保结果的准确性。

▲ Vanna 的工作原理

Vanna AI 正在不断开发中,并且越来越受欢迎。它的工作原理是一个两步过程:首先,我们需要训练一个模型,这个模型包含我们所知道的关于数据库的所有信息,例如 DDL 语句、文档以及示例 SQL 语句。这些信息会被嵌入并存储在向量数据库中,这是一个一次性的过程。

▲ Vanna 的工作分为两个简单的步骤 - 在您的数据上训练 RAG“模型”,然后提出问题,这些问题将返回可设置为在您的数据库上自动运行的 SQL 查询。

 一旦模型训练完成,我们就可以提出问题,系统会为问题创建嵌入,然后进行向量相似搜索,以找到相似的嵌入。这些相似的嵌入用于生成 SQL 查询,并在数据库中执行以获得结果。我们可以通过这种方式得到想要的数据或图表。

这里有一个详细的图示,说明了在训练模型后如何工作。我们收集了所有相关的 DDL 文档和 SQL 查询,并将它们存储在向量存储中。提出问题后,会生成与问题相关的嵌入,并与向量存储中的嵌入进行比较,找出相似的嵌入。然后将问题和上下文信息传递给 LLM,生成 SQL 查询并执行,以获得结果。

如果得到的结果正确,这意味着生成的 SQL 查询是正确的。我们可以将这个查询和生成的 SQL 添加回向量存储中,从而使模型随着时间的推移对数据库的了解越来越多,并且提供更准确的结果。

从总体上看,Vanna AI 系统需要两个组件:用于存储数据库信息的向量存储和用于生成 SQL 查询的 LLM。我们可以通过简单的 PIP 安装来安装 Vanna AI 库,连接模型和数据库,并生成查询。

我们今天使用 Vanna 提供的内置演示模型进行演示。首先,我们连接到一个模型和数据库,看看数据库的架构。这个示例数据库是一个音乐商店,包含员工、客户、发票和艺术家等相关信息,共有 11 个表。使用 SQL Alchemy 直接连接数据库,并提取表名。

在使用 Vanna AI 时,我们只需导入库,连接模型和数据库,然后就可以开始提问了。例如,我们询问销量最高的前五位艺术家,生成的 SQL 查询涉及多个表,最终得到了正确的结果和一个图表。

Vanna 还提供了一个本地主机界面,可以运行示例查询并生成相应的结果和图表。结果可以下载为 CSV 文件。

总结一下,一旦我们有了数据库,我们需要训练一个模型并连接数据库和模型,然后就可以开始提问了。下一个视频将展示如何连接我们自己的数据库并训练模型。谢谢大家。

主要思想提取:

  1. 1. Vanna AI 是一个开源的 Python 库,可以用自然语言查询和与数据库互动。

  2. 2. 该库将自然语言问题转换为 SQL 查询,并执行这些查询。

  3. 3. 使用 Vanna AI 的流程包括两步:训练模型和使用模型进行查询。

  4. 4. 训练模型时,将数据库相关的信息(如 DDL 语句、文档、示例 SQL 语句)嵌入并存储在向量数据库中。

  5. 5. 查询时,Vanna AI 生成 SQL 查询,并在数据库中执行以获取结果。

  6. 6. 结果可以是数据或图表,如果查询正确,结果会被添加回向量数据库,以提高模型的准确性。

  7. 7. Vanna AI 系统需要两个组件:向量存储和用于生成 SQL 查询的 LLM。

  8. 8. 使用示例展示了如何安装和使用 Vanna AI 库,连接模型和数据库,并生成查询。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询