aboutsummaryrefslogtreecommitdiff
path: root/notebooks/llm-stats.py
blob: 7e4e5358b72d75788591f8ce816f2425bf67517b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100

import marimo

__generated_with = "0.23.10"
app = marimo.App(width="full")


@app.cell
def _():
    import marimo as mo
    import pandas as pd
    import altair as alt

    return alt, mo, pd

# https://artificialanalysis.ai/leaderboards/models
@app.cell
def _(pd):
    COLUMNS = ["name", "aai_score", "price", "tok_per_sec"]
    ROWS = [
        ["DeepSeek V4 Flash", 37, 0.08, 101],
        ["DeepSeek V4 Pro", 44, 0.18, 85],
        ["Claude Opus 4.7", 54, 3.85, 51],
        ["Claude Opus 4.8", 56, 3.85, 58],
        ["Claude Sonnet 4.6", 47, 2.31, 50],
        ["Claude Haiku 4.5", 30, 0.77, 93],
        ["Gemini 3.5 Flash", 50, 1.31, 161],
        ["MiMo 2.5", 40, 0.06, 79],
        ["Nemotron 3 Ultra", 38, 0.58, 164],
        ["Gemma 4 E2B (local)", 9, 0.0, 60],
        ["GLM 5.2", 51, 0.90, 82],
        ["MiniMax M3", 44, 0.22, 68],
    ]
    df = pd.DataFrame(ROWS, columns=COLUMNS)
    return df


@app.cell
def _(df, mo):
    mo.md(f"""
    # 🤖 LLM Stats Tracker

    **{len(df)} models tracked**
    """)
    return


@app.cell
def _(alt, df):
    scatter = (
        alt.Chart(df)
        .mark_circle(size=200)
        .encode(
            x=alt.X("price", title="Blended Price $/1M"),
            y=alt.Y("aai_score", title="AAI Score"),
            color=alt.Color("tok_per_sec:Q", title="tok/sec", scale=alt.Scale(scheme="viridis")),
            tooltip=["name", "aai_score", "price", "tok_per_sec"],
        )
    )
    labels = (
        alt.Chart(df)
        .mark_text(dy=-12, fontSize=10)
        .encode(
            x="price",
            y="aai_score",
            text="name",
        )
    )
    chart_price_quality = (scatter + labels).properties(width="container")
    chart_price_quality
    return


@app.cell
def _(alt, df):
    bubble = (
        alt.Chart(df)
        .mark_circle(size=120, opacity=0.7)
        .encode(
            x=alt.X("tok_per_sec:Q", title="Tokens/sec"),
            y=alt.Y("aai_score:Q", title="AAI Score"),
            color=alt.Color("price:Q", title="Price $/1M", scale=alt.Scale(scheme="viridis")),
            tooltip=["name", "aai_score", "price", "tok_per_sec"],
        )
    )
    bubble_labels = (
        alt.Chart(df)
        .mark_text(dy=-14, fontSize=10, fontWeight="bold")
        .encode(
            x="tok_per_sec:Q",
            y="aai_score:Q",
            text="name:N",
        )
    )
    chart_speed_quality = (bubble + bubble_labels).properties(width="container")
    chart_speed_quality
    return


if __name__ == "__main__":
    app.run()