OpenDataBox/ST-Raptor

LLM-Powered Semi-Structured Table Question Answering

312

stars

54

commits

Python

primary language

Apr 3, 2026

updated

table-qa
table-understanding

README

ST-Raptor

✨ Project Introduction

ST-Raptor is a tool for answering questions over tables with diverse semi-structured layouts. It takes only an Excel-formatted table and a natural language question as input, and produces precise answers.

Unlike many existing approaches, ST-Raptor requires no additional fine-tuning. It combines a vision-language model (VLM) with a tree-construction algorithm (HO-Tree) and flexibly integrates with different LLMs. ST-Raptor employs a two-stage validation mechanism to ensure reliable results.

❓ What Tables Can ST-Raptor Handle?

📣 Updates

  • Main functionss

    • Support both local deployment or API calls for LLM, VLM, and Embedding models.
    • Support diverse input formats: HTML, CSV, MARKDOWN, ...
    • Support Image input.
    • Expand the table extraction module to support table types beyond problem definition.
  • Benchmark

    • Update both english and chinese version of SSTQA Benchmark.
    • The SSTQAv2 is on the way!!!
  • Visualization

    • Support web visualization platform (FastAPI + HTML).
    • Support hyper-parameter settings (WIP).
    • Support the visualization of HO-Tree structure.
    • Support the HO-Tree manual correction function.

Semi-structures tables like personal information form, academic tables, financial tables... from Excel, websites (HTML), Markdown, csv files...

💻 SSTQA Benchmark

The 102 tables and 764 questions in SSTQA are carefully curated from over 2031 real-world tables by considering $(i)$ tables featuring semi-structured formats, such as nested cells, multi-row/column headers, irregular layouts and $(ii)$ coverage across 19 representative real scenarios.

We list out 10 representative real scenarios as below:

Human Resources, Corporate Management, Financial Management, Marketing, Warehouse Management, Academic, Schedule Management, Application Forms, Education-related, and Sales Management.

You can find the SSTQA benchmark in ./data directory: SSTQA-en SSTQA-ch

📊 Performance

The following table demonstrates the answering accuracy (%) and ROUGE-L score of different methods over our collected SSTQA benchmark and other two benchmarks.

Note that the required question answering is highly dependent on both the semi-structured table complexity and the question complexity.

Baselines

NL2SQL methods: OpenSearch-SQL

Fine-tuning based methods: TableLLaMA TableLLM

Agent based methods: ReAcTable TAT-LLM

Vision Language Model based methods: TableLLaVA mPLUG-DocOwl1.5

Foudation Models: GPT-4o DeepSeekV3

Experiment Results

MethodWikiTQ-STTempTabQA-STSSTQASSTQA
Accuracy (%)Accuracy (%)Accuracy (%)ROUGE-L (%)
NL2SQL (200 Samples)
OpenSearch-SQL38.894.7624.0023.87
Fine-tuning based
TableLLaMA35.0132.7040.3926.71
TableLLM62.409.137.842.93
Agent based
ReAcTable68.0035.8837.247.49
TAT-LLM23.3261.8639.7819.26
VLM based
TableLLaVA20.416.919.525.92
mPLUG-DocOwl1.539.8039.8029.5628.43
Foundation Model
GPT-4o60.7174.8362.1243.86
DeepSeekV369.6463.8162.1646.17
ST-Raptor71.1777.5972.3952.19

🕹 Quick Start

1. Clone Repository

git clone git@github.com:weAIDB/ST-Raptor.git
cd ST-Raptor
Please download this repository.

2. Environment & Benchmark & Model

Environment.

  1. Use the following command to install the conda environment.
# create virtual environment
conda create -n straptor python=3.10
conda activate straptor
# install required packages
pip install -r requirements.txt
  1. Install the HTML rendering plugin wkhtmltox and font package.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt-get install -f ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt-get install -y fonts-noto-cjk fonts-wqy-microhei

Benchmark

  1. You can find the SSTQA benchmark in ./data directory: SSTQA-en SSTQA-ch
  2. Change the settings in ./main.py
# You need to change this
input_jsonl = 'PATH_TO_YOUR_INPUT_JSONL'      # The QA pairs
table_dir = 'PATH_TO_YOUR_TABLE_DIR'          # The corresponding tables
pkl_dir = 'PATH_TO_YOUR_PKL_DIR'              # The directory to store HO-Tree object files 
output_jsonl = 'PATH_TO_YOUR_OUTPUT_JSONL'    # The QA results
log_dir = 'PATH_TO_YOUR_LOG_DIR'              # The directory to store log files

The Q&A data is stored in a JSONL format file, and the format of each record is as follows.

{
	"id": "XXX", 
	"table_id": "XXX", 
	"query": "XXX", 
	"label": "XXX"    // Optional when inference
}

Model Configuration. The model configuration in our paper includes Deepseek-V3 (LLM API) + InternVL2.5 26B (VLM) + Multilingual-E5-Large-Instruct (Embedding Model). This configuration requires a total of approximately 160GB of GPU memory. You can replace the model according to the hardware situation or change it to use APIs.

You need to set model configuration in ./utils/constnts.py

"""Change this for requesting LLM"""
LLM_API_URL = "YOUR_LLM_API_URL"
LLM_API_KEY = "YOUR_LLM_API_KEY"
LLM_MODEL_TYPE = "YOUR_LLM_MODEL_TYPE" 

"""Change this for requesting VLM"""
VLM_API_URL = "YOUR_VLM_API_URL"
VLM_API_KEY = "YOUR_VLM_API_KEY"
VLM_MODEL_TYPE = "YOUR_VLM_MODEL_TYPE"

"""Change this for requesting Embedding Model"""
EMBEDDING_TYPE = "api" # api / local

## If EMBEDDING_TYPE is local
EMBEDDING_MODE_PATH = "YOUR_PATH_TO_MULTILINGULE_E5"

## If EMBEDDING_TYPE is api
EMBEDDING_API_URL = "YOUR_EMBEDDING_API_URL"
EMBEDDING_API_KEY = "YOUR_EMBEDDING_API_KEY"
EMBEDDING_MODEL_TYPE = "YOUR_EMBEDDING_MODEL_TYPE"

If you want to use other format of APIs, please revise the code in ./utils/api_utils.py

Use local deployment VLM and Embedding Model with LLM API as an example.

First to Download InternVL2.5 and Download Multilingual-E5

  1. Install the vllm package.
pip install vllm
  1. Denote the GPU and deploy the VLM.
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server \
--model=PATH_TO_INTERNVL \
--served-model-name internvl
--port 8138 \
--trust-remote-code \
--max-num-batched-tokens 8192 \
--seed 42 \
--tensor-parallel-size 4
  1. Set API configs in ./utils/constnts.py
"""Change this for requesting LLM"""
LLM_API_URL = "YOUR_LLM_API_URL"        # [Change This]
LLM_API_KEY = "YOUR_LLM_API_KEY"        # [Change This]
LLM_MODEL_TYPE = "YOUR_LLM_MODEL_TYPE"  # [Change This]

"""Change this for requesting VLM"""
VLM_API_URL = "http://localhost:8000/v1/"
VLM_API_KEY = "Empty"
VLM_MODEL_TYPE = "internvl"

"""Change this for requesting Embedding Model"""
EMBEDDING_TYPE = "local" # api / local

## If EMBEDDING_TYPE is local
EMBEDDING_MODE_PATH = "YOUR_PATH_TO_MULTILINGULE_E5"  # [Change This]

Question Answering !

If you have completed all the above settings, use the following command to start execution.

python ./main.py

Web Frontend

Use the unified web entry to start the frontend:

python ./start_web.py

Open in browser: http://localhost:7860/

On this interface, you can upload a table, view the HO-Tree structure, and ask our model questions about it!

💡 Semi-Structured Table QA Examples

QuestionGround TruthTableLLaMATableLLMReAcTableTAT-LLMTableLLaVAmPLUG-DocOwl1.5DeepseekV3GPT-4oST-Raptor
What is the value of the employment service satisfaction indicator in the overall budget performance target table for municipal departments in 2024?≧90%75.0737≧95%≧90%80%≧90%≧90%≧90%≧90%
How many items are there in the drawing specifications?152To change the template, you can follow these steps: ...7108174152315
How many status codes are there in the status code table?33To change the template, you can follow these steps: ...75333343
Which month had the lowest expenditure in 2020?FebruaryTravel expensesTo find the total expenditure amount in June 2019 ...June 5th""June 5thLong Boat Festival welfareFebruaryJanuaryFebruary
How many sales records did the brand "Tengyuan Mingju" have in June?73""7""135787
What was the business hospitality expense of the Comprehensive Management Office in February?5106.365106.36""""SELECT SUM(Amount incurred) FROM DF WHERE Project Content = 'Business entertainment expenses' ...3500130,1685106.365106.365106.36
What is the proposed funding for the social insurance gap and living allowance for college graduates under the "Three Supports and One Assistance" program?587.81 million yuan587.81To find the number of financially supported personnel ...To find the proposed investment amount for the social insurance gap and living allowance ...587.811.2 billion1140587.81587.81587.81
What is the target value for the number of new urban employment in the 2024 Municipal Department Overall Budget Performance Target Table?50000 people50000To find the number of financially supported personnel in...The question asks for the indicator value for the number of new urban employment ...50000148450000500005000050000
How many first-level indicators are there in the performance metrics?3101010101002343
How many third-level indicators are there in the quantity indicators of the performance metrics?42To change the template, you can follow these steps: ...To determine how many information items in the information item comparison...12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#27#28#29#30...1084838
How many points are deducted each time for disciplinary violations?0.50.50.50.50.5 pointsFor each violation of discipline, 10% of the employee's base salary will be deducted.0.5 points0.50.50.5
How many evaluation items are there for technical management in the key performance review indicators?915The item with the highest standard score in the basic performance evaluation indicators is ...7161040100
Has the fire safety approval process been completed for the area covered by this tender?Already registered, providedalready applied for and providedcompleted for the bidding areaThe item with the highest standard score in the basic performance...""The fire protection application procedure has been completed for the bidding area.YesConstruction reported and providedThe fire protection application has been completed.Construction reported, provided
How many responsible departments are involved at the construction site?12To determine the employee with the longest tenure in the table, ...1011222111
What is the total financial expense for all months?131265005635559.66""64800.043000005502141214121412
Who is responsible for sealing the reserved holes and sleeves of fire protection facilities and equipment?winning bidderwinning bidder""To answer the question "Who is responsible for sealing the reserved ...""fire departmentthe manufacturerwinning bidderThe winning bidder is responsible.winning bidder
Which two products had sales exceeding 3800 in June?Potato chips, Soy milkPotato chips, Soy milkTo find the sales volume of soy milk in June, weSQL: SELECT `product name`, June FROM DF WHERE June > 3800;....Potato chipsIn June, the sales of the two products were 3800 and 4200.Potato chips, Soy milkPotato chips, Soy milkPotato chips, Soy milkPotato chips, Soy milk
How many times is the sales volume of soy milk in May compared to the sales volume of potato chips in May?1.322.0666750001.320.277781.0461542.21.321.321.32
How much did the sales volume of glucose increase in February compared to January?350115050003503502300100350350350
Which month has the highest sales volume of nutritious oat cereal?JuneMayJuneJuneJuneMarchJuneJuneJuneJune
What was the sales volume of soy milk in June?5000500050005000500011505000500050005000
How many items are there in the specific project?101The specific contents of determining the cost calculation object...1101910101210
What is the description for the "Reported" status in the status code table?Change coordination, review feasibility by the Change Advisory Board.The Change Coordination Change Advisory Committee conducts a feasibility review.To change the template, you can follow these steps:The table provided does not contain any information about the "declared" status in the change status code table.The Change Coordination Change Advisory Committee conducts a feasibility review.The "declared" status is used to indicate that a change has been declared but not yet implemented.The Change Coordination Advisory Committee conducts a feasibility review.Change coordination Change Advisory Board conducts feasibility review.Change coordination Change Advisory Board conducts feasibility review.Change coordination Change Advisory Board conducts feasibility review.
What is the description related to information security requirements in the table of change reasons?Information security related management is requiredInformation security related management needsTo change the template, you can refer to the "Change Template" row in the table.""Information security related management needsThe change reason table includes information security needs, which are related to the change request.Information security relates to the management needsInformation security related management requirementsInformation security related management requirementsInformation security related management requirements
What was the sales volume of glucose in March?1150115050001150115018001150115011501150
What is the number of new urban employment positions?12,790,000 people1279.01279127912791000 people1279127912,79 million people1279
How many entries are there in the table of reasons for change?103To change the template, you can follow these steps: ...To determine how many reasons in the change reason table involve business...31041101
How many phases are there in the change phase code table?64To change the template, you can follow these steps ...555174666
What is the description of the change closure phase in the change phase code table?Change closed and archivedChange closure phase is the last phase of the change management processTo change the template, you can follow these steps:The table provided does not contain any information about the "change closure phase" or its description.Change closure and archivingThe change closure phase is a change phase that is used to indicate that the change has been completedChange closure and archivingChange closed and archivedChange closed and archivedChange closed and archived
How many more participants are enrolled in the basic old-age insurance for urban and rural residents than in the basic old-age insurance for urban employees at the end of the period?9745.25 million people53046.161812799745.24869745.2486100002000009745.24869745.24869745.2486
What is the percentage of unemployment insurance fund expenditure out of its fund revenue?96.53%0.023256127995.76%0.9691155.5633%96.5396.53%96.53
What is the total number of urban unemployed individuals who have found employment again and the number of individuals with employment difficulties who have found employment in employment and reemployment programs?66825412796686681000058466866866

Note: The "" cell in the table indicate that the baseline fails to generate an answer of that question.

The full result please refer to the file: baseline_output.jsonl

📍 Citation

If you like this project, please cite our paper link:

@article{tang2026straptor,
  author       = {Zirui Tang and Boyu Niu and Xuanhe Zhou and Boxiu Li and Wei Zhou and Jiannan Wang and Guoliang Li and Xinyi Zhang and Fan Wu},
  title        = {ST-Raptor: LLM-Powered Semi-Structured Table Question Answering},
  journal      = {Proc. {ACM} Manag. Data},
  year         = {2026}
}

👨‍🏫 Join us !

ST-Raptor@Complex Semi-Structured Table Analysis Community (Please contact the following WeChat account)

📝 License

This project is licensed under the MIT License - see the LICENSE file for details

Contributors

afuloowa1

30 commits

RaymondTang2003

24 commits

OpenDataBox/ST-Raptor

LLM-Powered Semi-Structured Table Question Answering

312

stars

54

commits

Python

primary language

Apr 3, 2026

updated

table-qa
table-understanding

README

ST-Raptor

✨ Project Introduction

ST-Raptor is a tool for answering questions over tables with diverse semi-structured layouts. It takes only an Excel-formatted table and a natural language question as input, and produces precise answers.

Unlike many existing approaches, ST-Raptor requires no additional fine-tuning. It combines a vision-language model (VLM) with a tree-construction algorithm (HO-Tree) and flexibly integrates with different LLMs. ST-Raptor employs a two-stage validation mechanism to ensure reliable results.

❓ What Tables Can ST-Raptor Handle?

📣 Updates

  • Main functionss

    • Support both local deployment or API calls for LLM, VLM, and Embedding models.
    • Support diverse input formats: HTML, CSV, MARKDOWN, ...
    • Support Image input.
    • Expand the table extraction module to support table types beyond problem definition.
  • Benchmark

    • Update both english and chinese version of SSTQA Benchmark.
    • The SSTQAv2 is on the way!!!
  • Visualization

    • Support web visualization platform (FastAPI + HTML).
    • Support hyper-parameter settings (WIP).
    • Support the visualization of HO-Tree structure.
    • Support the HO-Tree manual correction function.

Semi-structures tables like personal information form, academic tables, financial tables... from Excel, websites (HTML), Markdown, csv files...

💻 SSTQA Benchmark

The 102 tables and 764 questions in SSTQA are carefully curated from over 2031 real-world tables by considering $(i)$ tables featuring semi-structured formats, such as nested cells, multi-row/column headers, irregular layouts and $(ii)$ coverage across 19 representative real scenarios.

We list out 10 representative real scenarios as below:

Human Resources, Corporate Management, Financial Management, Marketing, Warehouse Management, Academic, Schedule Management, Application Forms, Education-related, and Sales Management.

You can find the SSTQA benchmark in ./data directory: SSTQA-en SSTQA-ch

📊 Performance

The following table demonstrates the answering accuracy (%) and ROUGE-L score of different methods over our collected SSTQA benchmark and other two benchmarks.

Note that the required question answering is highly dependent on both the semi-structured table complexity and the question complexity.

Baselines

NL2SQL methods: OpenSearch-SQL

Fine-tuning based methods: TableLLaMA TableLLM

Agent based methods: ReAcTable TAT-LLM

Vision Language Model based methods: TableLLaVA mPLUG-DocOwl1.5

Foudation Models: GPT-4o DeepSeekV3

Experiment Results

MethodWikiTQ-STTempTabQA-STSSTQASSTQA
Accuracy (%)Accuracy (%)Accuracy (%)ROUGE-L (%)
NL2SQL (200 Samples)
OpenSearch-SQL38.894.7624.0023.87
Fine-tuning based
TableLLaMA35.0132.7040.3926.71
TableLLM62.409.137.842.93
Agent based
ReAcTable68.0035.8837.247.49
TAT-LLM23.3261.8639.7819.26
VLM based
TableLLaVA20.416.919.525.92
mPLUG-DocOwl1.539.8039.8029.5628.43
Foundation Model
GPT-4o60.7174.8362.1243.86
DeepSeekV369.6463.8162.1646.17
ST-Raptor71.1777.5972.3952.19

🕹 Quick Start

1. Clone Repository

git clone git@github.com:weAIDB/ST-Raptor.git
cd ST-Raptor
Please download this repository.

2. Environment & Benchmark & Model

Environment.

  1. Use the following command to install the conda environment.
# create virtual environment
conda create -n straptor python=3.10
conda activate straptor
# install required packages
pip install -r requirements.txt
  1. Install the HTML rendering plugin wkhtmltox and font package.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt-get install -f ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt-get install -y fonts-noto-cjk fonts-wqy-microhei

Benchmark

  1. You can find the SSTQA benchmark in ./data directory: SSTQA-en SSTQA-ch
  2. Change the settings in ./main.py
# You need to change this
input_jsonl = 'PATH_TO_YOUR_INPUT_JSONL'      # The QA pairs
table_dir = 'PATH_TO_YOUR_TABLE_DIR'          # The corresponding tables
pkl_dir = 'PATH_TO_YOUR_PKL_DIR'              # The directory to store HO-Tree object files 
output_jsonl = 'PATH_TO_YOUR_OUTPUT_JSONL'    # The QA results
log_dir = 'PATH_TO_YOUR_LOG_DIR'              # The directory to store log files

The Q&A data is stored in a JSONL format file, and the format of each record is as follows.

{
	"id": "XXX", 
	"table_id": "XXX", 
	"query": "XXX", 
	"label": "XXX"    // Optional when inference
}

Model Configuration. The model configuration in our paper includes Deepseek-V3 (LLM API) + InternVL2.5 26B (VLM) + Multilingual-E5-Large-Instruct (Embedding Model). This configuration requires a total of approximately 160GB of GPU memory. You can replace the model according to the hardware situation or change it to use APIs.

You need to set model configuration in ./utils/constnts.py

"""Change this for requesting LLM"""
LLM_API_URL = "YOUR_LLM_API_URL"
LLM_API_KEY = "YOUR_LLM_API_KEY"
LLM_MODEL_TYPE = "YOUR_LLM_MODEL_TYPE" 

"""Change this for requesting VLM"""
VLM_API_URL = "YOUR_VLM_API_URL"
VLM_API_KEY = "YOUR_VLM_API_KEY"
VLM_MODEL_TYPE = "YOUR_VLM_MODEL_TYPE"

"""Change this for requesting Embedding Model"""
EMBEDDING_TYPE = "api" # api / local

## If EMBEDDING_TYPE is local
EMBEDDING_MODE_PATH = "YOUR_PATH_TO_MULTILINGULE_E5"

## If EMBEDDING_TYPE is api
EMBEDDING_API_URL = "YOUR_EMBEDDING_API_URL"
EMBEDDING_API_KEY = "YOUR_EMBEDDING_API_KEY"
EMBEDDING_MODEL_TYPE = "YOUR_EMBEDDING_MODEL_TYPE"

If you want to use other format of APIs, please revise the code in ./utils/api_utils.py

Use local deployment VLM and Embedding Model with LLM API as an example.

First to Download InternVL2.5 and Download Multilingual-E5

  1. Install the vllm package.
pip install vllm
  1. Denote the GPU and deploy the VLM.
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server \
--model=PATH_TO_INTERNVL \
--served-model-name internvl
--port 8138 \
--trust-remote-code \
--max-num-batched-tokens 8192 \
--seed 42 \
--tensor-parallel-size 4
  1. Set API configs in ./utils/constnts.py
"""Change this for requesting LLM"""
LLM_API_URL = "YOUR_LLM_API_URL"        # [Change This]
LLM_API_KEY = "YOUR_LLM_API_KEY"        # [Change This]
LLM_MODEL_TYPE = "YOUR_LLM_MODEL_TYPE"  # [Change This]

"""Change this for requesting VLM"""
VLM_API_URL = "http://localhost:8000/v1/"
VLM_API_KEY = "Empty"
VLM_MODEL_TYPE = "internvl"

"""Change this for requesting Embedding Model"""
EMBEDDING_TYPE = "local" # api / local

## If EMBEDDING_TYPE is local
EMBEDDING_MODE_PATH = "YOUR_PATH_TO_MULTILINGULE_E5"  # [Change This]

Question Answering !

If you have completed all the above settings, use the following command to start execution.

python ./main.py

Web Frontend

Use the unified web entry to start the frontend:

python ./start_web.py

Open in browser: http://localhost:7860/

On this interface, you can upload a table, view the HO-Tree structure, and ask our model questions about it!

💡 Semi-Structured Table QA Examples

QuestionGround TruthTableLLaMATableLLMReAcTableTAT-LLMTableLLaVAmPLUG-DocOwl1.5DeepseekV3GPT-4oST-Raptor
What is the value of the employment service satisfaction indicator in the overall budget performance target table for municipal departments in 2024?≧90%75.0737≧95%≧90%80%≧90%≧90%≧90%≧90%
How many items are there in the drawing specifications?152To change the template, you can follow these steps: ...7108174152315
How many status codes are there in the status code table?33To change the template, you can follow these steps: ...75333343
Which month had the lowest expenditure in 2020?FebruaryTravel expensesTo find the total expenditure amount in June 2019 ...June 5th""June 5thLong Boat Festival welfareFebruaryJanuaryFebruary
How many sales records did the brand "Tengyuan Mingju" have in June?73""7""135787
What was the business hospitality expense of the Comprehensive Management Office in February?5106.365106.36""""SELECT SUM(Amount incurred) FROM DF WHERE Project Content = 'Business entertainment expenses' ...3500130,1685106.365106.365106.36
What is the proposed funding for the social insurance gap and living allowance for college graduates under the "Three Supports and One Assistance" program?587.81 million yuan587.81To find the number of financially supported personnel ...To find the proposed investment amount for the social insurance gap and living allowance ...587.811.2 billion1140587.81587.81587.81
What is the target value for the number of new urban employment in the 2024 Municipal Department Overall Budget Performance Target Table?50000 people50000To find the number of financially supported personnel in...The question asks for the indicator value for the number of new urban employment ...50000148450000500005000050000
How many first-level indicators are there in the performance metrics?3101010101002343
How many third-level indicators are there in the quantity indicators of the performance metrics?42To change the template, you can follow these steps: ...To determine how many information items in the information item comparison...12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#27#28#29#30...1084838
How many points are deducted each time for disciplinary violations?0.50.50.50.50.5 pointsFor each violation of discipline, 10% of the employee's base salary will be deducted.0.5 points0.50.50.5
How many evaluation items are there for technical management in the key performance review indicators?915The item with the highest standard score in the basic performance evaluation indicators is ...7161040100
Has the fire safety approval process been completed for the area covered by this tender?Already registered, providedalready applied for and providedcompleted for the bidding areaThe item with the highest standard score in the basic performance...""The fire protection application procedure has been completed for the bidding area.YesConstruction reported and providedThe fire protection application has been completed.Construction reported, provided
How many responsible departments are involved at the construction site?12To determine the employee with the longest tenure in the table, ...1011222111
What is the total financial expense for all months?131265005635559.66""64800.043000005502141214121412
Who is responsible for sealing the reserved holes and sleeves of fire protection facilities and equipment?winning bidderwinning bidder""To answer the question "Who is responsible for sealing the reserved ...""fire departmentthe manufacturerwinning bidderThe winning bidder is responsible.winning bidder
Which two products had sales exceeding 3800 in June?Potato chips, Soy milkPotato chips, Soy milkTo find the sales volume of soy milk in June, weSQL: SELECT `product name`, June FROM DF WHERE June > 3800;....Potato chipsIn June, the sales of the two products were 3800 and 4200.Potato chips, Soy milkPotato chips, Soy milkPotato chips, Soy milkPotato chips, Soy milk
How many times is the sales volume of soy milk in May compared to the sales volume of potato chips in May?1.322.0666750001.320.277781.0461542.21.321.321.32
How much did the sales volume of glucose increase in February compared to January?350115050003503502300100350350350
Which month has the highest sales volume of nutritious oat cereal?JuneMayJuneJuneJuneMarchJuneJuneJuneJune
What was the sales volume of soy milk in June?5000500050005000500011505000500050005000
How many items are there in the specific project?101The specific contents of determining the cost calculation object...1101910101210
What is the description for the "Reported" status in the status code table?Change coordination, review feasibility by the Change Advisory Board.The Change Coordination Change Advisory Committee conducts a feasibility review.To change the template, you can follow these steps:The table provided does not contain any information about the "declared" status in the change status code table.The Change Coordination Change Advisory Committee conducts a feasibility review.The "declared" status is used to indicate that a change has been declared but not yet implemented.The Change Coordination Advisory Committee conducts a feasibility review.Change coordination Change Advisory Board conducts feasibility review.Change coordination Change Advisory Board conducts feasibility review.Change coordination Change Advisory Board conducts feasibility review.
What is the description related to information security requirements in the table of change reasons?Information security related management is requiredInformation security related management needsTo change the template, you can refer to the "Change Template" row in the table.""Information security related management needsThe change reason table includes information security needs, which are related to the change request.Information security relates to the management needsInformation security related management requirementsInformation security related management requirementsInformation security related management requirements
What was the sales volume of glucose in March?1150115050001150115018001150115011501150
What is the number of new urban employment positions?12,790,000 people1279.01279127912791000 people1279127912,79 million people1279
How many entries are there in the table of reasons for change?103To change the template, you can follow these steps: ...To determine how many reasons in the change reason table involve business...31041101
How many phases are there in the change phase code table?64To change the template, you can follow these steps ...555174666
What is the description of the change closure phase in the change phase code table?Change closed and archivedChange closure phase is the last phase of the change management processTo change the template, you can follow these steps:The table provided does not contain any information about the "change closure phase" or its description.Change closure and archivingThe change closure phase is a change phase that is used to indicate that the change has been completedChange closure and archivingChange closed and archivedChange closed and archivedChange closed and archived
How many more participants are enrolled in the basic old-age insurance for urban and rural residents than in the basic old-age insurance for urban employees at the end of the period?9745.25 million people53046.161812799745.24869745.2486100002000009745.24869745.24869745.2486
What is the percentage of unemployment insurance fund expenditure out of its fund revenue?96.53%0.023256127995.76%0.9691155.5633%96.5396.53%96.53
What is the total number of urban unemployed individuals who have found employment again and the number of individuals with employment difficulties who have found employment in employment and reemployment programs?66825412796686681000058466866866

Note: The "" cell in the table indicate that the baseline fails to generate an answer of that question.

The full result please refer to the file: baseline_output.jsonl

📍 Citation

If you like this project, please cite our paper link:

@article{tang2026straptor,
  author       = {Zirui Tang and Boyu Niu and Xuanhe Zhou and Boxiu Li and Wei Zhou and Jiannan Wang and Guoliang Li and Xinyi Zhang and Fan Wu},
  title        = {ST-Raptor: LLM-Powered Semi-Structured Table Question Answering},
  journal      = {Proc. {ACM} Manag. Data},
  year         = {2026}
}

👨‍🏫 Join us !

ST-Raptor@Complex Semi-Structured Table Analysis Community (Please contact the following WeChat account)

📝 License

This project is licensed under the MIT License - see the LICENSE file for details

Contributors

afuloowa1

30 commits

RaymondTang2003

24 commits

Languages

Python

68.1%

JavaScript

19.9%

HTML

7.6%

CSS

4.4%