项目简介
Vanna[1] 一款开源的Python框架,它利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询。
Vanna AI以其高准确性、安全性和私密性,支持任何SQL数据库,并且用户可以自定义前端界面。
无论是通过Jupyter Notebook快速开始,还是通过Streamlit、Flask或Slack等自定义界面进行深度集成,Vanna AI都能轻松与数据库进行智能对话。

项目特点
主要优势
-
高精度:Vanna 能够根据训练数据的多少提供高精度的 SQL 生成。 -
安全性和隐私性:数据库内容不会发送到 LLM 或向量数据库,SQL 执行在本地环境中进行。 -
自学习能力:可以通过用户反馈自我学习,提高未来查询的准确性。 -
支持任何 SQL 数据库:可以连接到任何可以通过 Python 连接的 SQL 数据库。 -
自定义前端:可以从 Jupyter Notebook 开始,也可以通过 Slackbot、Web 应用、Streamlit 应用或自定义前端展示给最终用户。
使用场景
-
数据分析:用户可以通过自然语言查询来获取数据报告和分析结果。 -
数据库管理:数据库管理员可以使用 Vanna 快速生成 SQL 语句,管理数据库。 -
自动化任务:自动化脚本或应用程序可以通过 Vanna 生成的 SQL 语句与数据库交互。 -
教育和学习:作为学习 SQL 和数据库概念的工具,帮助理解自然语言到 SQL 的转换过程。
使用方法

安装使用
-
安装 Vanna
pip install vanna
-
导入 Vanna根据使用的 LLM 和向量数据库,导入相应的模块。例如,使用 OpenAI 和 ChromaDB:
from vanna.openai.openai_chat import OpenAI_Chat
from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore
class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
def __init__(self, config=None):
ChromaDB_VectorStore.__init__(self, config=config)
OpenAI_Chat.__init__(self, config=config)
vn = MyVanna(config={'api_key': 'sk-...', 'model': 'gpt-4-...'})
-
训练 Vanna根据需要,使用 DDL 语句、文档或 SQL 语句来训练 Vanna:
vn.train(ddl="CREATE TABLE IF NOT EXISTS my-table (...)")
vn.train(documentation="Our business defines XYZ as ...")
vn.train(sql="SELECT * FROM my-table WHERE ...")
-
提问并获取 SQL使用 Vanna 提出问题,获取相应的 SQL 查询语句:
sql = vn.ask("What are the top 10 customers by sales?")
-
执行 SQL 并获取结果将生成的 SQL 语句在数据库上执行,获取结果。如果连接了数据库,Vanna 还可以自动返回表格和图表。
扩展 Vanna
Vanna 设计用于连接任何数据库、LLM 和向量数据库。可以通过继承 VannaBase[2] 抽象基类来扩展 Vanna,使用自己的 LLM 或向量数据库。
更多资源
-
完整文档[3] -
官方网站[4] -
Discord 支持群组[5]
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
欢迎关注&点赞&在看,感谢阅读~
Github 项目地址: https://github.com/vanna-ai/vanna
[2]
VannaBase: https://github.com/vanna-ai/vanna/blob/main/src/vanna/base/base.py
[3]
完整文档: https://vanna.ai/docs/
[4]
官方网站: https://vanna.ai
[5]
Discord 支持群组: https://discord.gg/qUZYKHremx
原文始发于微信公众号(AIGC创想者):8.8K+ Star!Vanna:一款开源的Python框架,利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/315388.html