TEXT2SQL-顶峰:Vanna部署及介绍

这篇具有很好参考价值的文章主要介绍了TEXT2SQL-顶峰:Vanna部署及介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vanna

Vanna 是一款采用 MIT 许可的开源 Python RAG (检索增强生成)框架,用于生成 SQL 语句和相关功能。

vanna用的什么数据库,大模型专刊,sql,llama如何使用 Vanna

Vanna 的使用分为两个简单步骤 - 在你的数据上训练一个 RAG "模型",然后提出问题,该问题将返回可设置为自动在你的数据库上运行的 SQL 查询。

1.在你的数据上训练一个 RAG "模型"

2.提问

如果你不知道什么是 RAG,不用担心 -- 你不需要知道这是如何在底层工作的。你只需要知道你需要“训练”一个模型,它会存储一些元数据,然后你可以用它来“提问”。

关于RAG的相关知识可以参考:生成式人工智能-rag的全面介绍文献资源-CSDN文库

用户界面

这些是我们使用 Vanna 构建的一些用户界面。你可以直接使用这些界面,或者作为你自己定制界面的起点。

•Jupyter Notebook[2]

•vanna-ai/vanna-streamlit[3]

•vanna-ai/vanna-flask[4]

•vanna-ai/vanna-slack[5]

入门

具体内容请参见文档[6],了解有关你想要的数据库、LLM 等的具体信息。

如果你想在训练后了解它是如何工作的,你可以尝试这个Colab 笔记本[7]。

安装

pip install vanna

有许多可选的包可以安装,具体请参见文档了解更多细节。

导入

如果你正在定制 LLM 或向量数据库,请参见文档。

import vanna as vn

训练

根据您的具体用例,您可能需要或不需要运行这些 vn.train 命令。更多细节请参阅文档[8]。

这些说明旨在让您了解其工作原理。

vanna用的什么数据库,大模型专刊,sql,llama

 

你可以选择VANNA提供的API、Openai等模型,甚至支持你本地自身的模型。以及多种向量库,向量库相关信息可以参考其他博主,我只在使用还没进行更深入开发。

vanna用的什么数据库,大模型专刊,sql,llama

使用本地的模型,最近在尝试写。当有进展的时候会继续更新。

使用 DDL 语句训练

DDL 语句包含有关你的数据库中表名、列、数据类型和关系的信息。

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

使用文档训练

有时你可能想要添加有关你的业务术语或定义的文档。

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

使用 SQL 训练

你还可以向你的训练数据中添加 SQL 查询。这在你已经有一些查询并希望直接从编辑器中复制粘贴以生成新的 SQL 时非常有用。

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

提问

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

如果你连接到了数据库,你将得到以下表格:

CUSTOMER_NAME TOTAL_SALES
0 Customer#000143500 6757566.0218
1 Customer#000095257 6294115.3340
2 Customer#000087115 6184649.5176
3 Customer#000131113 6080943.8305
4 Customer#000134380 6075141.9635
5 Customer#000103834 6059770.3232
6 Customer#000069682 6057779.0348
7 Customer#000102022 6039653.6335
8 Customer#000098587 6027021.5855
9 Customer#000064660 5905659.6159

你还会得到一个自动生成的 Plotly 图表:[9]

vanna用的什么数据库,大模型专刊,sql,llama

RAG 与精调 (Fine-Tuning) 对比

RAG:

•可以跨 LLM 使用•容易移除过时的训练数据•运行成本比精调低得多•更具未来性 -- 如果出现更好的 LLM,你可以直接替换

精调 (Fine-Tuning):

•如果你需要在提示中最小化令牌数量,这是个好选择•开始使用较慢•训练和运行成本较高(通常情况下)

为什么选择 Vanna?

vanna用的什么数据库,大模型专刊,sql,llama

1.在复杂数据集上的高准确性。•Vanna 的能力与你提供的训练数据相关•更多的训练数据意味着在大型和复杂的数据集上有更好的准确性2.安全且私密。•你的数据库内容永远不会发送给 LLM 或向量数据库•SQL 执行发生在你的本地环境中3.自我学习。•如果通过 Jupyter 使用,你可以选择在成功执行的查询上“自动训练”•如果通过其他界面使用,你可以让界面提示用户对结果提供反馈•正确的问题到 SQL 对会被存储以供将来参考,使未来的结果更加准确4.支持任何 SQL 数据库。•该包允许你连接到任何你可以通过 Python 连接的 SQL 数据库5.选择你的前端。•大多数人从 Jupyter 笔记本开始。•通过 Slackbot、Web 应用、Streamlit 应用或自定义前端向你的最终用户展示。

扩展 Vanna

Vanna 设计用于连接任何数据库、LLM 和向量数据库。有一个 VannaBase 抽象基类定义了一些基本功能。该包提供了与 OpenAI 和 ChromaDB 一起使用的实现。你可以轻松地扩展 Vanna 以使用你自己的 LLM 或向量数据库。更多细节请参见文档[10]。

引用

更多信息请参考:https://github.com/vanna-ai/vanna

References

[1] 基类: https://github.com/vanna-ai/vanna/blob/main/src/vanna/base/base.py
[2] Jupyter Notebook: https://github.com/vanna-ai/vanna/blob/main/notebooks/getting-started.ipynb
[3] vanna-ai/vanna-streamlit: https://github.com/vanna-ai/vanna-streamlit
[4] vanna-ai/vanna-flask: https://github.com/vanna-ai/vanna-flask
[5] vanna-ai/vanna-slack: https://github.com/vanna-ai/vanna-slack
[6] 文档: https://vanna.ai/docs/
[7] Colab 笔记本: https://colab.research.google.com/github/vanna-ai/vanna/blob/main/notebooks/getting-started.ipynb
[8] 文档: https://vanna.ai/docs/
[9] : https://github.com/vanna-ai/vanna/blob/main/img/top-10-customers.png
[10] 文档: https://vanna.ai/docs/
[11] 完整文档: https://vanna.ai/docs/
[12] 网站: https://vanna.ai/
[13] 支持用的 Discord 群组: https://discord.gg/qUZYKHremx文章来源地址https://www.toymoban.com/news/detail-836717.html

到了这里,关于TEXT2SQL-顶峰:Vanna部署及介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解

    NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理 MindSQL 是一个 Python RAG(检索增强生成)库,旨在仅使用几行代码来简

    2024年04月27日
    浏览(44)
  • NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解[Text2SQL]

    NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理 NL2SQL任务的目标是将用户对某个数据库的自然语言问题转化为相应的

    2024年04月13日
    浏览(41)
  • NLP-语义解析(Text2SQL):技术路线【Seq2Seq、模板槽位填充、中间表达、强化学习、图网络】

      目前关于NL2SQL技术路线的发展主要包含以下几种: Seq2Seq方法: 在深度学习的研究背景下,很多研究人员将Text-to-SQL看作一个类似神经机器翻译的任务,主要采取Seq2Seq的模型框架。基线模型Seq2Seq在加入Attention、Copying等机制后,能够在ATIS、GeoQuery数据集上达到84%的精确匹配,但是在

    2024年02月12日
    浏览(60)
  • LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略

    LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略 目录 Vanna的简介 1、用户界面 2、RAG vs. Fine-Tuning 3、为什么选择Vanna? 4、扩展Vanna Vanna的安装和使用方法 1、安装 2、训练 (1)、使用DDL语句训练 (2)、使用文档训练 (3)、使用SQL训

    2024年01月20日
    浏览(66)
  • ChatGPT论文:大语言模型LLM之战:Dolly、LLaMA 、Vicuna、Guanaco、Bard、ChatGPT--在自然语言转SQL(NL2SQL、Text-to-SQL)的比较(一)

    ChatGPT的成功引发了一场AI竞赛,研究人员致力于开发新的大型语言模型(LLMs),以匹敌或超越商业模型的语言理解和生成能力。近期,许多声称其性能接近GPT-3.5或GPT-4的模型通过各种指令调优方法出现了。作为文本到SQL解析的从业者,我们感谢他们对开源研究的宝贵贡献。然

    2024年02月02日
    浏览(42)
  • stableDiffusionWebui text2imgapi并发作画

    AI绘画火了两年,自己也摸索了一段时间。分享一个知识点,基于开源框架实现并发作画。 基于stableDiffusionWebui 1.0版本,修改以下代码后可以达到并发效果。 在\\\"stable-diffusion-webuimodulesapiapi.py\\\" 文件中找到\\\"text2imgapi\\\"方法,将\\\"# with self.queue_lock:\\\"代码注释掉,即可让text2imgapi实现

    2024年02月11日
    浏览(35)
  • 本地AI text2img生成工具【类似midjourney】

    大家好,今天我要向大家推荐一款无需翻墙即可在本地生成图片的软件。这个软件可以在GitHub上找到。 我们可以点击code下载zip或者通过desktop进行下载。 下载完成后,它会生成一个目录 我们需要在电脑上配置两个环境才能运行这个脚本。 首先,我们需要下载Python 3.10.6,并配

    2024年02月16日
    浏览(48)
  • 深度学习实战9-文本生成图像-本地电脑实现text2img

    大家好,我是微学AI,今天给大家带来一个文本生成图像的案例。让大家都成为艺术家,自己电脑也能生成图片 ,该模型它能让数十亿人在几秒钟内创建出精美的艺术品。在速度和质量方面,都有所突破,这意味着图像生成技术走向大众。 Stable Diffusion模型 包括两个步骤:

    2024年02月09日
    浏览(46)
  • 【医学大模型】Text2MDT :从医学指南中,构建医学决策树

      论文:https://arxiv.org/pdf/2401.02034.pdf 代码:https://github.com/michael-wzhu/text2dt   假设我们有一本医学指南,其中包含关于诊断和治疗某种疾病的指导。 首先,通过标准化和结构化的方法,我们定义出哪些文本片段表示条件判断(例如,病人年龄超过60岁),哪些表示决策(例如

    2024年02月20日
    浏览(40)
  • 98、Text2Room: Extracting Textured 3D Meshes from 2D Text-to-Image Models

    github 利用预训练的2D文本到图像模型来合成来自不同姿势的一系列图像。为了将这些输出提升为一致的3D场景表示,将单目深度估计与文本条件下的绘画模型结合起来,提出了一个连续的对齐策略,迭代地融合场景帧与现有的几何形状,以创建一个无缝网格 随着时间的推移而

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包