text2sql框架-vanna使用总结

TEXT2SQL工具vanna本地化安装和应用 在待连接的mysql数据库的,demodb数据库中新建表和记录,当然可以在不同数据库里面创建表,并插入不同的数据,根据实际情况可以调整SQL,并调整后续步骤的python代码中连接数据库的内容。这里的脚本chroma使用的local的模型,运行了以下脚本后,会在运行的目录下生成chroma.sqlite3文件,存放训练的数据,别删了,删了那训练数据就没了,要重新来。这里使用的是centos7 ,并有一块11G显存的GeForce GTX 1080 Ti,本文编制的时候,使用的是vanna 0.5.4版本。 阅读详情
AI摘要

本文介绍Vanna,一个开源的基于大模型和RAG的Text2SQL工具,详细讲解其下载、依赖安装、代码修改及训练过程,包括自定义模型与向量数据库配置、解决常见问题及连接MySQL数据库的方法。

1. 说明

Vanna 是一个开源的基于大模型和 RAG 的 Text2SQL 工具

官方地址是:https://vanna.ai/

2. 项目下载

vanna 提供了 vanna-flask 项目,通过 Python 的 Flash 框架提供 Web 界面,项目地址为:https://github.com/vanna-ai/vanna-flask

3. 项目依赖

https://vanna.ai/docs/mysql-other-llm-chromadb/

在 Vann 的以上链接可以选择准备使用的模型、向量数据库、需要查询的数据库

以上链接对应的情况如下:

内容选择
模型Other LLM
向量数据库ChromaDB
需要查询的数据库MySQL

3.1. 模型

Vanna 推荐通过 Vanna.Ai 免费使用 OpenAI(需要注册并通过公网调用 Vanna 接口)

也支持通过 API key 使用 OpenAI 等在线模型

准备使用局域网搭建的 qwen 模型,因此选择 “Other LLM”

3.2. 向量数据库

向量数据库用于保存训练数据库

Vanna 推荐使用 Vanna 提供的向量数据库 pgvector(需要注册并通过公网调用 Vanna 接口)

准备使用本地的 ChromaDB,不需要安装软件,只需要安装对应的 Python 依赖包,因此选择 “ChromaDB”

3.3. 文档中关于模型与向量数据库的使用方式

对应以上网页的 “Setup” 部分,提供了使用 ChromaDB 与其他模型的代码示例

定义 MyCustomLLM 类,用于实现自定义模型访问,父类使用 VannaBase

定义 MyVanna 类,用于对向量数据库与模型使用类进行初始化,父类使用 ChromaDB_VectorStore、MyCustomLLM

VannaBase 类是 Vanna 提供的访问其他模型的基类,ChromaDB_VectorStore 类是 Vanna 提供的访问 ChromaDB 的类

访问模型的代码参考:https://github.com/vanna-ai/vanna/blob/main/src/vanna/mistral/mistral.py,需要继承 VannaBase 类,访问模型的代码在 submit_prompt 方法中实现,如下所示:

    def submit_prompt(self, prompt, **kwargs) -> str:
        chat_response = self.client.chat(
            model=self.model,
            messages=prompt,
        )

        return chat_response.choices[0].message.content

4. Python 依赖包安装

下载 vanna-flask 项目后,在根目录执行以下命令安装 Python 依赖包

pip install -r requirements.txt
pip install vanna[chromadb,mysql]

假如代码中有其他依赖的包,也需要安装

5. 代码修改

需要修改 app.py 代码,对模型与向量数据库的访问进行调整

5.1. 注释代码

注释以下访问不准备使用的模型的代码:

from vanna.local import LocalContext_OpenAI
vn = LocalContext_OpenAI()
from vanna.remote import VannaDefault
vn = VannaDefault(model=os.environ['VANNA_MODEL'], api_key=os.environ['VANNA_API_KEY'])

vn.connect_to_snowflake(
    account=os.environ['SNOWFLAKE_ACCOUNT'],
    username=os.environ['SNOWFLAKE_USERNAME'],
    password=os.environ['SNOWFLAKE_PASSWORD'],
    database=os.environ['SNOWFLAKE_DATABASE'],
    warehouse=os.environ['SNOWFLAKE_WAREHOUSE'],
)

5.2. 自定义模型与向量数据库配置

ChromaDB_VectorStore、MyCustomLLM、MyVanna 类都通过 config 接收使用的配置参数

在创建 MyVanna 类时,可通过 config 传递配置参数

如下所示:

vn = MyVanna(config={'model_url': MODEL_URL, 'model': MODEL, 'api_key': API_KEY, 'path': CHROMADB_PATH})

可在 environment.py 中定义使用的模型与向量数据库相关参数,格式如下:

MODEL_URL = "模型接口的 URL,http://xxx"
MODEL = "模型名称"
API_KEY = "模型提供的 API KEY"

CHROMADB_PATH = "保存 ChromaDB 数据库文件的目录路径"

在 app.py 中引入相关参数:

from environment import MODEL_URL, API_KEY, MODEL, CHROMADB_PATH

5.3. 模型访问相关

5.3.1. 自定义 ChatMessage 类

参考 vanna 示例代码 https://github.com/vanna-ai/vanna/blob/main/src/vanna/mistral/mistral.py

需要实现 VannaBase 的子类,system_message、user_message、assistant_message 方法返回对象为 ChatMessage,引用方式为 “from mistralai.models.chat_completion import ChatMessage”

由于以上 ChatMessage 类的功能比较简单,为了避免引入以上 mistralai.models.chat_completion,因此在项目中增加 chat_message.py 文件,实现 ChatMessage 类:

class ChatMessage:
    role: str
    content: str

    def __init__(self, role, content):
        self.role = role
        self.content = content

    def __str__(self):
        return f"ChatMessage(role={self.role}, content={self.content})"

    def __repr__(self):
        return f"ChatMessage(role={self.role}, content={self.content})"

5.3.2. 指定模型访问方式

参考以上 vanna 示例代码,在 VannaBase 的子类 MyCustomLLM 的 submit_prompt 方法中实现对模型的访问:

以下使用的接口格式与 OpenAI 的相同,在 submit_prompt 方法中请求模型,并返回模型的返回值

class MyCustomLLM(VannaBase):
    def __init__(self, config=None):
        super().__init__(config)

    def system_message(self, message: str) -> any:
        return ChatMessage(role="system", content=message)

    def user_message(self, message: str) -> any:
        return ChatMessage(role="user", content=message)

    def assistant_message(self, message: str) -> any:
        return ChatMessage(role="assistant", content=message)

    def submit_prompt(self, prompt, **kwargs) -> str:
        messages = []

        for prompt_data in prompt:
            messages.append({"role": prompt_data.role, "content": prompt_data.content})

        payload = {
            "model": self.config['model'],
            "messages": messages,
            "stream": False
        }

        print(f"payload: {json.dumps(payload, ensure_ascii=False)}")

        headers = {
            "Content-Type": "application/json",
            "Authorization": "Bearer" + self.config['api_key']
        }

        response = requests.post(self.config['model_url'], json=payload, headers=headers, verify=False)
        rsp_data = response.json()
        print(f"rsp_data: {rsp_data}")
        return rsp_data["choices"][0]["message"]["content"]

6. 启动 Web 服务

执行 python app.py 启动 vanna 的 Web 服务(或者使用 IDE 的启动功能)

6.1. 访问网页

启动 vanna 的 Web 服务成功后,在日志中会出现以下内容,即 Web 服务的访问地址

 * Running on http://127.0.0.1:5000

6.2. 问题 - 网页白屏

6.2.1. 现象

打开以上网页后白屏,查看浏览器 Console 中有以下报错:

index-d29524f4.js:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/plain". Strict MIME type checking is enforced for module scripts per HTML spec.

6.2.2. 解决

参考以下链接的说明

https://stackoverflow.com/questions/59355194/python-flask-error-failed-to-load-module-script-strict-mime-type-checking-i

在 app.py 中 import flask 之前添加以下代码:

# fix windows registry stuff
import mimetypes
mimetypes.add_type('application/javascript', '.js')
mimetypes.add_type('text/css', '.css')

重新启动 Web 服务,并清空浏览器缓存,解决问题

6.3. 问题 - 网页打开较慢

6.3.1. 现象

static\index.html 文件中引用了 plotly-latest.min.js:

<script src="https://cdn.plot.ly/plotly-latest.min.js" type="text/javascript"></script>

从对应的网站下载 plotly-latest.min.js 文件可能很慢,导致本地的 vanna 网页打开很慢

6.3.2. 解决

可先下载以上 js 文件,保存到本地项目的 static 目录中

修改 static\index.html 文件中通过引用本地的 plotly-latest.min.js 文件:

<script src="/assets/plotly-latest.min.js" type="text/javascript"></script>

6.4. 问题 - 从 awx 下载 onnx 失败

6.4.1. 现象

启动 Web 服务器打开网页,python 代码出现报错,报错内容较长,关键提示如下,提示从 awx 下载 onnx 失败,说明 SSL 证书验证失败

requests.exceptions.SSLError: HTTPSConnectionPool(host='chroma-onnx-models.s3.amazonaws.com', port=443): Max retries exceeded with url: /all-MiniLM-L6-v2/onnx.tar.gz (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))

6.4.2. 解决

修改 app.py 代码

增加以下引用

import urllib3
from urllib3 import exceptions

在 “app = Flask” 代码之前增加以下代码,取消 SSL 证书验证:

urllib3.disable_warnings()

问题解决,从控制台可以看到开始下载对应文件

.cache\chroma\onnx_models\all-MiniLM-L6-v2\onnx.tar.gz:  37%|███▋      | 29.4M/79.3M [00:21<00:35, 1.45MiB/s]

7. 连接 MySQL 数据库

7.1. 安装 Python 依赖包

pip install PyMySQL

7.2. 增加连接 MySQL 数据库代码

在 “vn = MyVanna()” 代码后增加连接 MySQL 数据库的代码,如下所示

vn.connect_to_mysql(host='127.0.0.1', dbname='dbname', user='user', password='password', port=3306)

s

8. 训练

需要对 vanna 执行训练操作,使 vanna 能够读取到数据库表信息

8.1. 文档说明

参考 Vanna 文档 https://vanna.ai/docs/train/,“Training Plan” 部分:

# The information schema query may need some tweaking depending on your database. This is a good starting point.
df_information_schema = vn.run_sql("SELECT * FROM INFORMATION_SCHEMA.COLUMNS")

# This will break up the information schema into bite-sized chunks that can be referenced by the LLM
plan = vn.get_training_plan_generic(df_information_schema)
plan

# If you like the plan, then uncomment this and run it to train
vn.train(plan=plan)

可增加以上代码使 Vanna 读取到当前数据库的数据库的字段信息,可在 app 对象定义之前或之后执行

8.2. 训练内容优化

在使用 MySQL 数据库时,将以上通过 vn.run_sql 执行的 sql 语句修改为如下,可以使得仅查询当前 schema 的字段信息,且能够查询到对应表的注释:

SELECT c.*, t.table_comment FROM INFORMATION_SCHEMA.COLUMNS c, INFORMATION_SCHEMA.TABLES t where c.table_schema=database() and c.table_schema=t.table_schema and c.table_name=t.table_name

8.3. 实际效果

vanna 在使用训练数据中的数据库表信息时,只会将部分表信息发送给模型,因此模型无法针对所有的表做出正确的回答

VannaAI 介绍及使用 - 第三篇 前面两篇,对Vanna的一些原理和基本使用进行的总结,本篇将根据Vanna提供的多样化配置进行体验尝试,并共同来探索一下Vanna源码,有不正之处请友友们指正。先做一些说明:1.我本地目前使用的是 python3.12版本,Vanna是0.5.5版本,不同版本的包可能源码会有些许区别,但主体是一致的。2.因为Vanna默认是使用chatGPT3.5,我自己本地测试连接其他LLM是通过代理服务实现的,有条件的可以自己部署大模型尝试,本文仅作为自主体验的记录,仅供参考。 阅读详情

相关推荐

TEXT2SQL-顶峰:Vanna部署及介绍

Vanna 是一款采用 MIT 许可的开源 Python RAG (检索增强生成)框架,用于生成 SQL 语句和相关功能。如何使用 VannaVanna 的使用分为两个简单步骤 - 在你的数据上训练一个 RAG "模型",然后提出问题,该问题将返回可设置为自动在你的数据库上运行的 SQL 查询。1.。2.。如果你不知道什么是 RAG,不用担心 -- 你不需要知道这是如何在底层工作的。你只需要知道你需要“训练”一个模型,它会存储一些元数据,然后你可以用它来“提问”。

m0_53353946的博客 4941

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

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

xiyue19167的博客 928

Vanna-Text2SQL框架学习

Vanna是一个基于Python的开源库,专注于通过自然语言处理(NLP)技术简化数据库查询操作。它允许用户使用日常语言提问,自动生成SQL查询语句,降低非技术用户与数据库交互的门槛。

2203_75550521的博客 737

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

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

sinat_29950703的博客 2万+

Vanna实战:如何用RAG框架打造高效Text2SQL应用

本文详细介绍了如何使用Vanna框架结合RAG技术打造高效的Text2SQL应用。通过实战案例展示了从环境配置、训练数据准备到性能优化的全流程,帮助开发者快速实现自然语言到SQL的转换,提升数据库查询效率。特别分享了企业级部署方案和疑难问题解决方案,适用于电商、金融等多个领域。

weixin_29062671的博客 303

基于RAG和Text2SQL的开源框架Vanna:用自然语言对话式查询数据库

大模型与自然语言处理技术的结合,让数据库查询方式迎来变革。传统Text2SQL(自然语言生成SQL)技术因上下文过长、业务术语割裂和模型幻觉等问题,在真实业务中难以落地。RAG(检索增强生成)的引入为这一难题提供了新思路:通过预先检索数据库DDL、业务文档和历史SQL样本,在生成SQL前为模型补充精准的领域知识,从而形成RAG2SQL方案。开源框架Vanna AI正是这一技术的典型落地,它通过训练向量知识库,配合LLM实现从自然语言提问到SQL执行、结果返回的完整链路。该模式可广泛应用于自助式数据分析、日常

weixin_26800111的博客 304

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

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

木亦汐丫 9657

text2sql框架-vanna-1

1 前端代码都是python,浏览器只是一个执行前端脚本的环境,以及访问python代码接口的客户端2 前端html可以调用css和js,js可以调用python代码的接口,这样前端和后端就可以通过接口来进行交互。

qq_15821487的博客 1156

Text2Sql相关总结

前段时间了接触到Text2Sql,调研了解了一些,大致整理下。 简介 Text-to-SQL系统能够将自然语言描述转化成对应的SQL查询语句,这项技术能够有效地辅助人们对海量的数据库进行查询。因此,该项研究引起了工业界和学术界的广泛关注。其中,WikiSQL、Spider等大规模标注数据集进一步指出了该技术目前面临的挑战:泛化性(跨领域)、复杂性(SQL语法)、正确性(问题和表格的对齐关系),也促进了一系列后续算法的研究与系统的开发。 在这里,我们给出Text-to-SQL任务一个相对正式的定义:在给定关系

weixin_41797870的博客 7147

基于深度强化学习的无地图移动机器人导航:让机器人在未知环境中智能前行

虽然仍然面临sim-to-real差距、安全性保证等挑战,但随着算法的不断改进和计算能力的提升,基于DRL的无地图导航技术将在服务机器人、工业自动化、太空探索等领域发挥越来越重要的作用,为人类生产和生活带来更大便利和价值。对于复杂环境下的动态目标导航问题,研究人员提出了多智能体协同控制算法(如Teamwork-Net算法),通过多个智能体分别控制机器人的运动速度与运动方向,协同实现更高效、更稳定的导航性能。深度强化学习结合了深度学习的感知能力和强化学习的决策能力,非常适合解决无地图导航问题。

weixin_45131592的博客 902

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 380

Text2SQL-03-开源框架Vanna

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

d3y1`5 81_09 709

Frida三层次钩子快速逆向VMP+OLLVM加固APK

VMP(虚拟机保护)和OLLVM(控制流平坦化)是Android应用常见的双重混淆技术,其核心原理是将Java逻辑虚拟化、Native代码控制流打散,从而阻断传统静态分析与简单Hook。但任何混淆都必须在CPU上执行,因此必然暴露JNI注册行为、ABI参数传递规律及系统调用痕迹。基于此,Frida可通过跨层联动——从JNI_OnLoad捕获Native库加载、在VMP解释器入口截获字节码上下文、于关键系统调用(如read/gettimeofday)反向追踪数据流——构建可观测、可复现的动态分析链。该方法无需

weixin_30888413的博客 1002

vanna:基于RAG的text2sql框架

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

beingstrong的博客 6330

SIwave仿真手册——信号完整性仿真之S参数的提取(二)

上一篇简单了讲述了软件的各个操作界面,本次博客更新关于的仿真,因为第二章完整的内容比较多,所以分成好几篇博客进行分享。

luohuo9844的博客 1万+

一步一步实现基于COMSOL的单模光纤波导仿真

一步一步实现基于COMSOL的单模光纤波导仿真,简单易懂,跟着博客就能实现

君莫笑lucky的博客 1万+

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务

qq_44665283的博客 3986

反激系列-详细到每个容阻的原理之RCD吸收(1)

1、漏感尖峰电压会被RCD吸收,漏感能量一定,电容越大,电容充电的电压就越低,吸收能力就越强,MOS漏极的电压就越低。2、在漏感能力释放完之后(这个过程一般只有一个周期的3%时间),是要通过R1释放掉电容吸收的能量的,把电容的电压降下来方便下一次漏感尖峰来之前再进行吸收。3、电容容量和电阻需要合理搭配,容量足够即可,足够能吸收漏感尖峰电压,不至于超过MOS耐压。电阻需要足够小,小到在放电阶段把电容电压下降到MOS的电压平台。

Cuxiaoweiba的博客 3万+

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

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

m0_74488469的博客 2614

深入浅出讲解外部服务提供者 OAuth 2.0 帐户客户端创建与 ABAP 系统集成

本文详细介绍了在SAP ABAP平台配置OAuth 2.0客户端以安全调用外部Web服务的完整流程。主要内容包括:首先需要在外部服务提供者平台注册OAuth客户端,获取client ID和client secret;其次需特别注意重定向URI必须是公开可访问的地址;然后在ABAP系统中通过事务码OA2C_CONFIG配置OAuth客户端信息;最后阐述了常见的错误排查方法。文章强调了OAuth 2.0作为SAP系统与外部服务安全集成的标准协议,正确配置客户端是确保后续API调用安全可靠的关键前提。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1735

【文献笔记】ICCV 2021 | Point Transformer

作者提到,特别适合点云处理,因为自注意力机制是的核心,本质上就是一个集合算子:它对输入元素具有顺序不变性和数量不变性3D点云是无序的,即使改变点云txt文件中的点顺序也不会有任何影响。自注意力机制天然具有排列不变性,因为它通过对所有"点对"的关系进行建模来处理输入,而不依赖于任何特定的输入顺序点云数据通常覆盖了3D空间中的对象或场景,理解这些数据需要捕捉点与点之间复杂的空间关系。自注意力机制能够有效的捕捉这些关系,因为它为每个"点对"赋予一个。

m0_55908255的博客 965

NL2SQL(Text2SQL)实战:Vanna框架与安全防护

NL2SQL技术概述与应用实践 NL2SQL(自然语言转SQL)技术通过AI模型将用户自然语言问题转换为数据库查询语句。Vanna框架作为典型解决方案,采用RAG技术路线,通过训练DDL表结构、业务文档和SQL示例存入向量数据库,结合LLM生成SQL语句。该技术面临多表查询准确率低(仅70%)、自然语言歧义和数据库复杂度三大挑战,目前生成准确率约75%,适用于简单查询场景但生产环境需谨慎。Vanna提供脚本式和Web服务两种应用模式,支持多种向量数据库和LLM服务,并可通过用户反馈实现持续学习优化。

祁_z 602

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

基于RAG的Text2SQL开源框架Vanna:原理到实战解析

自然语言转结构化查询(Text2SQL)是降低企业数据查询门槛的关键技术。随着大模型的发展,单纯依赖模型参数难以应对复杂库表与业务口径差异,检索增强生成(RAG)通过将DDL、业务同义词及历史正确SQL存入向量数据库,在推理时动态检索并构造上下文,成为提升SQL生成准确率的有效路径。Vanna正是这一思路下的开源框架,它将知识检索、大模型生成与SQL执行封装为统一链路,支持本地化模型部署和灵活更换LLM。无论是内部数据分析、自助取数,还是搭建统一问数入口,Vanna都能显著降低开发成本,帮助企业快速实现“人

weixin_30536861的博客 290

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Text2Sql实战指南|Vanna本地化部署并结合Dify

《Text2Sql实战指南|Vanna本地化部署并结合Dify》详细介绍了如何将Vanna与Dify结合,实现从自然语言到SQL查询的自动化处理。文章首先介绍了Vanna和Dify的功能,Vanna是一个基于AI的智能SQL生成工具,而Dify是一个低代码/无代码平台,两者的结合可以显著提高数据处理效率。接着,文章逐步指导了环境准备、向量数据库部署、模型框架选择、Vanna的安装与配置、Web界面启动、模型训练等步骤。最后,文章展示了如何通过FastAPI将Vanna封装为OpenAPI,并嵌入Dify中,

Asta__的博客 5768

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Vanna Text2SQL 框架实战:让非技术同事也能 “说人话查数据库”,再也不用当 SQL 工具人!

Vanna是一个开源RAG框架,能将自然语言自动转换为SQL查询,支持多种数据库和大模型。其核心功能包括:1.降低技术门槛,非技术人员可直接用自然语言查询数据;2.灵活支持各类数据库和LLM组合;3.具备学习能力,可修正错误查询。工作流程分为训练和查询两步:先提供数据库结构、文档和示例SQL进行训练,再通过向量检索和LLM生成SQL。实战中可快速搭建系统,中文推荐使用BAAI/bge-small-zh-v1.5嵌入模型。该框架能显著提升数据查询效率,让非技术人员也能自助获取数据。

2301_78209919的博客 1788

智能问数Text2SQL Vanna windows场景验证

1、Vanna多轮会话时有时识别不太准确2、qwen3 8b、deepseek-r1:7b的SQL生成效果不如qwen2.5 code:7b3、自定义术语或逻辑说明,可以转换成正确SQL4、使用简单主要有train方法进行自定义训练(DDL、Document、SQL对)

数据科学汇集 1597
上一篇: MyBatis拦截器动态注册
下一篇: text2sql框架-DB-GPT使用总结
adrninistrat0r
博客等级 码龄18年 395粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值