From 15669b7ae812ab7d7f836b160c01ef9d83fb47ad Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Thu, 23 May 2024 08:28:42 -0700 Subject: [PATCH] copy --- assets/swe_bench_lite.jpg | Bin 37193 -> 37633 bytes assets/swe_bench_lite.svg | 132 ++++++++++++++++++------------------ benchmark/swe_bench_lite.py | 15 ++-- 3 files changed, 77 insertions(+), 70 deletions(-) diff --git a/assets/swe_bench_lite.jpg b/assets/swe_bench_lite.jpg index 9c525c7c4ba1aac06d260bf4285b5718349d6804..d7455765e17cf56cc945a89977c22ee11dd0a78c 100644 GIT binary patch delta 27372 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 H&(wbaZ-i11 delta 26463 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 diff --git a/assets/swe_bench_lite.svg b/assets/swe_bench_lite.svg index f5c8faf2d..9affe1f65 100644 --- a/assets/swe_bench_lite.svg +++ b/assets/swe_bench_lite.svg @@ -6,7 +6,7 @@ - 2024-05-23T07:52:54.138893 + 2024-05-23T08:28:16.091496 image/svg+xml @@ -41,12 +41,12 @@ z - - + @@ -453,7 +453,7 @@ z - + @@ -479,7 +479,7 @@ z - + @@ -601,7 +601,7 @@ z - + @@ -674,7 +674,7 @@ z - + @@ -886,7 +886,7 @@ z - + @@ -1007,7 +1007,7 @@ z - + @@ -1043,16 +1043,16 @@ z +" clip-path="url(#p009365f358)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.2; stroke-linecap: square"/> - - + @@ -1087,18 +1087,18 @@ z - + - + - + - + - + - + - + - + - + @@ -1184,18 +1184,18 @@ L 690 158.200121 - + - + - + - + - + - + @@ -1408,62 +1408,62 @@ L 690 50.4 +" clip-path="url(#p009365f358)" style="fill: #b3e6a8; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3e6a8; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3d1e6; opacity: 0.75"/> +" clip-path="url(#p009365f358)" style="fill: #b3d1e6; opacity: 0.75"/> - + - + @@ -1556,7 +1556,7 @@ z - + @@ -1566,7 +1566,7 @@ z - + @@ -1576,7 +1576,7 @@ z - + @@ -1586,7 +1586,7 @@ z - + - + + diff --git a/benchmark/swe_bench_lite.py b/benchmark/swe_bench_lite.py index bac10552a..03095689d 100644 --- a/benchmark/swe_bench_lite.py +++ b/benchmark/swe_bench_lite.py @@ -34,14 +34,21 @@ def plot_swe_bench_lite(data_file): colors = ["#b3e6a8" if "Aider" in model else "#b3d1e6" for model in models] bars = ax.bar(models, pass_rates, color=colors, alpha=0.75, zorder=3) - for bar in bars: + for model, bar in zip(models, bars): yval = bar.get_height() + if "Aider" in model: + y = yval + 0.75 + va = "bottom" + else: + y = yval - 1.25 + va = "top" + ax.text( bar.get_x() + bar.get_width() / 2, - yval - 1.25, + y, f"{yval}%", ha="center", - va="top", + va=va, fontsize=14, # alpha=0.75, ) @@ -49,7 +56,7 @@ def plot_swe_bench_lite(data_file): # ax.set_xlabel("Models", fontsize=18) ax.set_ylabel("Instances resolved (%)", fontsize=18, color=font_color) ax.set_title("SWE Bench Lite", fontsize=20) - ax.set_ylim(0, 29) + ax.set_ylim(0, 29.9) plt.xticks( # rotation=45, # ha="center",