CoolFace
Apppublic

dkAmulet/sql-query-optimizer

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes
App README

SQL Query Optimizer — OpenEnv Environment

An RL environment where AI agents learn to rewrite slow SQL queries for correctness, performance, and style — against a live SQLite e-commerce database.

![OpenEnv]() ![Python 3.11]() ![License MIT]()


Quick Start

bash
# Reset to the easiest task
curl -X POST "$SPACE_URL/reset?task_id=select_star_removal"

# Submit an optimised query
curl -X POST "$SPACE_URL/step" \
     -H "Content-Type: application/json" \
     -d '{"optimized_query": "SELECT user_id, username, email FROM users WHERE is_active = 1"}'

# Check current episode state
curl "$SPACE_URL/state"

Interactive API docs: $SPACE_URL/docs


Tasks

IDNameDifficultyMax Steps
select_star_removalSELECT * EliminationEasy5
subquery_to_joinCorrelated Subquery → JOINMedium6
aggregation_optimizationAggregation OptimizationHard8

Reward Dimensions

Every step returns a dense, partial-credit reward:

DimensionMaxSignal
validity0.10Query runs without error
correctness0.35–0.40Same result set as reference
performance0.20–0.30Index usage in EXPLAIN plan
style0.20–0.30No SELECT *, no correlated subqueries

Baseline Scores (GPT-4o-mini)

TaskScore
SELECT * Elimination0.70
Correlated Subquery → JOIN0.60
Aggregation Optimization0.45
Overall0.58

Full documentation in README.md.