文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

RAG做SQL生成处理表格,一个10.1k※的开源工具Vanna

2024-11-29 20:30

关注

这个仓库名为Vanna,是一个开源项目,它是一个基于Python的RAG(Retrieval-Augmented Generation,检索增强型生成)框架,专门用于SQL生成和相关功能。以下是该项目的主要特点和功能:

项目介绍

开源许可:Vanna是在MIT许可下发布的,这意味着它可以自由地被用于商业和非商业项目。

框架目的:它旨在通过使用大型语言模型(LLMs)来生成准确的SQL查询,这些查询可以自动运行在用户的数据库上。

图片

运行流程图

图片

工作原理:Vanna的工作分为两个简单的步骤:

图片

用户界面:项目提供了一些使用Vanna构建的用户界面示例,包括Jupyter Notebook、Streamlit、Flask和Slack集成,用户可以按原样使用或作为自定义界面的起点。

环境搭建

运行所需要的依赖环境:

pip install vanna

模型加载

配置模型也非常简单:

# The import statement will vary depending on your LLM and vector database. This is an example for 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, cnotallow=None):
        ChromaDB_VectorStore.__init__(self, cnotallow=config)
        OpenAI_Chat.__init__(self, cnotallow=config)


vn = MyVanna(cnotallow={'api_key': 'sk-...', 'model': 'gpt-4-...'})
# 使用自己的模型
# vn = MyVanna(cnotallow={'path': '/path/to/chromadb'})

模型训练

添加参考数据向量化和入库,用于检索混合加入prompt. Vanna可以通过DDL语句、文档和SQL查询来训练,这有助于模型理解数据库的结构和业务术语。

添加DDL语句:

vn.train(ddl="""
    CREATE TABLE IF NOT EXISTS my-table (
        id INT PRIMARY KEY,
        name VARCHAR(100),
        age INT
    )
""")

添加文档:

vn.train(documentatinotallow="Our business defines XYZ as ...")

添加SQL语句:

vn.train(sql="SELECT name, age FROM my-table WHERE name = 'John Doe'")

提问和生成SQL:用户可以向训练好的模型提问,模型将生成相应的SQL查询代码。

vn.ask("What are the top 10 customers by sales?")

RAG与微调(Fine-Tuning):Vanna使用RAG技术而不是传统的微调,这使得它在跨不同LLMs的可移植性、数据更新的便捷性、运行成本和未来适应性方面具有优势。

为什么选择Vanna

  1. 在复杂数据集上具有高精度。
  1. 安全且私密。
  1. 自学习。
  1. 支持任何 SQL 数据库。
  1. 随意选择前端。

    6. 扩展性:

# 项目地址
https://hub.yzuu.cf/vanna-ai/vanna
# 仓库文档
https://vanna.ai/docs/postgres-openai-standard-other-vectordb/


来源:哎呀AIYA内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯