8K Stars!Text2SQL还不够?试试更精准的RAG2SQL开源工具

618钜惠专场直播,点击预约按钮免费预约

SQL 是查询数据库的关键,但如何高效地构建满足个人需求的 SQL 语句呢?随着 AI 大模型的进步,我们现在已经拥有了 Text2SQL 的技术,这一技术已被多款产品广泛应用。

今天,我们要向大家介绍一个开源项目—Vanna。它在 Text2SQL 的基础上进行了升级,融入了 RAG 技术以进一步提升准确度,使得 SQL 生成更为精准和智能。

46c29c01a9560b1f8e3f1870f995178a.png

Github 地址:https://github.com/vanna-ai/vanna

1

Vanna 介绍

Vanna 是一个开源的基于大模型和 RAG 的 Text2SQL 工具,Vanna 通过结合RAG 框架、大语言模型、高质量的训练数据、持续优化能力、广泛的数据库支持以及开源定制化的特点,实现了在复杂数据集上的高精度表现。

使用 Vanna 可以使用任何的大模型、任何的向量数据库、任何的前端,和任何的关系数据库交互。

8402bf51073c0b62538e15f2deee2450.png

Vanna 的工作流程如下所示:

698c5e2790e0e426a381374af618d5f7.png

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

第一、在您的数据上训练一个 RAG “模型”

第二、提出问题(Prompt)

d55205693cfa7926559e18a716b443c7.png

Vanna 提供三种灵活的模式,以满足不同用户的需求。

第一、开源模式。

在这种模式下,你可以自由地集成你偏爱的任何大语言模型,实现高度的个性化定制。

就像是在玩积木,随心所欲地搭建你的数据世界。

第二、免费模式。

我们提供有限额度的大模型使用和免费的存储空间。

利用 GPT 3.5 的强大功能,你无需任何费用即可开始你的数据探索之旅。

第三、付费模式。

如果你需要更强大的功能和更高的灵活性,我们将提供无限制的使用权限,包括 GPT-4 的支持以及优质的服务保障。

ef280db6719d7cdfc25151317ec596ce.png

2

如何使用 Vanna ?

你可以从多个途径开始使用 Vanna,包括:Jupyter Notebook、Slackbot、Web 应用或 Streamlit等。同时,您也可以轻松地将 Vanna集成到您自己的Web 应用中。

如果您只是希望快速体验一下 Vanna 的功能,我们提供了已经训练好的在线大模型和配套的向量数据库供您使用。而最简单快捷的体验方式,就是通过 Colab notebook 来感受 Vanna 的独特魅力。

2e8a6813426c6d88afb7eedfe1e871ea.png

要使用 Vanna,您需要先注册一个 Vanna 账号(https://vanna.ai/),以便获取必要的 API 密钥。

0853c1f84bd0f4cde59a7b06cb155fa7.png

你可以通过以下的代码定制大模型或者向量数据库↓↓

# The import statement will vary depending on your LLM and vector database. This is an example for OpenAI + ChromaDB

from vanna.openai.openai_chat import OpenAI_Chat
from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore

class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
    def __init__(self, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        OpenAI_Chat.__init__(self, config=config)

vn = MyVanna(config={'api_key': 'sk-...', 'model': 'gpt-4-...'})

# See the documentation for other options

接下来我们来做一个案例演示

第一步、提问

vn.ask("What are the top 10 customers by sales?")

第二步、得到生成的 SQL

SELECT c.c_name as customer_name,
        sum(l.l_extendedprice * (1 - l.l_discount)) as total_sales
FROM   snowflake_sample_data.tpch_sf1.lineitem l join snowflake_sample_data.tpch_sf1.orders o
        ON l.l_orderkey = o.o_orderkey join snowflake_sample_data.tpch_sf1.customer c
        ON o.o_custkey = c.c_custkey
GROUP BY customer_name
ORDER BY total_sales desc limit 10;

第三步、数据库执行返回结果

75ef8e8d92a19db7a577b64148e69969.png

第四步、得到一个自动生成的图表

ee7e6e7681185e5011b078dcbfb16a50.png

为了帮助同学们彻底掌握 AI 大模型 Agent 智能体、知识库、向量数据库、 RAG、微调私有大模型的应用开发、部署、生产化,今天618开专场直播和同学们深度剖析,请同学们点击以下预约按钮免费预约

3

领取 AI 大模型学习资料

c36b16db266b18206c1d669bb6f142ad.png不会吧,都2024年了,还有人在网盘、B站上爬学习资源?

988a7da1b4670ce1dba9af612b138e3e.png今天给大家搞到的是一份大厂内部都在用的『AI 大模型学习资源』

▶形式:直播公开课

费用:原价299,本号用户0元白嫖

内容:大模型原理、Agent、LangChain、Spring AI、RAG、向量数据库、知识库、私有大模型、算力评估...

扫码预约报名

👇『AI 大模型学习资源』👇

堪称资源界的YYDS!5ba55e93ea5bf5c370d64baba8d6d4d6.png

“得此资源,堪比1000G网盘资源”

👇👇👇

edfbd8519e76c166ee3f823c36094c33.png

本期名额有限

ba1ca9ae3bbea6dff5e0c0cc539af3e8.gif

4

领取《AI 大模型技术知识图谱

59f22c53cb2f7a272ba8b3185c6f483d.png

这份业界首创知识图谱和学习路线,今天免费送了!

第一步长按扫码以下视频号,你身边需要一个 AI 专家。

a1e21f2288671283c3930d8b122bca1f.png

第二步:点击"关注按钮",就可关注。

53717d641cd36649fcc481114014506b.jpeg

第三步:点击"客服“按钮,回复知识图谱即可领取。

928450d8acac2368bb968d285652a75a.jpeg

 5

每日精选 AI 大模型知识

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研数学|做完《660》,做《880》还是吃力,怎么办?

880吃力说明基础还是不太扎实,建议配合知能行再刷880。 强化之前做660,然后在强化的时候再做880。 660整体难度属于基础阶段到强化阶段。而且是选填部分的题目,所以还是要做一些其他题 然后说一下推荐的习题册:基础不好先做1800、…

如何学习 Java 中的 Socket 编程,进行网络通信

Socket编程是网络编程的核心技术之一,它使得不同主机之间可以进行数据通信。Java提供了丰富的网络编程API,使得编写网络应用程序变得相对简单和直观。本文将详细讲解如何学习Java中的Socket编程,并通过示例代码展示如何实现网络通信。 一、S…

船舶能源新纪元:智能管理引领绿色航运潮流

在蓝色的大海上,无数船只乘风破浪,为全球的贸易和文化交流贡献着力量。然而,随着环保意识的提升和可持续发展的要求,船舶的能源消耗和排放问题逐渐成为了人们关注的焦点。在这个关键时刻,船舶能源管理系统应运而生&…

智能合约开发的过程

智能合约是一种运行在区块链上的程序,可以自动执行预先设定的条款和条件。智能合约具有去中心化、透明、不可篡改等特点,因此被广泛应用于金融、供应链、物联网等领域。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流…

西门子学习笔记12 - BYTE-REAL互相转化

这是针对于前面MQTT协议的接收和发送数组只能是BYTE数组做出的对应的功能块封装。 1、BYTE-REAL转化 1、把byte数组转成字符串形式 2、把字符串转成浮点数 2、REAL-BYTE转化 1、把浮点数转成字符串 2、把字符串转成Byte数组

通过编辑器工具改变Inspector锁定状态

是在看一系列视频的时候,看到的,感觉挺有用,就记录下来。 就是这个小锁的按钮,后续可以通过快捷键,快速锁定和解锁。代码里没有加入快捷键控制,有需要用到的可以自己加一下,比较简单 using Uni…

前端上传minio

参考【GitCode - 全球开发者的开源社区,开源代码托管平台】 注意事项:nodejs服务,文件扩展名为mjs,版本号8.0,引入的时候 import * as Minio from minio import Minio as * from minio// 实例化对象存储服务的MinIO客户端 // p…

c语言字符串函数详解(全)

字符串函数 1.strlen函数 求字符串长度的 //求字符串长度 int my_strlen(char* str) {int count 0;while (*str ! \0){count;*str;}return count; } int main() {char arr[] "abcdef";int red my_strlen(arr);printf("%d\n", red);return 0; } 2. st…

【MySQL】(基础篇十二) —— 子查询

分组数据 本文介绍什么是子查询以及如何使用它们。 SQL允许我们创建子查询(subquery),即嵌套在其他查询中的查询。这样可以实现更复杂的查询,理解这个概念的最好方法是考察几个例子。 利用子查询进行过滤 需求:查询…

一行超长日志引发的 “血案” - Containerd 频繁 OOM 背后的真相

案发现场:混沌初现 2024年6月10日,本应是平静的一天。但从上午 9 点开始,Sealos 公有云的运维监控告警就开始不停地响。北京可用区服务器节点突然出现大量 “not ready” 告警,紧接着,系统自动触发 004 节点重启&…

重学java 75.JDK新特性 ① Lambda表达式

你所做的事情,也许暂时看不到成果,你不是没有成长,而是在扎根 —— 24.6.19 一、函数式编程思想和Lambda表达式定义格式 1.面向对象思想:是Java的核心编程思想 强调的是找对象,帮我们做事儿 比如:去北京 -> 强调的是怎么去,火车,高铁,飞机…

为什么人们对即将推出的 Go 1.23 迭代器感到愤怒

原文:gingerBill - 2024.06.17 TL;DR 它让 Go 变得太“函数式”,而不再是不折不扣的命令式语言。 最近,我在 Twitter 上看到一篇帖子,展示了 Go 1.23(2024 年 8 月)即将推出的 Go 迭代器设计。据我所知&a…

35 Debian如何配置Postfix+Dovecot

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置Postfix+Dovecot 《傅老师Debian知识库系列之35》——原创 ==前言== 傅老师Debian知识库特点: 1、拆解Debian实用技能; 2、所有操作在VMware虚拟机实测完成; 3、致力于最终形成Deb…

网安人必备!开源网络安全工具TOP 10(附下载地址)

工欲善其事,必先利其器。对于广大的网络安全从业者,以及未来想要从事网络安全的人来说,选择并善用合适的网络安全工具,能有效提升工作效率。 开源网络安全工具之所以能够在众多安全解决方案中脱颖而出,不仅是因为它们…

1.22 LeetCode总结(基本算法)_位运算

进制的概念 进制即进位计数制,是利用固定的数字符号和统一的规则的带进位的计数方法。 任何一种进位计数制都有一个基数,基数为 X 的进位计数制称为 X 进制,表示每一个数位上的数运算时都是逢 X 进一。 504. 七进制数 手法1:当…

小林图解系统-二.硬件结构 2.4CPU缓存一致性

CPU Cache的数据写入 CPU和内存的访问性能越差越大,于是在CPU内部嵌入CPU Cache(高速缓存)。 CPU Cache由Cache Line组成,Cache Line由头标志Tag数据块Data Block组成。 如果数据写入Cache,内存和Cache相对应的数据将不同,需要…

排序(3)【归并排序】【计数排序】【排序算法度及其稳定性分析】

一.归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有…

CCAA质量管理【学习笔记】​​ 备考知识点笔记(六)质量改进系统方法与工具

第七节 质量改进系统方法与工具 1 质 量 改 进 方 法 概 述 可以说几乎每种质量管理领域的方法与工具都可以用于质量改进,但是一个组织在改进的整体推进中,往往不是采用单一的方法,会涉及多种改进的工具和手段,并依据一定的模式…

虹科免拆诊断案例 | 2022款问界M5增程式混合动力车充电口盖指示灯不工作

故障现象 一辆2022款问界M5增程式混合动力车,搭载1.5T发动机和发电机作为增程器,累计行驶里程约为3.6万km。该车因尾部受到碰撞进厂维修,维修后进行慢充,发现充电口盖指示灯不点亮(图1),但仪表…

开放式运动耳机哪个品牌音质好用又实惠?五款2024高口碑产品精选力荐!

​开放式运动耳机在如今社会中已经迅速成为大家购买耳机的新趋势,深受喜欢听歌和热爱运动的人群欢迎。当大家谈到佩戴的稳固性时,开放式耳机都会收到一致好评。对于热爱运动的人士而言,高品质的开放式运动耳机无疑是理想之选。特别是在近年来…