Text2SQL-03-开源框架Vanna

热门开源Text2SQL框架 Chat2DB 项目地址:https://github.com/chat2db/Chat2DB 简介:Chat2DB是一个通用的SQL客户端和数据分析工具,能够辅助生成SQL,同时支持对话式的数据分析功能,提供了网页、客户端2种使用方式,它支持几乎所有流行的数据库,并且chat2DB还开源了7B的SQL模型。 特性:SQL生成、智能报告、数据探索。 架构: SQL Chat 项目地址:https://github.com/sqlchat/sqlchat 简介:SQL Chat 是一个基于聊天 阅读详情

Text2SQL 开源框架Vanna综合指南

概述

Vanna 是一个开源的 Text2SQL 框架,旨在将自然语言问题转换为 SQL 查询。它利用大型语言模型(LLM)的强大能力,结合数据库模式信息,为用户提供准确的 SQL 查询生成服务。Vanna 支持多种数据库和 LLM,并提供了简单易用的 Python API。

Vanna 编程接口

基本接口

Vanna 提供了简洁的 Python API,主要接口包括:

初始化 Vanna 实例
import vanna
from vanna.remote import VannaDefault

# 使用默认远程实例
vn = VannaDefault(api_key='your-api-key', model='your-model-name')

# 或者使用本地实例
from vanna.local import VannaLocal
vn = VannaLocal(model='your-model-name')
连接数据库
# 连接到 PostgreSQL
vn.connect_to_postgres(host='localhost', dbname='your_db', user='your_user', password='your_password')

# 连接到 MySQL
vn.connect_to_mysql(host='localhost', dbname='your_db', user='your_user', password='your_password')

# 连接到 SQLite
vn.connect_to_sqlite(url='sqlite:///path/to/your/database.db')

# 连接到 SQL Server
vn.connect_to_sql_server(server='your_server', database='your_db', user='your_user', password='your_password')
训练模型
# 使用 DDL 训练
vn.train(ddl="CREATE TABLE customers (id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));")

# 使用文档训练
vn.train(documentation="我们的客户表存储所有客户信息,包括姓名和电子邮件。")

# 使用查询训练
vn.train(question="有多少客户?", sql="SELECT COUNT(*) FROM customers;")
生成 SQL
# 生成 SQL 查询
sql = vn.generate_sql("有多少客户?")
print(sql)

# 直接运行查询
df = vn.run_sql("有多少客户?")
print(df)

# 生成查询并附带可视化
vn.ask("有多少客户?")
高级功能
# 获取查询解释
explanation = vn.generate_explanation(sql, "有多少客户?")

# 获取查询可视化
fig = vn.generate_plotly_code(sql, "有多少客户?")

# 获取查询建议
suggestions = vn.generate_followup_questions("有多少客户?")

# 保存和加载训练数据
vn.save_training_data('training_data.json')
vn.load_training_data('training_data.json')

Vanna 支持的大模型

Vanna 支持多种大型语言模型,包括:

OpenAI 模型

  • GPT-4
  • GPT-4 Turbo
  • GPT-3.5 Turbo

Anthropic 模型

  • Claude 3 Opus
  • Claude 3 Sonnet
  • Claude 3 Haiku

Google 模型

  • Gemini Pro
  • Gemini Pro Vision

开源模型

  • Llama 2
  • Llama 3
  • Mistral
  • Mixtral

本地模型

Vanna 还支持通过 Ollama 等工具运行本地模型:

from vanna.local import VannaLocal
vn = VannaLocal(model='llama2')

自定义模型

Vanna 允许集成自定义的 LLM 端点:

from vanna.custom import VannaCustom
vn = VannaCustom(llm_endpoint='your-custom-endpoint')

Vanna 支持的数据库

Vanna 支持多种主流数据库系统:

关系型数据库

  • PostgreSQL - 完全支持,包括高级功能
  • MySQL - 完全支持
  • SQLite - 完全支持
  • SQL Server - 完全支持
  • Oracle - 基本支持
  • MariaDB - 完全支持

云数据库

  • Amazon RDS (PostgreSQL, MySQL, SQL Server)
  • Google Cloud SQL (PostgreSQL, MySQL, SQL Server)
  • Azure Database (PostgreSQL, MySQL, SQL Server)
  • Snowflake - 完全支持
  • BigQuery - 完全支持
  • Redshift - 基本支持

NoSQL 数据库

  • DuckDB - 完全支持
  • ClickHouse - 基本支持

数据仓库

  • Apache Hive - 基本支持
  • Apache Spark SQL - 基本支持

连接示例

# 连接到不同的数据库
vn.connect_to_postgres(...)
vn.connect_to_mysql(...)
vn.connect_to_sqlite(...)
vn.connect_to_sql_server(...)
vn.connect_to_snowflake(...)
vn.connect_to_bigquery(...)
vn.connect_to_duckdb(...)

Vanna 安装

基本安装

使用 pip 安装 Vanna:

pip install vanna

特定数据库支持安装

根据需要安装特定数据库的连接器:

# PostgreSQL
pip install psycopg2-binary

# MySQL
pip install pymysql

# SQL Server
pip install pyodbc

# Oracle
pip install cx_Oracle

# Snowflake
pip install snowflake-connector-python

# BigQuery
pip install google-cloud-bigquery

# DuckDB
pip install duckdb

完整安装(包含所有依赖)

pip install vanna[all]

开发环境安装

如果需要从源代码安装或参与开发:

git clone https://github.com/vanna-ai/vanna.git
cd vanna
pip install -e .

验证安装

import vanna
print(vanna.__version__)

Vanna 简单示例

示例 1: 基本使用

import vanna
from vanna.remote import VannaDefault

# 初始化 Vanna
vn = VannaDefault(api_key='your-api-key', model='your-model-name')

# 连接到 SQLite 数据库
vn.connect_to_sqlite(url='sqlite:///chinook.db')

# 使用 DDL 训练
vn.train(ddl="""
CREATE TABLE customers (
    CustomerId INT PRIMARY KEY,
    FirstName VARCHAR(40),
    LastName VARCHAR(40),
    Company VARCHAR(80),
    Address VARCHAR(70),
    City VARCHAR(40),
    State VARCHAR(40),
    Country VARCHAR(40),
    PostalCode VARCHAR(10),
    Phone VARCHAR(24),
    Fax VARCHAR(24),
    Email VARCHAR(60),
    SupportRepId INT
);
""")

# 使用文档训练
vn.train(documentation="customers 表存储所有客户信息,包括姓名、地址和联系方式。")

# 生成并执行查询
question = "有多少来自美国的客户?"
sql = vn.generate_sql(question)
print(f"生成的 SQL: {sql}")

# 执行查询
df = vn.run_sql(sql)
print(f"查询结果: {df}")

# 使用 ask 方法一次性完成
vn.ask("有多少来自美国的客户?")

示例 2: 多表查询

import vanna
from vanna.local import VannaLocal

# 初始化本地 Vanna 实例
vn = VannaLocal(model='chinook-model')

# 连接到数据库
vn.connect_to_sqlite(url='sqlite:///chinook.db')

# 训练多个表
vn.train(ddl="""
CREATE TABLE invoices (
    InvoiceId INT PRIMARY KEY,
    CustomerId INT,
    InvoiceDate DATETIME,
    BillingAddress VARCHAR(70),
    BillingCity VARCHAR(40),
    BillingState VARCHAR(40),
    BillingCountry VARCHAR(40),
    BillingPostalCode VARCHAR(10),
    Total DECIMAL(10, 2)
);

CREATE TABLE invoice_items (
    InvoiceLineId INT PRIMARY KEY,
    InvoiceId INT,
    TrackId INT,
    UnitPrice DECIMAL(10, 2),
    Quantity INT
);

CREATE TABLE tracks (
    TrackId INT PRIMARY KEY,
    Name VARCHAR(200),
    AlbumId INT,
    MediaTypeId INT,
    GenreId INT,
    Composer VARCHAR(220),
    Milliseconds INT,
    Bytes INT,
    UnitPrice DECIMAL(10, 2)
);
""")

# 使用文档训练
vn.train(documentation="""
- invoices 表存储客户发票信息
- invoice_items 表存储发票中的具体项目
- tracks 表存储音轨信息
- 可以通过 invoices 和 invoice_items 连接查询客户的购买详情
- 可以通过 invoice_items 和 tracks 连接查询音轨销售情况
""")

# 复杂查询
question = "哪个客户花费最多?请列出客户名称和总金额。"
vn.ask(question)

# 另一个复杂查询
question = "最畅销的5首歌曲是什么?"
vn.ask(question)

示例 3: 自定义训练数据

import vanna
from vanna.remote import VannaDefault

vn = VannaDefault(api_key='your-api-key', model='your-model-name')
vn.connect_to_postgres(host='localhost', dbname='sales', user='postgres', password='password')

# 从文件加载 DDL
with open('schema.sql', 'r') as f:
    ddl = f.read()
vn.train(ddl=ddl)

# 从文件加载文档
with open('documentation.md', 'r') as f:
    documentation = f.read()
vn.train(documentation=documentation)

# 从 CSV 文件加载问答对
import pandas as pd
qa_df = pd.read_csv('qa_pairs.csv')
for _, row in qa_df.iterrows():
    vn.train(question=row['question'], sql=row['sql'])

# 现在可以使用训练好的模型
vn.ask("上个月销售额最高的产品是什么?")

示例 4: 可视化查询结果

import vanna
from vanna.remote import VannaDefault

vn = VannaDefault(api_key='your-api-key', model='your-model-name')
vn.connect_to_sqlite(url='sqlite:///sales.db')

# 训练模型(省略训练步骤)

# 生成带可视化的查询
question = "每月销售额趋势如何?"
vn.ask(question, visualize=True)

# 或者分别生成 SQL 和可视化
sql = vn.generate_sql(question)
df = vn.run_sql(sql)
fig = vn.generate_plotly_code(sql, question)
print(fig)

示例 5: 错误处理和重试

import vanna
from vanna.remote import VannaDefault

vn = VannaDefault(api_key='your-api-key', model='your-model-name')
vn.connect_to_sqlite(url='sqlite:///chinook.db')

# 训练模型(省略训练步骤)

def safe_ask(question, max_retries=3):
    for i in range(max_retries):
        try:
            result = vn.ask(question)
            return result
        except Exception as e:
            print(f"尝试 {i+1} 失败: {str(e)}")
            if i == max_retries - 1:
                print("达到最大重试次数,查询失败")
                return None
            print("正在重试...")
    return None

# 使用安全查询
result = safe_ask("有多少来自加拿大的客户?")
if result:
    print("查询成功")
else:
    print("查询失败")

高级功能

自定义提示模板

from vanna.remote import VannaDefault

vn = VannaDefault(api_key='your-api-key', model='your-model-name')

# 自定义 SQL 生成提示
custom_prompt = """
你是一个 SQL 专家。根据以下数据库模式和用户问题生成准确的 SQL 查询。

数据库模式:
{schema}

用户问题: {question}

请生成 SQL 查询:
"""

vn.set_sql_generation_prompt(custom_prompt)

查询验证

# 在执行前验证 SQL
sql = vn.generate_sql("有多少客户?")
is_valid = vn.validate_sql(sql)
if is_valid:
    df = vn.run_sql(sql)
else:
    print("生成的 SQL 无效")

批量处理

questions = [
    "有多少客户?",
    "最畅销的产品是什么?",
    "上个月的销售额是多少?"
]

results = []
for question in questions:
    result = vn.ask(question)
    results.append(result)

最佳实践

  1. 充分训练模型:提供足够的 DDL、文档和示例查询对
  2. 明确问题:使用清晰、具体的自然语言问题
  3. 验证结果:对生成的 SQL 进行验证,特别是复杂查询
  4. 处理错误:实现适当的错误处理和重试机制
  5. 性能优化:对于大型数据库,考虑限制查询结果集大小

总结

Vanna 是一个功能强大的 Text2SQL 框架,它通过结合大型语言模型和数据库模式信息,能够准确地将自然语言问题转换为 SQL 查询。其简洁的 API、多数据库支持和灵活的模型集成使其成为数据分析和商业智能应用的理想选择。通过适当的训练和配置,Vanna 可以显著降低数据查询的技术门槛,使非技术用户也能轻松访问和分析数据。

Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询 Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。 阅读详情

相关推荐

从Vanna到SQLBot:我对比了5个开源Text-to-SQL工具,告诉你新手该选哪个

本文对比评测了Vanna、SQLBot等5大开源Text-to-SQL工具,从技术架构、实战表现到选型策略全面解析。重点分析了SQLBot的轻量级Prompt工程优势,以及RAG技术在复杂查询中的应用,为开发者提供实用选型指南。

weixin_30642561的博客 479

【大模型系列篇】Vanna基于检索增强(RAG)的SQL生成框架

Vanna 使用一种称为 LLM(大型语言模型)的生成式人工智能。简而言之,这些模型是在大量数据(包括一堆在线可用的 SQL 查询)上进行训练的,并通过预测响应提示中最有可能的下一个单词或“标记”来工作。Vanna 优化了提示(通过向量数据库使用嵌入搜索)并微调 LLM 模型以生成更好的 SQL。Vanna 可以使用和试验许多不同的LLM,以获得最准确的结果。

木亦汐丫 9657

NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]

NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]

丨汀、的博客 5421

零基础掌握 Vanna Text2SQL 框架:从原理到实战训练指南

Vanna框架:让自然语言直接对话数据库 摘要:本文介绍了一款基于RAG技术的开源Python框架Vanna,它能将自然语言问题自动转换为SQL查询语句,有效降低数据库查询的技术门槛。Vanna通过三大核心组件实现功能:1)兼容各类SQL数据库和LLM模型;2)支持从表结构、业务规则到查询案例的全方位训练;3)提供7步完整工作流程,从问题理解到结果可视化一气呵成。文章详细演示了如何搭建环境、连接数据库,并通过DDL语句、业务文档和示例SQL三个维度训练模型。两个实战案例(MySQL学生成绩查询和SQLite

m0_74488469的博客 2614

DAC8760高精度数模转换器原理与工业级嵌入式应用

数模转换器(DAC)是工业测控系统中实现数字指令到模拟执行的关键接口,其核心性能由分辨率、线性度、温漂及系统级TUE(总未调整误差)共同决定。DAC8760作为一款16位四象限精密DAC,集成了可编程增益放大器(PGA)、内部基准源与SPI高速接口,支持电压/电流双模输出,显著提升闭环控制精度与硬件适配灵活性。其技术价值在于将高精度模拟前端与数字控制深度耦合,满足PLC、ATE及激光偏置等严苛场景对长期稳定性与多通道同步性的要求。本文围绕DAC8760的寄存器配置、HAL/LL驱动实践、PCB布局规范、现场

weixin_42315569的博客 583

2026 具身智能 VLA/WAM 全栈学习与训练路线:从动作建模、SFT、RL 到世界模型的 RTX PRO 6000 96GB 单卡实战指南

我会把这张表做成“”而不是只列论文名:先核对每个模型截至的公开代码、训练目标和数据接口,再单独给你一套。对于没有公开、只有推理代码或训练细节不完整的模型,我会明确标出来,避免把“论文里提到”误写成“可复现”。目前有一个重要更新:。截至今天 NVIDIA 官方开源主线已经是换成 Cosmos-Reason2-2B/Qwen3-VL 架构,动作端仍是连续路线,而且官方明确给出单卡微调时默认只训练,峰值显存约。所以你的 96GB 单卡对 GR00T SFT 非常宽裕。可以。下面我按,把它整理成一张真正面向“

u013250861的博客 445

9个优秀的Text2Sql(Chat2Sql)开源项目、资源

由于大模型的发展是一个逐步增强的过程,在这个过程中,许多大模型还存在不确定、不稳定。在使用基于大模型的Text2Sql方案所生成的SQL查询还需要格外小心验证,以最小化应用风险。尽量做到:清楚描述数据库上下文、限制数据查询输出的大小、在执行之前验证和检查生成的SQL语句。

m0_59235699的博客 1万+

头歌平台-人工智能导论实验(人脸识别)

答案仅供参考,自己动手丰衣足食!!!

qq_52119136的博客 3026

9个最佳Text2Sql开源项目:自然语言到SQL的高效转换工具

探索2024年顶级Text2Sql开源项目,掌握自然语言到SQL的转换技术,提高数据分析效率。立即获取开源项目或资源,优化你的数据管理流程。名称描述优点缺点Chat2db人工智能驱动的数据管理平台,支持多种数据库。支持多种数据库,提供7B开源模型。需要集成多种数据库,可能存在兼容性问题。SQL Chat基于聊天的SQL客户端,使用自然语言与数据库通信。支持多种数据库系统,用户友好。可能需要额外的配置来适应特定的数据库。Vanna开源Python。

weixin_42606342的博客 2017

AI时代敏捷开发新范式——意图驱动开发IDD

具体的功能代码、单元测试、集成测试用例,以及最终可运行的、支持PlantUML的Markdown转Word工具新版本。:业务方(如技术文档团队)反馈,现有的Markdown转Word工具在处理包含PlantUML代码块的文档时,无法正确生成图表,导致技术方案、架构图等关键信息丢失,严重影响了文档交付质量和团队效率。这不仅带来了交付周期显著缩短、资源效能倍增的可观收益,更深远的意义在于,它描绘了未来软件工业化、智能化的新图景:一个由精准意图驱动、AI自主执行、人类智慧引领的敏捷、高效、高质的新世界。

LiuJunjiang的专栏 551

【论文笔记】Reaching agreement in the presence of faults (EIG)

1 问题定义 2 交互一致性 3 单点故障 m=1 n=4 4 多点故障(n>=3m+1) 计算过程 m=2 n=7 5 n<3m+1不能达成协定 6 带认证的算法 7 总结 这篇论文在1980年发表,是1982年著名的拜占庭将军问题论文的前身。作者Leslie Lamport是2013图灵奖得主,两篇论文引用次数分别为5000+和2000+。该论文提出的算法现在被...

zjwreal 2994

开源新宠:RAG2SQL工具,超越Text2SQL的7K Star之作

整体来说,Vanna 框架,让我们无需太多关心Prompt的构建、组装与优化,就可以快速实现一个基于Text2SQL方案的交互式数据库对话机器人,且具备更高的正确率。目前在一些使用是还是会存在正确率不够的情况,可能是RAG的信息不足的问题,但生成速度和体验上还是非常不错的。在Text2SQL领域,Vanna引入RAG的概念是一个不错的尝试,希望将来可以发展的越来越完善。

2401_84204413的博客 1501

【项目立项管理、项目整合管理】30天通过软考高项-第二天

①项目或阶段的概述;②范围目标、范围的评估标准,证明达到完⼯标准的证据;③质量目标、项目和产品质量的评估标准、相关核实信息和实际里程碑交付日期以及偏差原因;④成本目标,包括可接受的成本区间、实际成本,产⽣任何偏差的原因等;⑤最终产品、服务或成果的确认信息的总结;⑥进度计划目标,包括成果是否实现项目预期效益:如果在项目结束时未能实现效益,则指出效益实现程度并预计未来实现情况;

weixin_42520723的博客 1000

数据库询问RAG框架Vanna的总体架构

总的来说Vanna是根据RAG构建了自己的后台架构。通过和向量库的知识库检索相关上下文知识,可以让生成的SQL语句更加准确。Vanna提供了正确知识的反馈机制,这可以说是一种自我学习的过程,这样可以让后续的回答更加准确。另外,在整个过程中加入了人工审核的过程,这在大模型的精准度没有达到一定程度之前,是非常有必要的。Vanna还提供多种使用方式(有前端,或没有前端),这样可以让用户使用起来更加灵活。

zg_hover的专栏 1339

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5378

飞牛fnNAS搭建个人小账本

本文介绍了如何在飞牛NAS上部署ezBookkeeping个人记账应用。该开源工具支持多平台使用,具备双因素认证、多级分类等功能。文章详细讲解了Docker激活、镜像下载、容器部署等步骤,并展示了账户管理、交易记录等基础操作。同时指导用户通过ZeroTier实现远程访问,方便随时随地使用个人记账系统。该方案既保障了数据隐私,又提供了专业记账功能,适合对财务隐私敏感的用户。

dgnankai的专栏 782

vanna:基于RAG的text2sql框架

基于RAG的SQL生成(text2sql)开源python框架vanna使用简介和原理探索

beingstrong的博客 6330

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

从零开始本地部署vanna

win10以及win11系统部署Vanna AI

m0_74787564的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【RAG检索增强生成】RAG技术革新数据库:Vanna框架的高效SQL生成策略

Vanna框架,作为一个基于RAG技术的开源项目,正是这场革命的先锋。它通过提供一个用户友好的界面,允许用户以自然语言的形式提出查询,然后自动将这些查询转换为精确的SQL语句,直接与数据库进行交互。这种方法不仅极大地提高了查询效率,也使得非技术背景的用户能够轻松地访问和分析数据。

寻道AI,探索AI无限可能! 5609

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Vanna Text2SQL框架:用自然语言查询数据库的新方式

Vanna是一个开源的Python RAG(检索增强生成)框架,专门用于SQL生成和相关功能。它基于人工智能技术,允许用户通过自然语言提问来查询数据库并获取结果。Vanna的核心优势在于其能够将自然语言问题转换为有效的SQL查询语句,并在指定的数据库上执行这些查询,从而为用户提供所需的数据。

xiyue19167的博客 928

开源可本地部署的AI方案:同数据库进行无障碍中文问答

第4步,根据以上数据,将结果交给大模型进行总结。如果觉得总结的不好,你也可以加上一些prompt引导,最终获得一条可阅读的结论。调用的接口是 api/v0/generate_summary。

m0_59235245的博客 3062

Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人

Vanna 是一个基于 MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。它允许用户在数据上训练一个 RAG “模型”,然后提问问题,这将生成在数据库上运行的 SQL 查询语句,并将查询结果通过表格和图表的方式展示给用户。简单的说,Vanna是一个开源的、基于Python的、用于SQL自动生成与相关功能的RAG(检索增强生成)框架。RAG最典型的应用是私有知识库问答。

sinat_29950703的博客 2万+

LLMs之Text2Sql之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略

​ LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略 目录 Vanna的简介 Vanna的安装和使用方法 Vanna的应用案例 Vanna的简介 Vanna是一个基于MIT许可的开源Python RAG(检索增强生成)框架,用于SQL生成和相关功能。 Vanna的工作原理分为两个简单步骤:在您的数据上训练一个RAG“模型”,然后提问问题,这将返回可以设置自动在您的数据库上运行的SQL查询。 >> 在您的数

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1万+

用了都说好!Vanna,助力高速实现Text2SQL技术

Vanna是一个开源的Python RAG框架,专注于将自然语言问题转换为SQL查询,并展示查询结果。其核心功能包括训练阶段和推理阶段。在训练阶段,用户可以通过DDL语句、文档或SQL查询来训练模型,构建数据库的向量表示。在推理阶段,Vanna将用户的问题转换为向量,检索相关上下文信息,生成SQL查询并执行,最后以表格或图表形式返回结果。Vanna的优势在于其用户友好性和学习能力,适合非技术专家使用。通过结合千问大模型,Vanna可以实现自然语言查询数据库的功能,提升数据查询的便捷性和效率。

prtinf48_9的博客 2430

text2sql框架-vanna使用总结

ChromaDB_VectorStore、MyCustomLLM、MyVanna 类都通过 config 接收使用的配置参数在创建 MyVanna 类时,可通过 config 传递配置参数MODEL_URL = "模型接口的 URL,http://xxx"MODEL = "模型名称"API_KEY = "模型提供的 API KEY"CHROMADB_PATH = "保存 ChromaDB 数据库文件的目录路径"

adrninistrat0r的博客 6651
上一篇: Text2SQL-02-三种架构实现方案
下一篇: Elasticsearch-01-文本检索算法
d3y1
博客等级 码龄12年 1438粉丝 2782原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值