P-Karthik-Mohan commited on
Commit
d664e16
·
1 Parent(s): a752355

Final submission - 0.985 average reward, 6/8 tasks solved

Browse files
Files changed (4) hide show
  1. __pycache__/main.cpython-313.pyc +0 -0
  2. requirements.txt +0 -1
  3. results.json +43 -3
  4. 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 \nFROM orders \nWHERE status = 'completed' AND STRFTIME('%Y', order_date) = '2024'",
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": 1.0,
29
- "tasks_solved": 3
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)