当前位置:   article > 正文

7.3K Stars!Text2SQL还不够?试试更精准的RAG2SQL开源工具_vanna.ai如何注册

vanna.ai如何注册

SQL 是查询数据库的关键,但如何高效地构建满足个人需求的 SQL 语句呢?随着 AI 大模型的进步,我们现在已经拥有了 Text2SQL 的技术,这一技术已被多款产品广泛应用。
今天,我们要向大家介绍一个开源项目—Vanna。它在 Text2SQL 的基础上进行了升级,融入了 RAG 技术以进一步提升准确度,使得 SQL 生成更为精准和智能。
在这里插入图片描述

Vanna 介绍

Vanna 是一个开源的基于大模型和 RAG 的 Text2SQL 工具,Vanna 通过结合RAG 框架、大语言模型、高质量的训练数据、持续优化能力、广泛的数据库支持以及开源定制化的特点,实现了在复杂数据集上的高精度表现。

使用 Vanna 可以使用任何的大模型、任何的向量数据库、任何的前端,和任何的关系数据库交互。

在这里插入图片描述
Vanna 的工作流程如下所示:
在这里插入图片描述
Vanna 的工作分为两个简单步骤:首先,在您的数据上训练一个 RAG “模型”,然后提出问题,系统将返回 SQL 查询,这些查询可以被设置为在您的数据库上自动运行。

  • 第一、在您的数据上训练一个 RAG “模型”。

  • 第二、提出问题(Prompt)。
    在这里插入图片描述
    Vanna 提供三种灵活的模式,以满足不同用户的需求。

  • 开源模式
    在这种模式下,你可以自由地集成你偏爱的任何大语言模型,实现高度的个性化定制。
    就像是在玩积木,随心所欲地搭建你的数据世界。

  • 免费模式
    我们提供有限额度的大模型使用和免费的存储空间。
    利用 GPT 3.5 的强大功能,你无需任何费用即可开始你的数据探索之旅。

  • 付费模式
    如果你需要更强大的功能和更高的灵活性,我们将提供无限制的使用权限,包括 GPT-4 的支持以及优质的服务保障。
    在这里插入图片描述

如何使用 Vanna ?

你可以从多个途径开始使用 Vanna,包括:Jupyter Notebook、Slackbot、Web 应用或 Streamlit等。同时,您也可以轻松地将 Vanna集成到您自己的Web 应用中。

如果您只是希望快速体验一下 Vanna 的功能,我们提供了已经训练好的在线大模型和配套的向量数据库供您使用。而最简单快捷的体验方式,就是通过 Colab notebook 来感受 Vanna 的独特魅力。
在这里插入图片描述
要使用 Vanna,您需要先注册一个 Vanna 账号(https://vanna.ai/),以便获取必要的 API 密钥。

在这里插入图片描述

# 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, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        OpenAI_Chat.__init__(self, config=config)

vn = MyVanna(config={'api_key': 'sk-...', 'model': 'gpt-4-...'})

# See the documentation for other options
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

接下来我们来做一个案例演示

第一步、提问

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

第二步、得到生成的 SQL

SELECT c.c_name as customer_name,
        sum(l.l_extendedprice * (1 - l.l_discount)) as total_sales
FROM   snowflake_sample_data.tpch_sf1.lineitem l join snowflake_sample_data.tpch_sf1.orders o
        ON l.l_orderkey = o.o_orderkey join snowflake_sample_data.tpch_sf1.customer c
        ON o.o_custkey = c.c_custkey
GROUP BY customer_name
ORDER BY total_sales desc limit 10;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第三步、数据库执行返回结果

在这里插入图片描述
第四步、得到一个自动生成的图表
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/959952
推荐阅读
相关标签
  

闽ICP备14008679号