Spaces:
Sleeping
Sleeping
Commit ·
d664e16
1
Parent(s): a752355
Final submission - 0.985 average reward, 6/8 tasks solved
Browse files- __pycache__/main.cpython-313.pyc +0 -0
- requirements.txt +0 -1
- results.json +43 -3
- test.py +16 -0
__pycache__/main.cpython-313.pyc
CHANGED
|
Binary files a/__pycache__/main.cpython-313.pyc and b/__pycache__/main.cpython-313.pyc differ
|
|
|
requirements.txt
CHANGED
|
@@ -5,5 +5,4 @@ requests==2.32.3
|
|
| 5 |
openai==1.51.0
|
| 6 |
python-dotenv==1.0.1
|
| 7 |
pyyaml==6.0.2
|
| 8 |
-
gradio==4.44.0
|
| 9 |
pandas
|
|
|
|
| 5 |
openai==1.51.0
|
| 6 |
python-dotenv==1.0.1
|
| 7 |
pyyaml==6.0.2
|
|
|
|
| 8 |
pandas
|
results.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
"difficulty": "easy",
|
| 6 |
"best_reward": 1.0,
|
| 7 |
"attempts": 1,
|
| 8 |
-
"final_sql": "SELECT COUNT(*) AS total_orders
|
| 9 |
"solved": true
|
| 10 |
},
|
| 11 |
{
|
|
@@ -23,8 +23,48 @@
|
|
| 23 |
"attempts": 1,
|
| 24 |
"final_sql": "WITH category_revenue AS (\n SELECT p.category, SUM(o.total_amount) AS total_revenue\n FROM orders o\n JOIN products p ON o.product_id = p.product_id\n WHERE o.status = 'completed'\n GROUP BY p.category\n)\nSELECT category, total_revenue, RANK() OVER (ORDER BY total_revenue DESC) AS revenue_rank\nFROM category_revenue\nORDER BY revenue_rank ASC;",
|
| 25 |
"solved": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
],
|
| 28 |
-
"avg_score":
|
| 29 |
-
"tasks_solved":
|
| 30 |
}
|
|
|
|
| 5 |
"difficulty": "easy",
|
| 6 |
"best_reward": 1.0,
|
| 7 |
"attempts": 1,
|
| 8 |
+
"final_sql": "SELECT COUNT(*) AS total_orders\nFROM orders\nWHERE STRFTIME('%Y', order_date) = '2024' AND status = 'completed'",
|
| 9 |
"solved": true
|
| 10 |
},
|
| 11 |
{
|
|
|
|
| 23 |
"attempts": 1,
|
| 24 |
"final_sql": "WITH category_revenue AS (\n SELECT p.category, SUM(o.total_amount) AS total_revenue\n FROM orders o\n JOIN products p ON o.product_id = p.product_id\n WHERE o.status = 'completed'\n GROUP BY p.category\n)\nSELECT category, total_revenue, RANK() OVER (ORDER BY total_revenue DESC) AS revenue_rank\nFROM category_revenue\nORDER BY revenue_rank ASC;",
|
| 25 |
"solved": true
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"task_id": 4,
|
| 29 |
+
"difficulty": "medium",
|
| 30 |
+
"best_reward": 1.0,
|
| 31 |
+
"attempts": 1,
|
| 32 |
+
"final_sql": "SELECT \n p.category, \n AVG(p.price) AS avg_price\nFROM \n products p\nGROUP BY \n p.category\nHAVING \n COUNT(p.product_id) > 2",
|
| 33 |
+
"solved": true
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"task_id": 5,
|
| 37 |
+
"difficulty": "hard",
|
| 38 |
+
"best_reward": 1.0,
|
| 39 |
+
"attempts": 1,
|
| 40 |
+
"final_sql": "SELECT customer_id, first_name \nFROM customers \nWHERE customer_id IN (\n SELECT customer_id \n FROM orders \n WHERE product_id IN (\n SELECT product_id \n FROM products \n WHERE category = 'Electronics'\n )\n INTERSECT\n SELECT customer_id \n FROM orders \n WHERE product_id IN (\n SELECT product_id \n FROM products \n WHERE category = 'Clothing'\n )\n);",
|
| 41 |
+
"solved": true
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"task_id": 6,
|
| 45 |
+
"difficulty": "expert",
|
| 46 |
+
"best_reward": 0.9,
|
| 47 |
+
"attempts": 5,
|
| 48 |
+
"final_sql": "SELECT \n STRFTIME('%Y-%m', order_date) AS month,\n SUM(total_amount) AS total_revenue,\n LAG(SUM(total_amount)) OVER (ORDER BY STRFTIME('%Y-%m', order_date)) AS prev_revenue,\n ROUND(COALESCE((SUM(total_amount) - LAG(SUM(total_amount)) OVER (ORDER BY STRFTIME('%Y-%m', order_date))) / \n NULLIF(LAG(SUM(total_amount)) OVER (ORDER BY STRFTIME('%Y-%m', order_date)), 0) * 100, NULL), 2) AS growth_pct\nFROM orders\nWHERE STRFTIME('%Y', order_date) = '2024' AND status = 'completed'\nGROUP BY STRFTIME('%Y-%m', order_date)\nORDER BY STRFTIME('%Y-%m', order_date)",
|
| 49 |
+
"solved": false
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"task_id": 7,
|
| 53 |
+
"difficulty": "expert",
|
| 54 |
+
"best_reward": 1.0,
|
| 55 |
+
"attempts": 1,
|
| 56 |
+
"final_sql": "WITH ranked_orders AS (\n SELECT \n c.city,\n p.product_name,\n SUM(o.quantity) AS total_quantity,\n RANK() OVER (PARTITION BY c.city ORDER BY SUM(o.quantity) DESC, p.product_id ASC) AS rank\n FROM \n customers c\n JOIN \n orders o ON c.customer_id = o.customer_id\n JOIN \n products p ON o.product_id = p.product_id\n WHERE \n o.status = 'completed'\n GROUP BY \n c.city, p.product_name, p.product_id\n)\nSELECT \n city,\n product_name,\n total_quantity\nFROM \n ranked_orders\nWHERE \n rank = 1\nORDER BY \n city ASC;",
|
| 57 |
+
"solved": true
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"task_id": 8,
|
| 61 |
+
"difficulty": "expert",
|
| 62 |
+
"best_reward": 0.98,
|
| 63 |
+
"attempts": 5,
|
| 64 |
+
"final_sql": "SELECT \n c.customer_id, \n c.first_name, \n c.last_name, \n SUM(CASE WHEN STRFTIME('%Y', o.order_date) = 2024 AND STRFTIME('%m', o.order_date) BETWEEN '01' AND '06' THEN o.total_amount ELSE 0 END) AS h1_revenue,\n SUM(CASE WHEN STRFTIME('%Y', o.order_date) = 2024 AND STRFTIME('%m', o.order_date) BETWEEN '07' AND '12' THEN o.total_amount ELSE 0 END) AS h2_revenue\nFROM \n customers c\n JOIN orders o ON c.customer_id = o.customer_id\nWHERE \n o.status = 'completed'\nGROUP BY \n c.customer_id, c.first_name, c.last_name\nHAVING \n h2_revenue > h1_revenue\nORDER BY \n h2_revenue DESC",
|
| 65 |
+
"solved": false
|
| 66 |
}
|
| 67 |
],
|
| 68 |
+
"avg_score": 0.985,
|
| 69 |
+
"tasks_solved": 6
|
| 70 |
}
|
test.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import requests
|
| 2 |
+
import json
|
| 3 |
+
|
| 4 |
+
base = "https://p-karthik-mohan-sql-analyst-env.hf.space"
|
| 5 |
+
|
| 6 |
+
sql = "SELECT c.customer_id, c.first_name, c.last_name, SUM(CASE WHEN STRFTIME('%m', o.order_date) BETWEEN '01' AND '06' THEN o.total_amount ELSE 0 END) AS h1_revenue, SUM(CASE WHEN STRFTIME('%m', o.order_date) BETWEEN '07' AND '12' THEN o.total_amount ELSE 0 END) AS h2_revenue FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.status = 'completed' AND o.order_date LIKE '2024%' GROUP BY c.customer_id HAVING h2_revenue > h1_revenue ORDER BY h2_revenue DESC"
|
| 7 |
+
|
| 8 |
+
requests.post(f"{base}/reset", json={"task_id": 8})
|
| 9 |
+
r = requests.post(f"{base}/step", json={"action": sql})
|
| 10 |
+
data = r.json()
|
| 11 |
+
|
| 12 |
+
print("Reward:", data["reward"])
|
| 13 |
+
print("Breakdown:", json.dumps(data["observation"]["reward_breakdown"], indent=2))
|
| 14 |
+
print("First 2 rows agent got:")
|
| 15 |
+
for row in data["observation"]["result_preview"][:2]:
|
| 16 |
+
print(" ", row)
|