简介
TableRAG 是一个创新的检索增强生成(RAG)框架,专门用于处理复杂表格数据。它结合了文本理解和表格操作的优势,能够在检索过程中自动生成并执行 SQL 代码,从而更精准地提取表格内容。
主要特点
- 统一文本理解与表格操作:TableRAG 能够同时处理文本和表格数据,确保信息的全面性和准确性。
- 自动编写并执行 SQL 代码:通过自动生成 SQL 查询,TableRAG 能够高效地从复杂表格中提取所需信息。
- 精确提取表格内容:无论是简单的查询还是复杂的多表联接,TableRAG 都能提供准确的结果。
应用场景
- 数据分析:快速从大量数据中提取关键信息,支持数据驱动的决策。
- 报表生成:自动生成各类报表,减少手动操作的时间和错误。
- 智能搜索:提升搜索引擎的能力,使其能够更好地理解和处理表格数据。
优势
- 高效性:自动化处理大大提升了数据处理的速度和效率。
- 准确性:通过自动生成 SQL 代码,减少了人为错误,提高了结果的准确性。
- 灵活性:适用于多种类型的表格数据,适应性强。
安装使用
1.环境部署
conda create -n your_env python=3.10
git clone https://github.com/yxh-y/TableRAG/
cd TableRAG
pip install -r requirements.txt
2.下载
3.离线安装
安装mysql
tar -zxvf mysql-8.0.24-linux-glibc2.12-x86_64.tar.gz
cd mysql-8.0.24-linux-glibc2.12-x86_64
sudo mkdir /usr/local/mysql && sudo mv * /usr/local/mysql/
sudo groupadd mysql
sudo useradd -r -g mysql mysql
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
sudo cp support-files/mysql.server /etc/init.d/mysql
sudo systemctl enable mysql
sudo systemctl start mysql
创建数据库
CREATE DATABASE TableRAG;
离线数据导入
1.设置数据库配置 编辑`offline data ingestion and
query_interface/config/databaseconfig.json`文件,并根据您自己的 MySOL配置进行更新。
2.准备待导入的表文件。将 dev_excel.zip解压缩到'offline dataingestion_and query
interface/dataset/hybridga/dev excel/'目录下
执行数据导入
cd offline_data_ingestion_and_query_interface/src/
python data_persistent.py
启动数据库查询服务
1. 设置 LLM 配置,编辑'
offline_data_ingestion_and_query_interface/src/handle_requests.py'文件并将您的 llm 请求 URL和 API密钥替换到 model request _config 中。
2.启动服务以提供SQL查询接口服务
python interface.py
4.在线安装
步骤1:设置配置和数据源
1.编辑'
online_inference/config.py'以设置LLM推理URL和密钥,以及查询服务URL。
2.解压dev excel.zip并将其放入"/data"目录。
步骤2:运行主程序
cd online_inference
python3 main.py
--backbone <backbone_llm>
--data_file_path ./data/my_dev.json
--save_file_path <path to save file>
--max_iter <max iterations of TableRAG, default to 5>
--rerun <True if some cases fail at the previous run, default to False>
如果你需要处理大量复杂表格数据,TableRAG 绝对是一个值得尝试的工具!