什么是 Vanna AI
在企业数据分析场景中,一个长期存在的痛点是:非技术用户需要依赖数据团队才能获取报告。从提出需求到收到分析结果,往往需要数天等待,数据团队被琐碎的查询请求缠身,无法专注于高价值的分析工作。与此同时,直接向业务人员开放数据库访问又面临极高的安全风险——难以控制数据权限、无法审计操作记录、合规要求难以满足。
Vanna AI 正是为解决这一矛盾而设计的开源 SQL Agent 框架。它让非技术用户能够通过自然语言直接查询数据库,无需编写 SQL 代码,也不必依赖数据团队中转。Vanna 基于大型语言模型(LLM)构建,将用户的自然语言问题转换为精确的 SQL 查询并执行,返回用户可理解的数据结果。
作为完全开源的项目,Vanna 不存在供应商锁定问题,企业可以根据自身需求选择自托管或使用官方托管服务。目前已被 Apple、NVIDIA、Tesla、Samsung 等知名企业采用,并与 Microsoft Azure SQL Database 达成官方集成——Azure SQL 产品经理亲自背书这一合作为其企业级可信度提供了有力佐证。
- 开源 SQL Agent 框架,非技术用户可通过自然语言查询数据库
- 基于 LLM 实现自然语言转 SQL,支持多轮对话
- Tool Memory 机制通过向量数据库存储交互模式,持续学习和优化
- 支持 SQLite、PostgreSQL、MySQL、Snowflake、BigQuery 等主流数据库
- 细粒度访问控制确保数据安全,满足企业合规需求
Vanna AI 的核心功能
自然语言转 SQL
Vanna 的核心能力是将用户的自然语言问题转换为可执行的 SQL 语句。技术实现上,系统首先读取目标数据库的 schema 信息(包括表结构、字段类型、外键关系等),将这些元数据作为上下文提供给 LLM。LLM 理解用户意图后,生成对应的 SQL 查询并执行,返回结果。这一过程对用户完全透明——业务人员只需用日常语言提问,如“上月销售额最高的产品类别是什么”,系统即可自动完成理解和查询。
Tool Memory 智能学习
Vanna 的独特创新在于其 Tool Memory 机制。每次用户提出问题并获得正确答案后,这一成功的交互模式会被存储到向量数据库中。随着时间推移,系统积累了大量的 SQL 查询模式和工具使用示例。当相同或相似的问题再次出现时,Vanna 可以基于历史经验提供更快、更准确的响应。这种学习能力是自动的,无需人工干预或额外训练——系统越用越聪明,查询准确率随时间持续提升。
细粒度访问控制
企业级应用中,数据权限管理至关重要。Vanna 实现了贯穿整个系统的权限控制机制:不同用户可以配置不同的数据访问权限,这些权限规则会流经整个查询流程。当 LLM 生成 SQL 时,系统自动在查询中注入权限过滤条件,确保用户只能看到其权限范围内的数据。这一机制特别适合多部门协作的企业场景,例如销售部门只能看到销售数据,财务部门只能访问财务信息,彼此隔离且互不影响。
多数据库支持
Vanna 提供了统一的数据库抽象层,支持主流 SQL 数据库的连接和查询,包括 SQLite、PostgreSQL、MySQL、Snowflake、BigQuery 等。这意味着企业可以连接所有记录系统,通过一个统一的入口实现跨数据库查询,打破数据孤岛。
多 LLM 提供商
为了满足不同用户在隐私、成本、性能方面的多样化需求,Vanna 支持多种 LLM 提供商:OpenAI(GPT 系列)、Anthropic(Claude 系列)、Google Gemini,以及 Ollama(支持本地部署)。对于数据敏感的企业,Ollama 允许完全本地化的 LLM 部署,确保数据不出网络边界。
可观测性与追踪
Vanna 提供 Admin Dashboard,运维团队可以实时监控 Agent 的行为和性能指标,包括查询响应时间、成功率、用户活跃度等。这些可观测性数据帮助团队及时发现问题、优化体验。
审计日志
对于金融、医疗等合规要求严格的行业,Vanna 提供完整的审计日志功能。所有查询和操作都会被记录,包括查询内容、执行时间、返回结果等,满足监管机构的审计要求。
- 完全开源:代码透明,可自托管,无供应商锁定风险
- 多数据库支持:统一抽象层支持所有主流 SQL 数据库
- 多 LLM 选择:云端(OpenAI/Anthropic/Gemini)或本地部署(Ollama)
- Tool Memory 机制:越用越聪明,持续优化查询准确率
- 企业级安全:细粒度访问控制 + 完整审计日志
- 需要数据库访问权限:部署时需要配置数据库连接凭证
- 依赖 LLM API:查询质量受限于所选 LLM 的能力
- 学习曲线:需要理解基本概念(schema 训练、向量数据库)才能高效使用
谁在使用 Vanna AI
非技术员工自助数据分析
这是 Vanna 最典型的使用场景。业务人员无需等待数据团队的排期,直接用自然语言向 Vanna 提问即可获得数据答案。例如,市场经理可以问“本季度各渠道的获客成本对比”,系统立即返回包含渠道名称和成本数据的表格。这种自助式数据分析大幅提升了业务效率,让数据团队从琐碎的查询请求中解放出来,专注于高价值的分析工作。
跨系统数据查询
企业中通常存在多个业务系统(ERP、CRM、财务系统等),数据分散在不同的数据库中,形成数据孤岛。Vanna 可以同时连接所有这些系统,作为统一的数据查询入口。用户无需关心数据存储在哪个系统,只需用自然语言描述需求,Vanna 自动在多个数据库中查询并整合结果,提供全局视图。
数据安全合规查询
直接开放数据库访问权限给业务用户存在严重的安全隐患,而传统方案又难以兼顾效率和安全。Vanna 作为中间层,封装了数据访问逻辑,只返回用户权限范围内的结果。所有查询都有记录,可追溯、可审计,完美满足金融、医疗等行业的合规要求。
客户自助服务
企业可以为客户构建专属的 AI 代理,让客户自助查询自己的订单、账户余额、订阅状态等信息。这种自助服务模式大幅减少了客服团队的工作量,同时提升了客户体验——7×24 小时随时可用,响应即时。
数据分析培训
对于新入职的员工,学习 SQL 通常需要较长时间。Vanna 提供了平滑的过渡方案:员工可以先用自然语言进行数据分析,在使用过程中理解数据结构和业务含义,当对数据有了直观认识后再学习 SQL。这种方式显著降低了学习曲线,让培训周期大幅缩短。
金融、医疗等合规要求严格的行业用户,优先关注审计日志功能;注重数据主权的企业建议选择 Enterprise 部署选项,支持 on-prem 私有云部署,确保数据完全自主可控。
快速开始
环境准备
使用 Vanna 前需要准备以下环境:Python 3.8+ 运行环境、目标数据库的连接信息(支持 SQLite、PostgreSQL、MySQL、Snowflake、BigQuery)、以及 LLM API 密钥(OpenAI、Anthropic、Google Gemini 任选其一,生产环境推荐使用 Ollama 本地部署以保护数据隐私)。
安装方式
通过 pip 可快速安装 Vanna:
pip install vanna
或克隆 GitHub 仓库获取最新版本:
git clone https://github.com/vanna-ai/vanna.git
最小可用示例
以下是连接数据库、训练模型、自然语言提问并获取结果的最简代码示例:
from vanna.openai import OpenAI_Chat
from vanna.vannadb import VannaDB_VectorStore
from vanna.sql import SQLite
# 1. 配置 LLM 和向量数据库
vn = SQLite()
vn = VannaDB_VectorStore(
model='my_model',
api_key='your-vanna-api-key'
)
vn.connect_to_sqlite('path/to/your/database.db')
# 2. 训练模型(读取数据库 schema)
vn.train()
# 3. 自然语言提问
question = "上个月销售额最高的产品类别是什么?"
sql = vn.generate_sql(question)
print(f"生成的SQL: {sql}")
# 4. 执行查询并获取结果
result = vn.run_sql(sql)
print(f"查询结果: {result}")
接入官方文档
完整的接入指南、最佳实践、API 参考文档可在官方文档站点获取:https://vanna.ai/docs。文档包含详细的数据库连接配置、LLM 提供商选择、权限控制设置、部署方案等章节。
- 数据隐私敏感场景:建议使用 Ollama 本地部署 LLM,数据全程不出网络边界
- 多用户场景:务必配置细粒度访问控制,确保各用户只能访问授权范围内的数据
- 规模化部署:生产环境建议使用 PostgreSQL 或 MySQL 作为向量数据库,配合 Enterprise 版的高级功能
Vanna AI 的定价方案
Vanna 采用开源核心 + 付费增值的定价模式,满足从个人开发者到大型企业的全谱系需求。所有层级使用相同的核心框架,开源版本完全免费,付费版本提供更多企业级功能和支持。
| 方案 | 价格 | 核心功能 | 适合人群 |
|---|---|---|---|
| Explorer | $50/月 | 20次问题/天、基础支持、Admin Dashboard | 个人探索者、小型项目、原型验证 |
| Team | $500/月 | 300次问题/天、优先支持、细粒度访问控制、审计日志 | 中等规模团队、需要多用户协作的组织 |
| Enterprise | 自定义定价 | 无限问题、SAML SSO、on-prem 部署、定制化 SLA、专属支持 | 大型企业、对数据主权有要求、安全合规严格的组织 |
各方案详细说明
Explorer($50/月):适合个人开发者或小团队进行技术探索和概念验证。每日可提问 20 次,包含基础的 Admin Dashboard 和邮件支持功能。
Team($500/月):面向需要团队协作的中等规模组织。每日 300 次提问额度,开放细粒度访问控制和完整审计日志,享有优先支持响应。
Enterprise(自定义):根据企业具体需求定制,包括部署方式(SaaS/VPC/私有云/on-prem)、SLA 保障级别(99.9%/99.99%)、技术支持方式(标准/优先/专属客户成功经理)等。
年付折扣
所有付费方案均支持年付,选择年付可享受 20% 折扣。可通过联系销售团队或在 checkout 页面选择年付选项。
升级路径
所有层级使用相同核心框架,从开源版到付费版、从 Explorer 到 Team 再到 Enterprise,均可无缝升级,无需重写代码或重新配置。
常见问题
超出每日限制怎么办?
每日限额在 24 小时后自动重置。超出限制后系统会进行限流,直到限额重置为止。如需更高配额,可随时联系销售团队升级到更高方案。
可以从开源版升级到付费版吗?
可以。所有层级使用相同的核心框架,开源版和付费版之间可以无缝升级,无需重写代码或重新配置。只需在控制台中选择升级方案即可。
企业版定价如何?
Enterprise 方案根据具体需求定制,包括部署方式(SaaS/VPC/私有云/on-prem)、SLA 要求(99.9%/99.99%)、支持级别(标准/优先/专属客户成功经理)等。请联系销售团队获取详细报价。
有年付折扣吗?
有。年付所有付费方案均可享受 20% 折扣,可在 checkout 页面选择年付选项或联系销售团队办理。
支持哪些 LLM 提供商?
Vanna 支持主流 LLM 提供商:Anthropic(Claude 系列)、OpenAI(GPT 系列)、Google Gemini,以及 Ollama(支持本地部署)。可根据隐私需求、成本预算、性能要求灵活选择。
支持哪些数据库?
Vanna 支持所有主流 SQL 数据库:SQLite、PostgreSQL、MySQL、Snowflake、BigQuery,以及通过 ODBC/JDBC 连接的其他数据库。企业可根据现有架构灵活接入。
Vanna AI
将自然语言转换为 SQL 查询的 AI 代理框架


评论