8.8K+ Star!Vanna:一款开源的Python框架,利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询

项目简介

Vanna[1] 一款开源的Python框架,它利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询。

Vanna AI以其高准确性、安全性和私密性,支持任何SQL数据库,并且用户可以自定义前端界面。

无论是通过Jupyter Notebook快速开始,还是通过Streamlit、Flask或Slack等自定义界面进行深度集成,Vanna AI都能轻松与数据库进行智能对话。

8.8K+ Star!Vanna:一款开源的Python框架,利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询

项目特点

主要优势

  • 高精度:Vanna 能够根据训练数据的多少提供高精度的 SQL 生成。
  • 安全性和隐私性:数据库内容不会发送到 LLM 或向量数据库,SQL 执行在本地环境中进行。
  • 自学习能力:可以通过用户反馈自我学习,提高未来查询的准确性。
  • 支持任何 SQL 数据库:可以连接到任何可以通过 Python 连接的 SQL 数据库。
  • 自定义前端:可以从 Jupyter Notebook 开始,也可以通过 Slackbot、Web 应用、Streamlit 应用或自定义前端展示给最终用户。

使用场景

  • 数据分析:用户可以通过自然语言查询来获取数据报告和分析结果。
  • 数据库管理:数据库管理员可以使用 Vanna 快速生成 SQL 语句,管理数据库。
  • 自动化任务:自动化脚本或应用程序可以通过 Vanna 生成的 SQL 语句与数据库交互。
  • 教育和学习:作为学习 SQL 和数据库概念的工具,帮助理解自然语言到 SQL 的转换过程。

使用方法

8.8K+ Star!Vanna:一款开源的Python框架,利用检索增强生成(RAG)技术,将自然语言转换为精准的SQL查询

安装使用

  1. 安装 Vanna
pip install vanna
  1. 导入 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-...'})
  1. 训练 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 ...")
  1. 提问并获取 SQL使用 Vanna 提出问题,获取相应的 SQL 查询语句:
sql = vn.ask("What are the top 10 customers by sales?")
  1. 执行 SQL 并获取结果将生成的 SQL 语句在数据库上执行,获取结果。如果连接了数据库,Vanna 还可以自动返回表格和图表。

扩展 Vanna

Vanna 设计用于连接任何数据库、LLM 和向量数据库。可以通过继承 VannaBase[2] 抽象基类来扩展 Vanna,使用自己的 LLM 或向量数据库。

更多资源

  • 完整文档[3]
  • 官方网站[4]
  • Discord 支持群组[5]

注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。

欢迎关注&点赞&在看,感谢阅读~


资源列表
[1]

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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!