赞
踩
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本地部署 | 数据库对话机器人 )
id
:是主要标识,删除时用来指定的question
:SQL问答对类型,才有questioncontent
:sql语句内容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])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。