发布时间:2026/9/5 21:31:22
不写 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/9/5 21:31:22

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/9/5 22:26:26

AI操作游戏引擎:MCP工具链从Unity到Unreal实战指南

2026年第一季度,我做得最多的一件事,居然不是手写C#,也不是调整Shader,而是同时开着Unity Editor和Claude窗口,像给实习生派活一样,用自然语言把编辑器操作一件一件交代下去。从“把场景里所有带Collider的…

2026/9/5 22:26:26

faster-whisper:基于 CTranslate2 的高速 Whisper 语音识别实现

faster-whisper:基于 CTranslate2 的高速 Whisper 语音识别实现 【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper faster-whisper 是用 CTranslate2 重写的…

2026/9/5 22:21:26

3步把 Windows 11 任务栏和开始菜单换回经典样式

3步把 Windows 11 任务栏和开始菜单换回经典样式 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 任务栏图标全挤在屏幕中间,开始菜…

2026/9/5 2:46:54

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/5 2:46:52

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/5 2:44:34

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/5 0:04:47

流式背压机制:避免前端渲染卡死与内存暴涨的滑动窗口限流

流式背压机制:避免前端渲染卡死与内存暴涨的滑动窗口限流在大模型流式输出(Streaming)与智能体实时推流的架构中,生产环境中经常出现一种“上下游生产消费速率严重失衡”的极端情况: 生产端极速产出:大模型…

2026/9/5 2:45:13

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/5 2:46:50

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…