liovina commited on
Commit
0b58b9a
·
verified ·
1 Parent(s): 9a6d5c7

Deploy NL_SQL HEAD to HF Space

Browse files
app/streamlit_app.py CHANGED
@@ -61,8 +61,8 @@ I18N: dict[str, dict[str, str]] = {
61
  "metric_percent": "100%",
62
  "metric_caption": "30 dev + 30 held-out, balanced split, all ten query categories at 100% on the free-tier codestral pipeline.",
63
  "research_kicker": "BIRD Mini-Dev research benchmark",
64
- "research_value": "79.0% / 200",
65
- "research_caption": "Hybrid pipeline: codestral + Sonnet on challenging tier + cross-provider voting + grounded-critique directed retry + Sonnet 4.6 bridge on the remaining fails. +29.2pp over the GPT-4 zero-shot reference (47.8%), $0 external cost.",
66
  "settings_header": "Settings",
67
  "db_label": "Database",
68
  "db_dialect": "Dialect",
@@ -131,8 +131,8 @@ I18N: dict[str, dict[str, str]] = {
131
  "metric_percent": "100%",
132
  "metric_caption": "30 dev + 30 held-out, сбалансированный сплит, все десять категорий запросов на 100% через бесплатный codestral.",
133
  "research_kicker": "Исследовательский бенчмарк BIRD Mini-Dev",
134
- "research_value": "79.0% / 200",
135
- "research_caption": "Гибрид: codestral + Sonnet на challenging-тире + кросс-провайдер voting + grounded-critique directed retry + Sonnet 4.6 bridge на оставшихся фейлах. +29.2 п.п. над zero-shot GPT-4 (47.8%), внешние расходы — ноль.",
136
  "settings_header": "Настройки",
137
  "db_label": "База данных",
138
  "db_dialect": "Диалект",
 
61
  "metric_percent": "100%",
62
  "metric_caption": "30 dev + 30 held-out, balanced split, all ten query categories at 100% on the free-tier codestral pipeline.",
63
  "research_kicker": "BIRD Mini-Dev research benchmark",
64
+ "research_value": "80.0% / 200",
65
+ "research_caption": "Hybrid pipeline: codestral + Sonnet on challenging tier + cross-provider voting + grounded-critique directed retry + Sonnet 4.6 bridge on the remaining fails. +32.2pp over the GPT-4 zero-shot reference (47.8%), $0 external cost.",
66
  "settings_header": "Settings",
67
  "db_label": "Database",
68
  "db_dialect": "Dialect",
 
131
  "metric_percent": "100%",
132
  "metric_caption": "30 dev + 30 held-out, сбалансированный сплит, все десять категорий запросов на 100% через бесплатный codestral.",
133
  "research_kicker": "Исследовательский бенчмарк BIRD Mini-Dev",
134
+ "research_value": "80.0% / 200",
135
+ "research_caption": "Гибрид: codestral + Sonnet на challenging-тире + кросс-провайдер voting + grounded-critique directed retry + Sonnet 4.6 bridge на оставшихся фейлах. +32.2 п.п. над zero-shot GPT-4 (47.8%), внешние расходы — ноль.",
136
  "settings_header": "Настройки",
137
  "db_label": "База данных",
138
  "db_dialect": "Диалект",
chroma_data/chroma.sqlite3 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d7f72c510d8781191aa4e8173bee8ba4550f99d4f1f5df7562c5191435058aea
3
  size 18161664
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:71e30053ed54f40c313c34a77517af48ab8ad100a4a334b8dbd9e9daeafd67c0
3
  size 18161664
chroma_data/fc9668d3-4384-40d9-aa8d-0010807a5a68/data_level0.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9f7a9f240805365c053e0d463ec92d146c94b4dc22ec2f05297745fc44c5dcd2
3
  size 423600
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ed4ebbcc08c0f8d3d33a18e6a88135ffb08bc518c6adfe04f4aee39f3e44ad8
3
  size 423600
chroma_data/fc9668d3-4384-40d9-aa8d-0010807a5a68/length.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1a7518686c00d3009a5c05e60bca24d2903519877de75996d3df0d945f18bc8b
3
  size 400
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9142387334b53a34226a53a60878980670c9a2a28a56cd9f8ddf2e7d44f3975
3
  size 400
docs/NEXT_SESSION.md CHANGED
@@ -3,11 +3,11 @@
3
  > Один лист, без воды. Берёшь, делаешь, обновляешь `SESSION_HANDOFF.md`,
4
  > удаляешь этот файл (или переписываешь под следующий sprint).
5
 
6
- ## Контекст на 2026-05-17 EOS
7
 
8
- - HEAD `e0ea5ad` (после 9370070 + P2.B fewshot5-residue lift + HF Dockerfile fix)
9
- - BIRD Mini-Dev n=200: **79.0% EA** (158/200), per tier 91.0/75.8/64.7 (v8 = v7 + cross-Groq llama-3.3-70b + qwen3-32b voting на residue, +3 rescues qids 219+352+366)
10
- - **Live demo:** <https://liovina-nl-sql.hf.space> RUNNING, headline 79.0% / 200
11
  - 270 pytest pass, ruff + mypy strict clean (55 source files)
12
  - Streamlit UI editorial monochrome + EN/RU (закрыто 2026-05-13)
13
  - Portfolio screenshots: `docs/ui-2026-05-17-{en,ru}.png` (local Streamlit) + `docs/ui-live-en.png` (live HF)
@@ -17,14 +17,14 @@
17
 
18
  1. ~~Screenshots EN+RU local Streamlit~~ ✓ закрыто 2026-05-17.
19
  2. **Короткий live-URL ролик** (`D:\AutoReel\` шаблон ИЛИ Playwright video record):
20
- - shot A: hero (headline 77.5% + metric block)
21
  - shot B: sample-click → SQL + answer render
22
  - shot C: EN→RU toggle
23
  - **Источник: live URL** (`https://liovina-nl-sql.hf.space`), не localhost — memory `feedback_real_product_over_mockup`.
24
 
25
- ## P2/P3 — quality push past 79.0% ($0 budget)
26
 
27
- Остаток **42 фейла** (после v8): 22 row_count_off + 13 filter_or_value + 5 order_by_off + 2 errors.
28
 
29
  | Эксперимент | Статус | Ожидание |
30
  |---|---|---|
 
3
  > Один лист, без воды. Берёшь, делаешь, обновляешь `SESSION_HANDOFF.md`,
4
  > удаляешь этот файл (или переписываешь под следующий sprint).
5
 
6
+ ## Контекст на 2026-05-17 late-night
7
 
8
+ - HEAD `fcd7ec3` + v9 sprint (см. SESSION_HANDOFF.md)
9
+ - BIRD Mini-Dev n=200: **80.0% EA** (160/200), per tier 91.0/76.8/67.6 (v9 = v8 + gpt-oss-20b voting +2 rescues qids 571 moderate + 1232 challenging)
10
+ - **Live demo:** <https://liovina-nl-sql.hf.space> RUNNING, headline 80.0% / 200
11
  - 270 pytest pass, ruff + mypy strict clean (55 source files)
12
  - Streamlit UI editorial monochrome + EN/RU (закрыто 2026-05-13)
13
  - Portfolio screenshots: `docs/ui-2026-05-17-{en,ru}.png` (local Streamlit) + `docs/ui-live-en.png` (live HF)
 
17
 
18
  1. ~~Screenshots EN+RU local Streamlit~~ ✓ закрыто 2026-05-17.
19
  2. **Короткий live-URL ролик** (`D:\AutoReel\` шаблон ИЛИ Playwright video record):
20
+ - shot A: hero (headline 80.0% + metric block)
21
  - shot B: sample-click → SQL + answer render
22
  - shot C: EN→RU toggle
23
  - **Источник: live URL** (`https://liovina-nl-sql.hf.space`), не localhost — memory `feedback_real_product_over_mockup`.
24
 
25
+ ## P2/P3 — quality push past 80.0% ($0 budget)
26
 
27
+ Остаток **40 фейлов** (после v9). gpt-oss-20b voting (free tier, lightweight) использован на 13/20 ранее-unattempted residue — +2 rescues, TPM 8K режет на 7/20 с long prompts. Residue после v9 ещё содержит ~28 unattempted llama-3.3-70b (TPD cooldown) + 7 gpt-oss-20b TPM-blocked.
28
 
29
  | Эксперимент | Статус | Ожидание |
30
  |---|---|---|
docs/SESSION_HANDOFF.md CHANGED
@@ -1,12 +1,26 @@
1
- # NL_SQL — Session Handoff (2026-05-17 EOS: 77.5% BIRD + live HF Space + autonomous deploy/lift sprint)
2
-
3
- > **Tl;dr 2026-05-17 EOS:** P0 closed (live demo on HF Spaces, headless API
4
- > deploy), P2.B closed (+1 selective fewshot rescue → 77.5% n=200). Full
5
- > gate green: 270 pytest, ruff + mypy strict clean. Mistral-large voting
6
- > on residue tried negative (rate-limit + structural agreement with
7
- > codestral). Open: P2.A (GraceKelly GPT-5.4) and P2.C (Sonnet
8
- > rephrasing) gated on Chrome profile confirmation; P2.D (custom
9
- > schema-linker for row_count_off) research-grade.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  >
11
  > Read `docs/NEXT_SESSION.md` for the action list and historic context
12
  > in this file below.
 
1
+ # NL_SQL — Session Handoff (2026-05-17 late-night: 80.0% BIRD + gpt-oss-20b v8 rescue + live HF Space)
2
+
3
+ > **Tl;dr 2026-05-17 late-night:** P0 closed (live demo on HF Spaces),
4
+ > P2.B closed (+1 selective fewshot rescue → 77.5%), P3 cross-Groq closed
5
+ > (+3 rescues 79.0%), **gpt-oss-20b voting on v8 residue closed
6
+ > (+2 rescues qids 571 moderate / 1232 challenging 80.0% n=200, 160/200,
7
+ > simple 91.0 / moderate 76.8 / challenging 67.6)**. Live:
8
+ > <https://liovina-nl-sql.hf.space>, headline 80.0%.
9
+ >
10
+ > **Sprint 2026-05-17 late-night results** (HEAD `fcd7ec3` → v9):
11
+ > - openai/gpt-oss-20b: +2 rescues (qids 571 ratio aggregation, 1232 date-arith) — lightweight model добивает то, что Mistral family unanimous провалил
12
+ > - llama-3.3-70b-versatile retry: TPD ещё не сброшен (96.5K/100K, reset 20-108 мин на момент попытки)
13
+ > - qwen/qwen3-32b retry: TPM 6K hard режет промпты 6.6-12K (saturated, не повторять без promp shrink)
14
+ >
15
+ > Cumulative v9 voting bench:
16
+ > - v8 contributors: llama-3.3-70b +2, qwen3-32b +1
17
+ > - v9 contributors: gpt-oss-20b +2 (free tier, lightweight, кэш-friendly)
18
+ > - Negative: mistral-large (TPD-bound + unanimous structural), codestral fewshot=7, gpt-oss-120b (TPM 8K vs critique 10K+), wide-schema (row_count_off ceiling)
19
+ >
20
+ > Open: P3.D (GraceKelly GPT-5.4) и P3.E (Sonnet rephrasing) gated on
21
+ > Chrome profile confirmation; P3.F (custom JOIN-path schema-linker
22
+ > for row_count_off) research-grade; llama-3.3-70b TPD reset retry на
23
+ > ~28 unattempted cases (~24h cooldown).
24
  >
25
  > Read `docs/NEXT_SESSION.md` for the action list and historic context
26
  > in this file below.
eval/reports/2026-05-17/groq-gpt-oss-20b-on-v8-residue.json ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alt_model": "openai/gpt-oss-20b",
3
+ "summary": {
4
+ "voted_better": 2,
5
+ "voted_worse": 0,
6
+ "voted_same": 11,
7
+ "groq_input_tokens": 78981,
8
+ "groq_output_tokens": 13200
9
+ },
10
+ "records": [
11
+ {
12
+ "question_id": 571,
13
+ "db_id": "codebase_community",
14
+ "difficulty": "moderate",
15
+ "question": "For the user No.24, how many times is the number of his/her posts compared to his/her votes?",
16
+ "gold_sql": "SELECT CAST(COUNT(DISTINCT T2.Id) AS REAL) / COUNT(DISTINCT T1.Id) FROM votes AS T1 INNER JOIN posts AS T2 ON T1.UserId = T2.OwnerUserId WHERE T1.UserId = 24",
17
+ "baseline_pred": "SELECT CAST(COUNT(DISTINCT p.Id) AS REAL) / NULLIF(COUNT(DISTINCT v.Id), 0) AS post_to_vote_ratio FROM posts p LEFT JOIN votes v ON p.Id = v.PostId WHERE p.OwnerUserId = 24",
18
+ "alt_pred": "SELECT CAST(COUNT(*) AS REAL) / (SELECT COUNT(*) FROM votes WHERE UserId = 24) AS ratio FROM posts WHERE OwnerUserId = 24",
19
+ "alt_confidence": 0.95,
20
+ "baseline_match": false,
21
+ "alt_match": true,
22
+ "vote_match": true,
23
+ "vote_source": "alt-pick",
24
+ "agree": false,
25
+ "elapsed_ms": 2499.6056000018143
26
+ },
27
+ {
28
+ "question_id": 584,
29
+ "db_id": "codebase_community",
30
+ "difficulty": "moderate",
31
+ "question": "Write all the comments left by users who edited the post titled 'Why square the difference instead of taking the absolute value in standard deviation?'",
32
+ "gold_sql": "SELECT T2.Comment FROM posts AS T1 INNER JOIN postHistory AS T2 ON T1.Id = T2.PostId WHERE T1.Title = 'Why square the difference instead of taking the absolute value in standard deviation?'",
33
+ "baseline_pred": "SELECT comments.Text FROM comments JOIN posts ON comments.PostId = posts.Id WHERE posts.Title = 'Why square the difference instead of taking the absolute value in standard deviation?'",
34
+ "alt_pred": "SELECT c.Text FROM comments c JOIN postHistory ph ON c.UserId = ph.UserId JOIN posts p ON ph.PostId = p.Id WHERE p.Title = 'Why square the difference instead of taking the absolute value in standard deviation?'",
35
+ "alt_confidence": 0.95,
36
+ "baseline_match": false,
37
+ "alt_match": false,
38
+ "vote_match": false,
39
+ "vote_source": "alt-pick",
40
+ "agree": false,
41
+ "elapsed_ms": 47810.004000002664
42
+ },
43
+ {
44
+ "question_id": 595,
45
+ "db_id": "codebase_community",
46
+ "difficulty": "moderate",
47
+ "question": "Which user have only one post history per post and having at least 1000 views?",
48
+ "gold_sql": "SELECT T2.UserId FROM users AS T1 INNER JOIN postHistory AS T2 ON T1.Id = T2.UserId INNER JOIN posts AS T3 ON T2.PostId = T3.Id WHERE T3.ViewCount >= 1000 GROUP BY T2.UserId HAVING COUNT(DISTINCT T2.PostHistoryTypeId) = 1",
49
+ "baseline_pred": "SELECT DISTINCT ph.UserId FROM postHistory ph JOIN posts p ON ph.PostId = p.Id WHERE p.ViewCount >= 1000 AND ph.UserId IS NOT NULL GROUP BY ph.UserId, ph.PostId HAVING COUNT(*) = 1",
50
+ "alt_pred": "",
51
+ "alt_confidence": 0.0,
52
+ "baseline_match": false,
53
+ "alt_match": false,
54
+ "vote_match": false,
55
+ "vote_source": "base-fallback",
56
+ "agree": false,
57
+ "elapsed_ms": 84282.08260000247
58
+ },
59
+ {
60
+ "question_id": 672,
61
+ "db_id": "codebase_community",
62
+ "difficulty": "moderate",
63
+ "question": "Among the users located in United Kingdom, how many users whose post have a total favorite amount of 4 or more?",
64
+ "gold_sql": "SELECT COUNT(T1.Id) FROM users AS T1 INNER JOIN posts AS T2 ON T1.Id = T2.OwnerUserId WHERE T1.Location = 'United Kingdom' AND T2.FavoriteCount >= 4",
65
+ "baseline_pred": "SELECT COUNT(DISTINCT u.Id) FROM users u JOIN posts p ON u.Id = p.OwnerUserId WHERE u.Location = 'United Kingdom' AND p.FavoriteCount >= 4",
66
+ "alt_pred": "SELECT COUNT(*) FROM (SELECT u.Id FROM users u JOIN posts p ON p.OwnerUserId = u.Id WHERE u.Location = 'United Kingdom' GROUP BY u.Id HAVING SUM(p.FavoriteCount) >= 4) AS t",
67
+ "alt_confidence": 0.99,
68
+ "baseline_match": false,
69
+ "alt_match": false,
70
+ "vote_match": false,
71
+ "vote_source": "alt-pick",
72
+ "agree": false,
73
+ "elapsed_ms": 43925.09460000292
74
+ },
75
+ {
76
+ "question_id": 694,
77
+ "db_id": "codebase_community",
78
+ "difficulty": "moderate",
79
+ "question": "Provide the text of the latest 10 comments to the post with the title 'Analysing wind data with R' and the display name of the user who left it.",
80
+ "gold_sql": "SELECT T3.Text, T1.DisplayName FROM users AS T1 INNER JOIN posts AS T2 ON T1.Id = T2.OwnerUserId INNER JOIN comments AS T3 ON T2.Id = T3.PostId WHERE T2.Title = 'Analysing wind data with R' ORDER BY T1.CreationDate DESC LIMIT 10",
81
+ "baseline_pred": "SELECT comments.Text, comments.UserDisplayName FROM comments JOIN posts ON comments.PostId = posts.Id WHERE posts.Title = 'Analysing wind data with R' ORDER BY comments.CreationDate DESC LIMIT 10",
82
+ "alt_pred": "SELECT c.Text, c.UserDisplayName FROM comments AS c JOIN posts AS p ON c.PostId = p.Id WHERE p.Title = 'Analysing wind data with R' ORDER BY c.CreationDate DESC LIMIT 10",
83
+ "alt_confidence": 0.99,
84
+ "baseline_match": false,
85
+ "alt_match": false,
86
+ "vote_match": false,
87
+ "vote_source": "agree",
88
+ "agree": true,
89
+ "elapsed_ms": 43493.225999998685
90
+ },
91
+ {
92
+ "question_id": 894,
93
+ "db_id": "formula_1",
94
+ "difficulty": "moderate",
95
+ "question": "What is the best lap time recorded? List the driver and race with such recorded lap time.",
96
+ "gold_sql": "SELECT T2.milliseconds, T1.forename, T1.surname, T3.name FROM drivers AS T1 INNER JOIN lapTimes AS T2 ON T1.driverId = T2.driverId INNER JOIN races AS T3 ON T2.raceId = T3.raceId ORDER BY T2.milliseconds ASC LIMIT 1",
97
+ "baseline_pred": "SELECT drivers.forename, drivers.surname, races.name FROM lapTimes JOIN drivers ON lapTimes.driverId = drivers.driverId JOIN races ON lapTimes.raceId = races.raceId WHERE lapTimes.milliseconds = (SELECT MIN(milliseconds) FROM lapTimes) LIMIT 1",
98
+ "alt_pred": "SELECT d.forename, d.surname, r.name FROM lapTimes lt JOIN drivers d ON lt.driverId = d.driverId JOIN races r ON lt.raceId = r.raceId WHERE lt.milliseconds = (SELECT MIN(milliseconds) FROM lapTimes)",
99
+ "alt_confidence": 0.99,
100
+ "baseline_match": false,
101
+ "alt_match": false,
102
+ "vote_match": false,
103
+ "vote_source": "agree",
104
+ "agree": true,
105
+ "elapsed_ms": 13408.637300002738
106
+ },
107
+ {
108
+ "question_id": 896,
109
+ "db_id": "formula_1",
110
+ "difficulty": "challenging",
111
+ "question": "Calculate the percentage whereby Hamilton was not at the 1st track of the the f1 circuit since 2010.",
112
+ "gold_sql": "SELECT CAST(COUNT(CASE WHEN T2.position <> 1 THEN T2.position END) AS REAL) * 100 / COUNT(T2.driverStandingsId) FROM races AS T1 INNER JOIN driverStandings AS T2 ON T2.raceId = T1.raceId INNER JOIN drivers AS T3 ON T3.driverId = T2.driverId WHERE T3.surname = 'Hamilton' AND T1.year >= 2010",
113
+ "baseline_pred": "SELECT CAST(SUM(CASE WHEN r.positionOrder > 1 THEN 1 ELSE 0 END) AS REAL) * 100.0 / COUNT(*) FROM results r INNER JOIN drivers d ON r.driverId = d.driverId INNER JOIN races ra ON r.raceId = ra.raceId WHERE d.surname = 'Hamilton' AND ra.year >= 2010",
114
+ "alt_pred": "SELECT CAST(SUM(CASE WHEN r.position > 1 THEN 1 ELSE 0 END) AS REAL) * 100.0 / COUNT(*) AS percentage FROM results r JOIN drivers d ON r.driverId = d.driverId JOIN races ra ON r.raceId = ra.raceId WHERE d.surname = 'Hamilton' AND ra.year >= 2010",
115
+ "alt_confidence": 0.99,
116
+ "baseline_match": false,
117
+ "alt_match": false,
118
+ "vote_match": false,
119
+ "vote_source": "alt-pick",
120
+ "agree": false,
121
+ "elapsed_ms": 48147.269699999015
122
+ },
123
+ {
124
+ "question_id": 930,
125
+ "db_id": "formula_1",
126
+ "difficulty": "simple",
127
+ "question": "In which Formula_1 race did Lewis Hamilton rank the highest?",
128
+ "gold_sql": "SELECT name FROM races WHERE raceId IN ( SELECT raceId FROM results WHERE rank = 1 AND driverId = ( SELECT driverId FROM drivers WHERE forename = 'Lewis' AND surname = 'Hamilton' ) )",
129
+ "baseline_pred": "SELECT races.name FROM races JOIN results ON races.raceId = results.raceId JOIN drivers ON results.driverId = drivers.driverId WHERE drivers.forename = 'Lewis' AND drivers.surname = 'Hamilton' ORDER BY results.rank ASC LIMIT 1",
130
+ "alt_pred": "SELECT races.name FROM results JOIN drivers ON results.driverId = drivers.driverId JOIN races ON results.raceId = races.raceId WHERE drivers.forename = 'Lewis' AND drivers.surname = 'Hamilton' ORDER BY results.rank ASC LIMIT 1",
131
+ "alt_confidence": 0.95,
132
+ "baseline_match": false,
133
+ "alt_match": false,
134
+ "vote_match": false,
135
+ "vote_source": "agree",
136
+ "agree": true,
137
+ "elapsed_ms": 7533.188500001415
138
+ },
139
+ {
140
+ "question_id": 988,
141
+ "db_id": "formula_1",
142
+ "difficulty": "challenging",
143
+ "question": "List down top 3 German drivers who has the shortest average pit stop duration and were born between 1980-1985.",
144
+ "gold_sql": "SELECT T2.forename, T2.surname FROM pitStops AS T1 INNER JOIN drivers AS T2 on T1.driverId = T2.driverId WHERE T2.nationality = 'German' AND STRFTIME('%Y', T2.dob) BETWEEN '1980' AND '1985' GROUP BY T2.forename, T2.surname ORDER BY AVG(T1.duration) LIMIT 3",
145
+ "baseline_pred": "SELECT d.forename || ' ' || d.surname AS full_name FROM pitStops p JOIN drivers d ON p.driverId = d.driverId WHERE strftime('%Y', d.dob) BETWEEN '1980' AND '1985' AND d.nationality = 'German' GROUP BY d.driverId, d.forename, d.surname ORDER BY AVG(p.milliseconds) ASC LIMIT 3",
146
+ "alt_pred": "SELECT d.forename || ' ' || d.surname AS full_name, ROUND(SUM(CAST(ps.duration AS REAL))/COUNT(ps.duration), 3) AS avg_duration FROM drivers d JOIN pitStops ps ON d.driverId = ps.driverId WHERE d.nationality = 'German' AND d.dob BETWEEN '1980-01-01' AND '1985-12-31' GROUP BY d.driverId, d.forename, d.surname ORDER BY avg_duration ASC LIMIT 3",
147
+ "alt_confidence": 0.99,
148
+ "baseline_match": false,
149
+ "alt_match": false,
150
+ "vote_match": false,
151
+ "vote_source": "alt-pick",
152
+ "agree": false,
153
+ "elapsed_ms": 77698.09810000152
154
+ },
155
+ {
156
+ "question_id": 990,
157
+ "db_id": "formula_1",
158
+ "difficulty": "challenging",
159
+ "question": "What is the constructor reference name of the champion in the 2009 Singapore Grand Prix? Please give its website.",
160
+ "gold_sql": "SELECT T3.constructorRef, T3.url FROM results AS T1 INNER JOIN races AS T2 on T1.raceId = T2.raceId INNER JOIN constructors AS T3 on T1.constructorId = T3.constructorId WHERE T2.name = 'Singapore Grand Prix' AND T2.year = 2009 AND T1.time LIKE '_:%:__.___'",
161
+ "baseline_pred": "SELECT constructors.constructorRef, constructors.url FROM results INNER JOIN races ON results.raceId = races.raceId INNER JOIN constructors ON results.constructorId = constructors.constructorId WHERE races.year = 2009 AND races.name = 'Singapore Grand Prix' AND results.positionOrder = 1 ORDER BY results.time DESC LIMIT 1",
162
+ "alt_pred": "SELECT c.constructorRef, c.url FROM constructors AS c JOIN results AS r ON c.constructorId = r.constructorId JOIN races AS ra ON r.raceId = ra.raceId WHERE ra.year = 2009 AND ra.name = 'Singapore Grand Prix' AND r.position = 1",
163
+ "alt_confidence": 0.95,
164
+ "baseline_match": false,
165
+ "alt_match": false,
166
+ "vote_match": false,
167
+ "vote_source": "agree",
168
+ "agree": true,
169
+ "elapsed_ms": 55691.28920000003
170
+ },
171
+ {
172
+ "question_id": 1168,
173
+ "db_id": "thrombosis_prediction",
174
+ "difficulty": "challenging",
175
+ "question": "The oldest SJS patient's medical laboratory work was completed on what date, and what age was the patient when they initially arrived at the hospital?",
176
+ "gold_sql": "SELECT T1.Date, STRFTIME('%Y', T2.`First Date`) - STRFTIME('%Y', T2.Birthday),T2.Birthday FROM Laboratory AS T1 INNER JOIN Patient AS T2 ON T1.ID = T2.ID WHERE T2.Diagnosis = 'SJS' AND T2.Birthday IS NOT NULL ORDER BY T2.Birthday ASC LIMIT 1",
177
+ "baseline_pred": "SELECT L.Date, (strftime('%Y', P.\"First Date\") - strftime('%Y', P.Birthday)) FROM Patient P INNER JOIN Laboratory L ON P.ID = L.ID WHERE P.Diagnosis = 'SJS' AND P.Birthday = (SELECT MIN(Birthday) FROM Patient WHERE Diagnosis = 'SJS') ORDER BY L.Date ASC LIMIT 1",
178
+ "alt_pred": "",
179
+ "alt_confidence": 0.0,
180
+ "baseline_match": false,
181
+ "alt_match": false,
182
+ "vote_match": false,
183
+ "vote_source": "base-fallback",
184
+ "agree": false,
185
+ "elapsed_ms": 67138.51780000186
186
+ },
187
+ {
188
+ "question_id": 1205,
189
+ "db_id": "thrombosis_prediction",
190
+ "difficulty": "moderate",
191
+ "question": "Was the patient with the number 57266's uric acid within a normal range?",
192
+ "gold_sql": "SELECT CASE WHEN (T1.SEX = 'F' AND T2.UA > 6.5) OR (T1.SEX = 'M' AND T2.UA > 8.0) THEN true ELSE false END FROM Patient AS T1 INNER JOIN Laboratory AS T2 ON T1.ID = T2.ID WHERE T1.ID = 57266",
193
+ "baseline_pred": "SELECT CASE WHEN (T1.UA > 8.0 AND T2.SEX = 'M') OR (T1.UA > 6.5 AND T2.SEX = 'F') THEN 'Yes' ELSE 'No' END AS is_normal FROM Laboratory AS T1 INNER JOIN Patient AS T2 ON T1.ID = T2.ID WHERE T1.ID = 57266 LIMIT 1",
194
+ "alt_pred": "SELECT CASE WHEN (L.UA > 8.0 AND P.SEX = 'M') OR (L.UA > 6.5 AND P.SEX = 'F') THEN 'Yes' ELSE 'No' END AS within_normal FROM Laboratory AS L JOIN Patient AS P ON L.ID = P.ID WHERE L.ID = 57266",
195
+ "alt_confidence": 0.99,
196
+ "baseline_match": false,
197
+ "alt_match": false,
198
+ "vote_match": false,
199
+ "vote_source": "alt-pick",
200
+ "agree": false,
201
+ "elapsed_ms": 35649.98669999841
202
+ },
203
+ {
204
+ "question_id": 1232,
205
+ "db_id": "thrombosis_prediction",
206
+ "difficulty": "challenging",
207
+ "question": "Provide ID, sex and age of patient who has blood glucose (GLU) not within normal range but with total cholesterol(T-CHO) within normal range.",
208
+ "gold_sql": "SELECT DISTINCT T1.ID, T1.SEX , STRFTIME('%Y', CURRENT_TIMESTAMP) - STRFTIME('%Y', T1.Birthday) FROM Patient AS T1 INNER JOIN Laboratory AS T2 ON T1.ID = T2.ID WHERE T2.GLU >= 180 AND T2.`T-CHO` < 250",
209
+ "baseline_pred": "SELECT DISTINCT p.ID, p.SEX, (strftime('%Y', date('now')) - strftime('%Y', p.Birthday)) AS age FROM Patient p INNER JOIN Laboratory l ON p.ID = l.ID WHERE l.GLU >= 180 AND l.T-CHO < 250",
210
+ "alt_pred": "SELECT DISTINCT P.ID, P.SEX, (strftime('%Y','now') - strftime('%Y', P.Birthday)) AS age FROM Patient P JOIN Laboratory L ON P.ID = L.ID WHERE L.GLU >= 180 AND L.`T-CHO` < 250",
211
+ "alt_confidence": 0.95,
212
+ "baseline_match": false,
213
+ "alt_match": true,
214
+ "vote_match": true,
215
+ "vote_source": "alt-pick",
216
+ "agree": false,
217
+ "elapsed_ms": 39681.59949999972
218
+ }
219
+ ]
220
+ }
eval/reports/2026-05-17/groq-llama70b-on-v8-residue.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alt_model": "llama-3.3-70b-versatile",
3
+ "summary": {
4
+ "voted_better": 0,
5
+ "voted_worse": 0,
6
+ "voted_same": 0,
7
+ "groq_input_tokens": 0,
8
+ "groq_output_tokens": 0
9
+ },
10
+ "records": []
11
+ }
eval/reports/2026-05-17/groq-qwen3-on-v8-residue.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alt_model": "qwen/qwen3-32b",
3
+ "summary": {
4
+ "voted_better": 0,
5
+ "voted_worse": 0,
6
+ "voted_same": 0,
7
+ "groq_input_tokens": 0,
8
+ "groq_output_tokens": 0
9
+ },
10
+ "records": []
11
+ }
eval/reports/2026-05-17/hybrid-vote-critique-selfcon-sonnet-fewshot5-groq4-v9.json ADDED
The diff for this file is too large to render. See raw diff