微信扫码
添加专属顾问
我要投稿
大家好,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. Vanna AI 是一个开源的 Python 库,可以用自然语言查询和与数据库互动。
2. 该库将自然语言问题转换为 SQL 查询,并执行这些查询。
3. 使用 Vanna AI 的流程包括两步:训练模型和使用模型进行查询。
4. 训练模型时,将数据库相关的信息(如 DDL 语句、文档、示例 SQL 语句)嵌入并存储在向量数据库中。
5. 查询时,Vanna AI 生成 SQL 查询,并在数据库中执行以获取结果。
6. 结果可以是数据或图表,如果查询正确,结果会被添加回向量数据库,以提高模型的准确性。
7. Vanna AI 系统需要两个组件:向量存储和用于生成 SQL 查询的 LLM。
8. 使用示例展示了如何安装和使用 Vanna AI 库,连接模型和数据库,并生成查询。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-13
SQL 开发者们,终于有了自己的“Cursor”
2025-03-12
DeepSeek + Power BI,PQ 智能拆分地址
2025-03-12
澜舟智库:表格智能问答,体验化繁为简的神奇力量
2025-03-11
DeepSeek+Dify查询数据库
2025-03-11
Chat2DB 3.0 发布:SQL 界的 “Cursor”到底有多炸?
2025-03-10
AI Agent会颠覆企业应用软件么?
2025-03-10
数据分析 Agent 在零售和金融领域的解决方案与落地应用
2025-03-10
AutoDev Bridge:构建 Agent 自动分析老旧系统,设计迁移路径与方案实施
2024-06-20
2024-10-14
2025-02-04
2024-10-09
2024-06-14
2024-06-16
2024-06-14
2024-05-31
2024-07-24
2024-07-03
2025-03-11
2025-03-10
2025-03-10
2025-02-28
2025-02-25
2025-02-22
2025-02-22
2025-01-30