ucalyptus/birdbench-duckdb
BirdBench Dataset in DuckDB format BirdBench is a benchmark for text-to-SQL capabilities, now available in DuckDB format for improved performance and usability. About BirdBench BirdBench is a comprehensive benchmark dataset for evaluating text-to-SQL capabilities of language models. It features a diverse collection of databases spanning various domains including: Business and finance Entertainment and media Sports and recreation Health and medicine Education… See the full description on the dataset page: https://huggingface.co/datasets/ucalyptus/birdbench-duckdb.
BirdBench Dataset in DuckDB format
BirdBench is a benchmark for text-to-SQL capabilities, now available in DuckDB format for improved performance and usability.
About BirdBench
BirdBench is a comprehensive benchmark dataset for evaluating text-to-SQL capabilities of language models. It features a diverse collection of databases spanning various domains including:
- Business and finance
- Entertainment and media
- Sports and recreation
- Health and medicine
- Education
- Travel and geography
- And many more
Why DuckDB?
This repository contains the BirdBench dataset converted from SQLite to DuckDB format, which offers several advantages:
- Performance: DuckDB is significantly faster for analytical queries
- Integration: Better integration with Python data science tools
- Features: Support for vectorized operations and advanced analytical functions
- Compatibility: Works well in environments where SQLite might have limitations
Dataset Structure
The dataset maintains the original BirdBench structure, with both training and validation databases converted to DuckDB format:
/train- Contains training databases/validation- Contains validation databases
Each database preserves the original schema and data from the SQLite version.
Usage
Loading a database
import duckdb
# Connect to a database
conn = duckdb.connect('path/to/database.duckdb')
# List tables
tables = conn.execute('SELECT name FROM sqlite_master WHERE type="table"').fetchall()
print(tables)
# Run a query
result = conn.execute('SELECT * FROM your_table LIMIT 5').fetchall()
print(result)