Text-to-SQL 工具Vanna | 查看训练数据、删除训练数据

news2025/1/9 16:49:09

1.查看训练数据vn.get_training_data

vn.get_training_data 源码如下,可以看到返回的是df格式的数据

	@abstractmethod
 	def get_training_data(self, **kwargs) -> pd.DataFrame:
	    """
	    Example:
	    ```python
	    vn.get_training_data()
	    ```
	
	    This method is used to get all the training data from the retrieval layer.
	
	    Returns:
	        pd.DataFrame: The training data.
	    """
	    pass

先添加训练数据

vn.train(ddl="""
CREATE TABLE IF NOT EXISTS people (
    name INT PRIMARY KEY COMMENT '姓名', 
    gender INT COMMENT '性别(男性=1/女性=2)',
    age INT COMMENT '年龄', 
""")
## 添加了 3 条测试数据
vn.train(ddl="""
INSERT INTO people (name, gender, age) VALUES
('张三', '1', 18,),
('李四', '2', 30,),
('王五', '1', 26,),
""")  

vn.train(question='张三的年龄是多少?',sql='SELECT age FROM people WHERE name = "张三"')
print('===========训练完毕===========')

查看训练数据

train_data = vn.get_training_data()
print('===查看训练数据===\n',train_data)

在这里插入图片描述
我运行了两次,所以训练数据中有两对记录。
可以看到,训练数据是df格式,有四列:id、qustion、content 和 training_data_type组成。

  • training_data_type:有 sql 和 ddl两类。(只是我用的训练方式是这两类,实际可能有4类,不懂的同学可以看这篇博客的 第3部分,向量库有4种格式。Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人 )
    • DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。
    • SQL 问答对
  • id:是主要标识,删除时用来指定的
  • question:SQL问答对类型,才有question
  • content:sql语句内容

2.删除训练数据 vn.remove_training_data

vn.remove_training_data 源码如下:

	@abstractmethod
    def remove_training_data(id: str, **kwargs) -> bool:
        """
        Example:
        ```python
        vn.remove_training_data(id="123-ddl")
        ```

        This method is used to remove training data from the retrieval layer.

        Args:
            id (str): The ID of the training data to remove.

        Returns:
            bool: True if the training data was removed, False otherwise.
        """
        pass

怎么删除训练数据

  • 删除一条数据 vn.remove_training_data(id = '指定id')
    vn.remove_training_data(id = '357472b0-1dbd-4038-b5e9-dfc50eb6d2de-sql')
    
  • 删除所有数据
    train_data = vn.get_training_data()
    id_list = train_data['id'].values
    for i in range(len(id_list)):
    	vn.remove_training_data(id=id_list[i])
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1520447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Brute Force 算法介绍

Brute Force 算法介绍 Brute Force 算法:简称为 BF 算法。中文意思是暴力匹配算法,也可以叫做朴素匹配算法。 BF 算法思想:对于给定文本串 T 与模式串 p,从文本串的第一个字符开始与模式串 p 的第一个字符进行比较,如果…

计算机考研|408专业课复习教程+注意事项

408其实把真题琢磨透就已经可以了!其实大部分考研党复习到最后真题都来不及刷完就要上考场 因为在考研后期时间分配真的很困难!特别是数学和408 本人双非科班出身备考408成功上岸,在这里也想给想考408的学弟学妹们一些很中肯的,…

干重活儿的互联网

接女儿放学路过欧尚超市,我说 “十年前我每周末推着小车带你去超市,那时没有这么多送外卖的,什么东西都要自己跑过去买”,“你的意思是要表达科技获得很大进步了吗?” 女儿反问,“不,恰恰相反&a…

FTP协议的工作原理:探索端口21的角色

FTP协议的工作原理:探索端口21的角色 在网络协议的众多家族中,文件传输协议(FTP)以其稳定性和高效性在文件上传和下载领域占有一席之地。FTP的设计允许用户在客户端和服务器之间进行文件传输,而理解其背后的端口机制是…

<JavaEE> 了解网络层协议 -- IP协议

目录 初识IP协议 什么是IP协议? IP协议中的基础概念 IP协议格式 图示 4bit版本号(version) 4bit头部长度(headerlength) 8bit服务类型(TypeOfService) 16bit总长度(total l…

Java面试——SQL 语句题

优质博文:IT-BLOG-CN 一、行转列问题 现有表格A,按照以下格式排列; 姓名收入类型收入金额Tom年奖金5wTom月工资10kJack年奖金8wJack月工资12k 先需要将表格转化为: 姓名月工资年奖金Tom10k50kJack12k80k 方法一:…

C语言-strstr(字符串里查找字符串)

strstr(字符串里查找字符串) 语法格式 库函数实现的逻辑 1,返回一个指向str2在str1中第一次出现的位置,如果str2不是p,则返回一个空指针,函数返回字符串str2在字符串str1中第一次出现的位置) 2&#xf…

SpringBoot3项目框架搭建

注意jdk版本必须17以上才能运行 1、创建Maven工程 2、导入spring-boot-stater-web起步依赖 3、编写Controller 4、提供启动类 5、访问http://localhost:8080/hello

计算机丢失vcruntime140.dll解决办法分享,有效解决vcruntime140.dll丢失问题

vcruntime140.dll是一个属于 Visual C Redistributable for Visual Studio 2015 的动态链接库文件。这个文件是运行那些用 Visual Studio 2015 或相关版本开发的 C 应用程序必不可少的一部分。如果系统中缺少此文件,或文件损坏,则可能会在尝试启动相关软…

[【Hello,PyQt】pyqt5中的QLineEdit控件

PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QLineEdit 控件作为一个简单而实用的组件,经常用于接受用户的单行文本输入,甚至可以用来进行输入格式的限制。这篇博客中将介绍 QLineEdit 控…

react-native使用FireBase实现google登陆

一、前置操作 首先下载这个包 yarn add react-native-google-signin/google-signin 二、Google cloud配置 Google Cloud 去google控制台新建一个android项目,这时候需要用到你自己创建的keystore的sha1值,然后会让你下载一个JSON文件,先保…

【电路笔记】-金属氧化物半导体晶体管(MOSFET)

金属氧化物半导体晶体管(MOSFET) 文章目录 金属氧化物半导体晶体管(MOSFET)1、概述2、MOSFET 基本结构和符号2.1 耗尽型 MOSFET2.2 增强型MOSFET3、MOSFET放大器4、总结1、概述 除了结型场效应晶体管 (JFET) 之外,还有另一种类型的场效应晶体管,其栅极输入与主载流通道电绝缘…

计算机网络—VLAN 配置

目录 1.拓扑图 2.实验环境准备 2.关闭不相关接口,并配置 Trunk 3.创建 VLAN 4.为客户端配置 IP地址 5.检测设备连通性,验证 VLAN 配置结果 6.配置 Hybrid 端口 7.配置文件 1.拓扑图 2.实验环境准备 在S1和S2上创建Eth-Trunk 1并配置该Eth-Trunk…

JVM-5

1.选择垃圾收集器 如果你的堆大小不是很大(比如 100MB ),选择串行收集器一般是效率最高的。 参数: -XX:UseSerialGC 。如果你的应用运行在单核的机器上,或者你的虚拟机核数只有单核,选择串行收集器依然是合…

17-指针(初识)

17-1 内存 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。 为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行…

GraspNet-baseline复现----Linux-Ubuntu

1.基本环境 Ubuntu 20.04Cuda 11.0 、cuDNN 80.0Python 3.7.16PyTorch 1.7.0 2.环境配置 PyTorch的版本对Cuda和Python的版本都有依赖,所以基本步骤是 确定需要安装的PyTorch版本 —> 通过 网站 确定对应的cuda版本和python版本 —> 创建虚拟环境配置环境。…

16.WEB渗透测试--Kali Linux(四)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:15.WEB渗透测试--Kali Linux(三)-CSDN博客 1.crunch简介与使用 C…

【回归预测】基于SSA-RF(麻雀搜索算法优化随机森林)的回归预测 多输入单输出【Matlab代码#66】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 随机森林RF算法2. 麻雀搜索算法3. 实验模型4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节:资源获取】 1. 随机森林RF算法 …

二进一出模拟量隔离变送器

二进一出模拟量隔离变送器定义: 是两路模拟量信号同时输入,隔离变送器选择其中的一路高信号输入的或者低信号输入的通道进行信号传输及控制,该隔离变送器可以用控制信号来选择A路,B路的输入信号,还可以通过干接点&…

开源堡垒机Jumpserver安装教程

前言:堡垒机的应用场景 公司内有若干台服务器,既有windows的也有linux的, 提供有ERP,OA,Web,报表等等各种服务,往往需要远程登录到服务器上去做运维,但如果给root或者administrator权限,很容易出现不知道谁操作了的问题.如果不同人设置不同账号,又账号过多,权限不足等等其他问题…