Vanna Text2SQL数据库平权

最近都在面试,拿了些offer保底,别人寒假的时候我努力,竞争的人不多,各位老板也可以投投试试。

开年的股市就是个笑话,明年春招难搞!自己还是很想去抖音、拼多多等大厂的,走传统前/后端跟一群大佬去厮杀少量的HC,还不如另辟蹊径...

最近看牛客、Boss直聘上AIGC前端方向,有些大厂的招聘信息。这可能是条去大厂发财的好路子,开搞!

前言

前端搞全栈,复杂SQL是个难点。我之前写过一篇LangChain实战: 老喻干货店TextToSql,今天跟大家分享Vanna, 一款基于RAG的自然语言生成SQL的工具。

Vanna

激动的心,颤抖的手,点击右上角Get Start for Free,试用一下。经过邮箱认证后,我们会拿到如下的API:

我们来看下官方给的Demo:

python 复制代码
# 安装vanna 
!pip install vanna
# vanna.remote 提供访问远程的数据库,这个很实用
from vanna.remote import VannaDefault
# 返回vn 实例  
vn = VannaDefault(model='chinook', api_key='****')
# 连接数据库  
vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')
# 销售额排名前十的艺术家是?
vn.ask('What are the top 10 artists by sales?')
# 执行
from vanna.flask import VannaFlaskApp
VannaFlaskApp(vn).run()

从代码看,vanna还是很强大的。首先,它有VannaFlaskApp,把Text2SQL提升到App的高度,看来我们使用vanna给全公司搭个TextToSql应用很方便了。从名字看,VannaFlaskApp,底层以来Flask。其次,远程连接数据库的能力非常nice,实例化VannaDefault,传递给它模型和api_key,就可以连接远程数据库。最后,实例上的ask方法可以进行自然语言数据查询。这比我之前看在的Text2SQL 在工程化完备程度上好太多了。

您先按这个地址将sqlite数据库下载下来,并使用vscode(sqlite viewer插件)打开。  销售额排名前十的艺术家这个查询关联Artist、Album、Track、InvoiceLine三个表。截图我就不一一给出,大家可以自己看。

sql 复制代码
# 生成的SQL, 挺复杂的
SELECT a.ArtistId, a.Name, SUM(il.Quantity) AS TotalSales
FROM Artist a
INNER JOIN Album al ON a.ArtistId = al.ArtistId
INNER JOIN Track t ON al.AlbumId = t.AlbumId
INNER JOIN InvoiceLine il ON t.TrackId = il.TrackId
GROUP BY a.ArtistId, a.Name
ORDER BY TotalSales DESC
LIMIT 10;
yaml 复制代码
# 查询结果
 ArtistId                     Name  TotalSales
0        90              Iron Maiden         140
1       150                       U2         107
2        50                Metallica          91
3        22             Led Zeppelin          87
4       113  Os Paralamas Do Sucesso          45
5        58              Deep Purple          44
6        82            Faith No More          42
7       149                     Lost          41
8        81             Eric Clapton          40
9       124                   R.E.M.          39

Artist 表是艺术家表,有ArtistId 和 Name(艺术家名字)两个字段。除此之外我们还需要排名取前十位,并计算销售额。

InvoiceLine是销售记录表,invoice是发票的意思。InvoiceLine里有一个TrackId字段指向Track表。

Track表包含AlbumId字段,指向Album 艺术品表。

找到了AlbumId, 通过Album表就可以找到ArtistId

天啊,这个表分的真够细!但这才是真正线上中大型项目的真实情况。而我们要做的Text2SQL 企业版,要在技术、运营、小编、用户等都可以用起来,Vanna展示了它的强大!

AI工具更新换代很快,很开心今天与Vanna的相见。就到这里,休息一下!下次再与大家一起深入越野Vanna的领地越野。

总结

  • Vanna官网
  • Vanna 基于LLM,基于RAG
  • 数据库不再是技术的专利,Text2SQL语义化查询带来数据库平权!Vanna好像可以投入生产。

参考资料

相关推荐
MM_MS1 分钟前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
桂花饼5 分钟前
基于第三方中转的高效 Sora-2 接口集成方案
人工智能·aigc·ai视频生成·gemini 3 pro·gpt-5.2·ai绘画4k·sora_video2
golang学习记10 分钟前
Zed 编辑器的 6 个隐藏技巧:提升开发效率的「冷知识」整理
人工智能
武汉大学-王浩宇18 分钟前
LLaMa-Factory的继续训练(Resume Training)
人工智能·机器学习
weisian15121 分钟前
入门篇--知名企业-28-字节跳动-2--字节跳动的AI宇宙:从技术赋能到生态共建的深度布局
人工智能·字节跳动·扣子·豆包
NGBQ1213831 分钟前
原创餐饮店铺图片数据集:344张高质量店铺图像助力商业空间识别与智能分析的专业数据集
人工智能
FIT2CLOUD飞致云32 分钟前
应用升级为智能体,模板中心上线,MaxKB开源企业级智能体平台v2.5.0版本发布
人工智能·ai·开源·1panel·maxkb
haiyu_y38 分钟前
Day 58 经典时序模型 2(ARIMA / 季节性 / 残差诊断)
人工智能·深度学习·ar
peixiuhui1 小时前
突破边界!RK3576边缘计算网关:为工业智能注入“芯”动力
人工智能·物联网·边缘计算·rk3588·iot·rk3568·rk3576
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2026-1-9)
开源·大模型·llm·github·ai教程