Vanna
配套媒体
本页对应的 PPT 与演示视频
下载没反应?点这里复制直链
侧边栏预览窗口(Electron webview)会拦截下载,把下面的链接复制到 Chrome / Edge 地址栏打开即可保存。
../../Vanna-recommend.pptx../../Vanna-recommend.mp4本文目录
📌 核心价值:GitHub 23k+ Stars 的开源 Text-to-SQL 框架,RAG + Agentic 检索让准确率突破 85%
还在为业务方反复问"上季度华东区 GMV 多少"而手写 SQL?Vanna 让你用自然语言直接对话数据库,训练一次永久复用。

🚀 什么是 Vanna?
Vanna 是一个 Python 框架,让你用自然语言和 SQL 数据库对话。它使用 RAG(检索增强生成)+ LLM 训练,自动将你的问题转换为准确的 SQL 查询。Vanna-AI 在 GitHub 上斩获 23,606 颗星,被 2,425 个项目 fork,是 Text-to-SQL 领域事实上的开源标准。
核心定位:基于 RAG 的 Agentic 检索 + LLM 无关设计,30+ 模型无缝切换,BIRD 榜准确率领先 30 个百分点
✨ 核心功能一览

🛠️ 快速上手:5 分钟跑通示例
安装
# 基础安装
pip install vanna
# 推荐组合(OpenAI + ChromaDB 向量库)
pip install vanna[openai,chromadb]
核心代码示例
import vanna as vn
# 1. 配置 LLM(支持 OpenAI / Anthropic / Ollama / DeepSeek 等)
vn.set_model("gpt-4o")
# 2. 配置向量数据库(用于 RAG 检索)
vn.set_vector_db("chromadb")
# 3. 连接你的数据库
vn.connect_to_postgres(
host="localhost",
dbname="sales",
user="readonly",
password="xxx",
port="5432"
)
# 4. 用 DDL、文档、历史 SQL 训练 Vanna
vn.train(ddl="""
CREATE TABLE orders (
id INT,
region TEXT,
amount DECIMAL,
created_at TIMESTAMP
);
""")
vn.train(documentation="订单表 orders 中 region 取值为 'east'/'south'/'north'/'west'")
vn.train(question="上季度华东区 GMV", sql="""
SELECT SUM(amount) FROM orders
WHERE region = 'east'
AND created_at >= DATE_TRUNC('quarter', NOW() - INTERVAL '3 months')
AND created_at < DATE_TRUNC('quarter', NOW());
""")
# 5. 用自然语言提问
result = vn.ask("上季度华东区 GMV 多少?")
print(result)
关键:训练数据 = DDL + 业务文档 + 历史 SQL 三件套,缺一不可。Vanna 会将它们向量化存储,提问时自动检索最相关的上下文给 LLM
📊 与竞品对比

💡 适用场景
场景 1:业务团队的"自助分析"助手

功能说明:销售、运营、市场团队不再依赖数据分析师,Vanna 直接对接他们的数据需求。
输入要求:数据库的 DDL(建表语句)、业务术语词典、历史 SQL 范例
输出效果:自然语言问题 → 自动生成可执行 SQL → 返回结构化结果
适用场景:
- 销售总监问"上季度华东区 GMV"
- 运营问"近 7 日 DAU 趋势"
- 市场问"双 11 期间 ROI 最高的 3 个渠道"
场景 2:企业级 BI 的 AI 加持
功能说明:在 Tableau / PowerBI / Metabase 等传统 BI 工具中集成 Vanna,让分析师用自然语言快速生成 Ad-hoc 查询。
输入要求:连接生产只读账号,配合权限控制避免越权
输出效果:BI 仪表盘 + 自然语言"问数"双通道
适用场景:
- 金融行业的合规查询(只读 + 审计日志)
- 电商大促的实时决策支持
- 跨部门数据共享(统一 SQL 知识库)
场景 3:SaaS 产品的"AI 查数"功能
功能说明:把 Vanna 集成到你的 SaaS 产品里,让客户用自己的业务语言查询数据,无需懂 SQL。
输入要求:每个客户独立训练(隔离向量库),敏感列通过元数据标记过滤
输出效果:客户输入"本月新签客户数" → 获得图表 + 原始 SQL
适用场景:
- CRM 系统的客户洞察
- ERP 系统的财务分析
- HR SaaS 的人力分析
用户群体总结
- ✅ 业务团队:从"提需求 → 等排期"到"实时自助分析"
- ✅ 数据分析师:从"重复写 SQL"到"专注复杂建模"
- ✅ 企业 IT 部门:统一的 SQL 知识库,新人快速上手
- ❌ 不适合:OLAP 海量数据(Vanna 主要做轻量级查询)、需要亚秒级响应的实时大屏
💰 定价方案
完全开源、免费商用:
- ✅ 个人使用:免费
- ✅ 企业内部部署:免费(MIT 协议)
- ✅ SaaS 集成:免费(保留署名即可)
- ✅ 二次开发:免费(修改源码不需要授权)
唯一成本:调用 LLM 的 API 费用(GPT-4o 每千次问题约 $1-3)
💡 省钱技巧:用 Ollama + 本地 Llama 3.1 70B,零 API 成本;用 GPT-4o-mini 准确率仍可达 80%
开源协议: MIT
🎯 总结
Vanna 用 RAG + Agentic 检索 重新定义了 Text-to-SQL:不再"凭 LLM 临场发挥",而是"训练一次、永久复用、越用越准"。无论你是想解放业务团队、加速分析师工作流,还是给 SaaS 产品加 AI 能力,Vanna 都是 GitHub 上最成熟的开源方案。
推荐指数: ⭐⭐⭐⭐⭐(满分 5 星)
适合人群: 数据团队、SaaS 开发者、企业 IT 部门、AI 应用集成商
立即体验: Vanna 官方文档
GitHub 仓库: Vanna-AI/Vanna
数据截至 2026-06-15,最新信息请以官网为准。