不写 SQL 也能查库:Vanna 2.0 自然语言转 SQL 上手全记录

发布时间:2026/10/28 17:04:28

不写 SQL 也能查库:Vanna 2.0 自然语言转 SQL 上手全记录 不写 SQL 也能查库Vanna 2.0 自然语言转 SQL 上手全记录【免费下载链接】vanna Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using Agentic Retrieval .项目地址: https://gitcode.com/GitHub_Trending/va/vanna运营在群里问上个月销售额 Top 10 的客户是谁你要么手写 SQL 截图丢回去要么打开 BI 面板翻半天。Vanna 2.0 想替代的就是这个环节把自然语言问题交给大模型翻译成 SQL执行后把表格、图表流式吐回给提问的人。一句话定位它是库不是服务Vanna 是一个 Python 框架核心链路是自然语言 → SQL → 数据答案靠 RAG 检索把表结构、文档、历史 SQL 塞进提示词来提高生成准确率。它适合两类人想给产品加自然语言查数入口的开发者需要按用户身份过滤数据的多租户或企业团队。注意它不是开箱即用的 SaaS——pip install vanna之后它是一个嵌进你自己 FastAPI/Flask 应用的库。15 行代码跑通最小示例装包后把 SQLite 查询工具注册进 Agent 即可LLM 可换成 OpenAI、Anthropic、Ollama 等十几种实现# pip install vanna from vanna import Agent, User from vanna.core.registry import ToolRegistry from vanna.tools import RunSqlTool from vanna.integrations.sqlite import SqliteRunner from vanna.integrations.anthropic import AnthropicLlmService tools ToolRegistry() tools.register(RunSqlTool(sql_runnerSqliteRunner(Chinook.sqlite))) agent Agent(llm_serviceAnthropicLlmService(), tool_registrytools) user User(idu1, usernamealice, permissions[]) async for comp in agent.send_message( useruser, message列出数据库里所有的表, conversation_idc1): print(comp)跑完你会在终端依次看到思考进度、生成的 SQL 代码块、查询结果表最后是一段自然语言总结。整个过程里 LLM 并没有背下你的库而是一次次调用 run_sql 工具。为什么生成的 SQL 比裸大模型靠谱它解决大模型不知道你的表长什么样的问题做法是训练 检索两段式先把建表 DDL、字段文档、参考 SQL 语句生成嵌入存进向量库提问时按语义搜出最相关的表和示例拼进提示词再让模型写 SQL。表越多、业务黑话越重这一步收益越大——只把 schema 丢给模型裸跑和喂了上下文示例再跑准确率差距在仓库的论文报告里有实测对比可看 papers/ai-sql-accuracy-2023-08-17.md。别问向量检索细节问就是黑盒你只需要把 DDL 和常跑的 SQL 喂给它训练。让不同角色看到不同数据这是 Vanna 2.0 相对 1.x 最实际的改动用户身份贯穿系统提示词、工具执行、SQL 结果三层。你只需要实现一个 UserResolver从 JWT 或 cookie 里解析出用户和所属组class MyUserResolver(UserResolver): async def resolve_user(self, request_context): data self.decode_jwt(request_context.get_header(Authorization)) return User(iddata[id], emaildata[email], group_membershipsdata[groups])group_memberships是权限的钥匙工具按组做访问检查没权限的工具对该用户直接不可见SQL 工具按用户权限做行级过滤管理员才看得到 SQL 代码块每次查询还会留下审计记录。按用户限流、配额控制则挂在生命周期钩子上钩子基类在 src/vanna/core/lifecycle/base.py。走查一遍 接进现有网站后端用 FastAPI 时把 Vanna 的聊天路由注册到你已有的 app 上就得到一个/api/vanna/v2/chat_sse流式端点。前端一行搞定支持 React、Vue 或原生 HTMLvanna-chat sse-endpoint/api/vanna/v2/chat_sse/vanna-chat之后用户体验是问一句按销售额给我 Top 10 客户页面先流式显示处理进度然后出现可交互的数据表最后跟一张 Plotly 柱状图。仓库里这张图就是可视化工具对 Chinook 示例库跑出来的产出边界什么场景合适什么场景别用它适合内部数据分析入口、多租户 SaaS 的按身份过滤数据、以及已有认证体系想快速挂一个聊天查数界面的团队。不太适合的超复杂多表关联报表准确率取决于你训练的示例质量业务语义越重越要喂足够的参考 SQL高并发在线服务每次提问都现场生成并执行 SQL不是预编译查询以及只想要个聊天框、不想维护 Python 服务的场景——前端组件再省后端 Agent 服务还是得你自己跑。具体支持哪些数据库和 LLM看 src/vanna/integrations/ 目录下的集成清单。如果你从 0.x 升级先读 MIGRATION_GUIDE.md 里的 LegacyVannaAdapter 过渡方案。【免费下载链接】vanna Chat with your SQL database . Accurate Text-to-SQL Generation via LLMs using Agentic Retrieval .项目地址: https://gitcode.com/GitHub_Trending/va/vanna创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/27 13:51:23

AGENTS.md 入门指南:给 AI 编码助手立规矩,只需一个文件

AGENTS.md 入门指南:给 AI 编码助手立规矩,只需一个文件 【免费下载链接】agents.md AGENTS.md — a simple, open format for guiding coding agents 项目地址: https://gitcode.com/GitHub_Trending/ag/agents.md 你大概率遇到过这种场面&#…

2026/10/28 17:08:02

AI论文平台评测:提升学术写作效率的8大工具

1. 项目概述:AI论文平台如何改变学术写作生态作为一名经历过论文煎熬期的过来人,我深刻理解学生们面对毕业论文时的焦虑。去年指导表弟写本科论文时,偶然发现现在AI论文工具已经发展到可以真正提升学术写作效率的阶段。经过半年时间实测8个主…

2026/10/28 17:08:02

二叉树算法解析:从基础遍历到LeetCode Hot100实战

1. 二叉树基础与Hot100算法概述二叉树作为数据结构领域的核心基础,在算法面试和实际工程中占据着不可替代的地位。最近在整理LeetCode Hot100题目时,我发现二叉树相关题目出现频率极高,几乎每10道经典题中就包含2-3道二叉树问题。这促使我系统…

2026/10/28 17:08:02

Windows注册表修改:查找系统设置对应项的方法

1. 为什么需要查找系统设置对应的注册表项作为一名Windows系统管理员,我经常遇到需要批量修改系统配置的场景。图形界面设置虽然直观,但在以下三种情况下直接操作注册表会更高效:需要批量部署相同配置到多台电脑时某些隐藏的高级设置没有提供…

2026/10/28 17:08:02

二叉树算法精解:Hot100高频题与工程实践

1. 二叉树基础与Hot100算法题解析二叉树作为数据结构领域的常青树,在算法面试中出现的频率高达75%以上。最近在整理LeetCode Hot100榜单时,我发现前50题中有18道直接考察二叉树操作,这个比例在各类数据结构中遥遥领先。本文将结合高频考题&am…

2026/10/28 17:03:01

蓝桥杯Python组备考:真题刷题顺序与高频题型避坑指南

简介:面向Python方向蓝桥杯备赛的完整资料合集,涵盖历年真题及解析、模拟题题库、知识点思维导图等,适合备战蓝桥杯及NOC等竞赛的考生和指导教师。包内共2000个文件,包含in/out测试数据、Python与C源码、Word/PDF文档、PPT课件及压…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑