Vanna:利用RAG将自然语言转为标准SQL查询
简介
Vanna 一款开源的 Python 框架,它利用检索增强生成(RAG)技术,将自然语言转换为精准的 SQL 查询。
安装使用
安装
-
安装 Vanna
1
pip install vanna
-
导入 Vanna 根据使用的 LLM 和向量数据库,导入相应的模块。例如,使用 OpenAI 和 ChromaDB:
1
2
3
4
5
6
7
8
9from 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:
1
2
3vn.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 查询语句:
1
sql = vn.ask("What are the top 10 customers by sales?")
-
执行 SQL 并获取结果将生成的 SQL 语句在数据库上执行,获取结果。如果连接了数据库,Vanna 还可以自动返回表格和图表。
资源列表
- Github 项目地址: https://github.com/vanna-ai/vanna
- 完整文档: https://vanna.ai/docs
- 官方网站: https://vanna.ai
- Discord 支持群组: https://discord.gg/qUZYKHremx
参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 天澄拾光!
评论
ArtalkGitalk