<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://wec.wiline.com/docs/news/</id>
    <title>WEC Docs Blog</title>
    <updated>2026-06-24T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://wec.wiline.com/docs/news/"/>
    <subtitle>WEC Docs Blog</subtitle>
    <icon>https://wec.wiline.com/docs/img/Logo_icon_blue.svg</icon>
    <entry>
        <title type="html"><![CDATA[GLM-5.2: the only open-weight model in the top 10 — and you can run it on WEC]]></title>
        <id>https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/</id>
        <link href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/"/>
        <updated>2026-06-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[GLM-5.2 is the lone open-weight, MIT-licensed model holding its own against the proprietary frontier — a 1M-token context and top open-source coding scores. And it's available on WiLine Edge Cloud.]]></summary>
        <content type="html"><![CDATA[<div class="newsHero newsHero--bg" style="background-image:linear-gradient(rgba(2,12,31,0.62), rgba(2,12,31,0.80)), url(/docs/img/news/glm-cover-a.webp)"><span class="newsHero__eyebrow">Models · AI News</span><h2 class="newsHero__title">An open-weight model just cracked the proprietary top 10</h2><div class="newsHero__transition"><span class="newsHero__pill newsHero__pill--from">Closed frontier</span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right newsHero__arrow" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="newsHero__pill newsHero__pill--to">Open weights</span></div></div>
<p>Look at almost any current model leaderboard and the top is a wall of Anthropic and
OpenAI. Then, sitting in the top 10, there's one outlier that isn't proprietary at
all: <strong>GLM-5.2</strong> from Z.ai — open weights, MIT-licensed. That's the story worth
paying attention to.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-standing">The standing<a href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/#the-standing" class="hash-link" aria-label="Direct link to The standing" title="Direct link to The standing" translate="no">​</a></h2>
<p>On the <a href="https://arena.ai/leaderboard/agent" target="_blank" rel="noopener noreferrer" class="">Arena.ai agent leaderboard</a>, GLM-5.2
(Max) lands at <strong>#10</strong> — the <strong>only open-weight model in the top 10</strong>, surrounded
entirely by closed frontier models from Anthropic and OpenAI. (Leaderboards move;
this is a snapshot — <a href="https://arena.ai/leaderboard/agent" target="_blank" rel="noopener noreferrer" class="">check the live ranking</a>.)</p>
<p><img decoding="async" loading="lazy" alt="GLM-5.2 (Max) on the Arena.ai agent leaderboard — the only open-weight model in the top 10" src="https://wec.wiline.com/docs/assets/images/glm-5-2-leaderboard-3f2c9fe86e103693aa80fdbcda6b054b.png" width="1400" height="837" class="img_ev3q"></p>
<p>That's the headline: not that it tops the chart, but that an <strong>MIT-licensed model you
can download, self-host, and ship commercially</strong> is now trading blows with models you
can only rent.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-glm-52-actually-is">What GLM-5.2 actually is<a href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/#what-glm-52-actually-is" class="hash-link" aria-label="Direct link to What GLM-5.2 actually is" title="Direct link to What GLM-5.2 actually is" translate="no">​</a></h2>
<ul>
<li class=""><strong>Open weights, MIT-licensed</strong> — no regional limits; download, self-host, fine-tune, and ship it commercially (<a href="https://huggingface.co/zai-org/GLM-5.2" target="_blank" rel="noopener noreferrer" class="">weights on Hugging Face</a>).</li>
<li class=""><strong>A solid 1M-token context</strong> (~750k words), built for long-horizon agent work. Its new <strong>IndexShare</strong> attention reuses one indexer across every four sparse layers — Z.ai reports <strong>~2.9× fewer per-token FLOPs at 1M context</strong>, which is what keeps that window affordable to run.</li>
<li class=""><strong>Two thinking-effort levels (High / Max)</strong> to trade latency for depth — <code>Max</code> for hard multi-step coding, <code>High</code> for lighter, faster work.</li>
<li class=""><strong>Anthropic/OpenAI-compatible API</strong> — drop it into Claude Code, OpenClaw, Cline, and others with a base-URL + model-ID swap; your harness and prompts stay put.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-it-compares">How it compares<a href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/#how-it-compares" class="hash-link" aria-label="Direct link to How it compares" title="Direct link to How it compares" translate="no">​</a></h2>
<p>Z.ai's published benchmarks put GLM-5.2 shoulder-to-shoulder with the closed frontier on coding, and ahead on some reasoning:</p>
<table><thead><tr><th>Benchmark</th><th>GLM-5.2</th><th>Claude Opus 4.8</th><th>GPT-5.5</th></tr></thead><tbody><tr><td>SWE-bench Pro</td><td>62.1</td><td>69.2</td><td>58.6</td></tr><tr><td>Terminal-Bench 2.1 (best harness)</td><td>82.7</td><td>78.9</td><td>83.4</td></tr><tr><td>FrontierSWE (dominance)</td><td>74.4</td><td>75.1</td><td>72.6</td></tr><tr><td>AIME 2026</td><td>99.2</td><td>95.7</td><td>98.3</td></tr></tbody></table>
<p>It edges Opus 4.8 on Terminal-Bench, beats GPT-5.5 on FrontierSWE, tops both on AIME, and trails Opus on SWE-bench Pro — remarkably close for a model you can simply download. <em>(Numbers from <a href="https://docs.z.ai/guides/llm/glm-5.2" target="_blank" rel="noopener noreferrer" class="">Z.ai's GLM-5.2 benchmarks</a>; benchmarks are directional, not gospel.)</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-it-matters">Why it matters<a href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/#why-it-matters" class="hash-link" aria-label="Direct link to Why it matters" title="Direct link to Why it matters" translate="no">​</a></h2>
<p>The gap between open-weight and proprietary frontier models has been closing all
year. What's changed is the <strong>terms</strong>: with an MIT license and a clean API, GLM-5.2
is something you can <em>own and deploy</em>, not just call. When access to closed models
can shift with export controls or pricing overnight, an open-weight model that holds
top-10 quality is a foundation that stays put.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="run-it-on-wiline-edge-cloud">Run it on WiLine Edge Cloud<a href="https://wec.wiline.com/docs/news/glm-5-2-open-weight-top-10/#run-it-on-wiline-edge-cloud" class="hash-link" aria-label="Direct link to Run it on WiLine Edge Cloud" title="Direct link to Run it on WiLine Edge Cloud" translate="no">​</a></h2>
<p>You don't need a third-party account to try it — <strong>GLM-5.2 is available on WiLine
Edge Cloud through WEC Models</strong>, our OpenAI-compatible inference. Point any compatible
tool at the WEC inference endpoint and use GLM-5.2 as the model:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">curl https://inference.wiline.com/v1/chat/completions \</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  -H "Authorization: Bearer $WEC_API_KEY" \</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  -H "Content-Type: application/json" \</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  -d '{ "model": "glm-5.2", "messages": [{"role":"user","content":"Refactor this for performance…"}] }'</span><br></div></code></pre></div></div>
<p>If you followed the <a class="" href="https://wec.wiline.com/docs/tutorials/">Self-hosting OpenClaw series</a>, this is the natural
next move: keep your agent, swap the model — point OpenClaw at GLM-5.2 on WEC instead
of a closed provider, and you're running a top-10 model you fully control.</p>
<hr>
<p>📖 <strong>Sources:</strong> <a href="https://arena.ai/leaderboard/agent" target="_blank" rel="noopener noreferrer" class="">Arena.ai agent leaderboard</a> · <a href="https://huggingface.co/zai-org/GLM-5.2" target="_blank" rel="noopener noreferrer" class="">GLM-5.2 on Hugging Face</a> · <a href="https://docs.z.ai/guides/llm/glm-5.2" target="_blank" rel="noopener noreferrer" class="">Z.ai model docs</a> · <a href="https://arxiv.org/abs/2602.15763" target="_blank" rel="noopener noreferrer" class="">GLM-5 technical report (arXiv)</a></p>]]></content>
        <author>
            <name>Rafael Fernandes</name>
            <uri>https://www.linkedin.com/in/rafaelmacariofernandes/</uri>
        </author>
        <category label="ai-news" term="ai-news"/>
        <category label="models" term="models"/>
        <category label="open-weight" term="open-weight"/>
        <category label="glm" term="glm"/>
        <category label="inference" term="inference"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Why LiteLLM Is Rewriting Its Gateway in Rust — and Why AI Developers Should Care]]></title>
        <id>https://wec.wiline.com/docs/news/litellm-rust-gateway/</id>
        <link href="https://wec.wiline.com/docs/news/litellm-rust-gateway/"/>
        <updated>2026-06-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[LiteLLM is moving its AI gateway from Python to Rust. It's a signal that AI gateways are becoming critical infrastructure — with real consequences for latency, cost, and reliability on WiLine Edge Cloud.]]></summary>
        <content type="html"><![CDATA[<figure class="newsHero newsHero--image"><span class="newsHero__chip">Infrastructure · AI News</span><img src="https://wec.wiline.com/docs/img/news/litellm-rust.webp" alt="LiteLLM — migrating the AI gateway to Rust" loading="eager"></figure>
<p>The AI ecosystem is quietly going through the same transition web infrastructure went through years ago: the performance-critical pieces are moving off interpreted runtimes onto systems languages like Rust. <a href="https://docs.litellm.ai/blog/litellm-rust-launch" target="_blank" rel="noopener noreferrer" class="">LiteLLM rewriting its AI gateway in Rust</a> is the clearest evidence yet — and a sign the AI stack is maturing from experiment into production infrastructure.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-gateway-is-becoming-critical-infrastructure">The gateway is becoming critical infrastructure<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#the-gateway-is-becoming-critical-infrastructure" class="hash-link" aria-label="Direct link to The gateway is becoming critical infrastructure" title="Direct link to The gateway is becoming critical infrastructure" translate="no">​</a></h2>
<p>LiteLLM is the open-source proxy a lot of teams put in front of their models to get one OpenAI-compatible endpoint across 100+ providers. If you've run one in production, this line from the announcement will feel familiar:</p>
<blockquote>
<p>Under real load, CPU and memory climb with concurrency, and pods get OOM-killed at the worst time.</p>
</blockquote>
<p>That's the quiet tax of a gateway: it sits on the hot path of <em>every</em> request — every completion, embedding, moderation call, and agent action flows through it — so its own overhead and memory footprint multiply across pods and regions. For years AI conversations were about model quality. As teams ship agents, RAG, and multi-model routing to production, the layer <em>in front</em> of the model is turning into a first-class infrastructure concern. Moving it to Rust is what that realization looks like in code.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-numbers">The numbers<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#the-numbers" class="hash-link" aria-label="Direct link to The numbers" title="Direct link to The numbers" translate="no">​</a></h2>
<p>From LiteLLM's published benchmarks (reproducible — the harness ships with the post):</p>
<div class="metricCompare"><div class="metricCard"><span class="metricCard__label">Per-request overhead</span><span class="metricCard__factor">~150× lower</span><div class="metricCard__rows"><div class="metricCard__row metricCard__row--a"><span class="metricCard__name">LiteLLM (Python)</span><span class="metricCard__val">~7.5 ms</span></div><div class="metricCard__row metricCard__row--b"><span class="metricCard__name">Rust gateway</span><span class="metricCard__val">~0.05 ms</span></div></div></div><div class="metricCard"><span class="metricCard__label">Throughput under load</span><span class="metricCard__factor">~15× higher</span><div class="metricCard__rows"><div class="metricCard__row metricCard__row--a"><span class="metricCard__name">LiteLLM (Python)</span><span class="metricCard__val">453 req/s</span></div><div class="metricCard__row metricCard__row--b"><span class="metricCard__name">Rust gateway</span><span class="metricCard__val">6,782 req/s</span></div></div></div><div class="metricCard"><span class="metricCard__label">Peak memory under load</span><span class="metricCard__factor">~11× lighter</span><div class="metricCard__rows"><div class="metricCard__row metricCard__row--a"><span class="metricCard__name">LiteLLM (Python)</span><span class="metricCard__val">358.9 MB</span></div><div class="metricCard__row metricCard__row--b"><span class="metricCard__name">Rust gateway</span><span class="metricCard__val">31.7 MB</span></div></div></div></div>
<p>This measures the gateway <em>forwarding path</em> (transform → forward → handle response), not a full production workload — but that's exactly the layer you don't want eating CPU and memory under concurrency.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-real-win-is-memory-not-latency">The real win is memory, not latency<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#the-real-win-is-memory-not-latency" class="hash-link" aria-label="Direct link to The real win is memory, not latency" title="Direct link to The real win is memory, not latency" translate="no">​</a></h2>
<p>Most readers will fixate on <strong>150× lower overhead</strong>. But for anyone <em>operating</em> a gateway, the more consequential number is <strong>11× less memory</strong>: 359 MB → ~32 MB. Latency is a per-request improvement; memory is what drives your bill and your reliability.</p>
<p>A gateway that holds ~32 MB instead of ~359 MB changes the operational math across the board:</p>
<ul>
<li class=""><strong>Kubernetes sizing</strong> — smaller pods, higher density per node.</li>
<li class=""><strong>Cloud cost</strong> — that footprint multiplies across every pod, region, and replica you run.</li>
<li class=""><strong>Autoscaling</strong> — lower, more predictable memory means less scaling churn.</li>
<li class=""><strong>OOM crashes</strong> — the failure mode that takes you down at peak largely goes away.</li>
</ul>
<p>When a component sits on the hot path of every request, shaving an order of magnitude off its memory compounds at scale far more than the headline latency figure.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="a-low-risk-rollout">A low-risk rollout<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#a-low-risk-rollout" class="hash-link" aria-label="Direct link to A low-risk rollout" title="Direct link to A low-risk rollout" translate="no">​</a></h2>
<p>This is <strong>not a v2 and not a rewrite you have to migrate to</strong>. Config files, database schema, client APIs, and provider coverage stay the same. They're moving it in careful stages — a pure-Rust core via PyO3 bindings first (data transformation, no I/O), then the full server on axum/hyper — each route shipped to production behind passing parity tests before the next one starts:</p>
<figure class="stageFlow"><div class="stageFlow__track"><div class="stageFlow__card" style="background:rgba(var(--primary-rgb), 0.050);border-color:rgba(var(--primary-rgb), 0.250)"><span class="stageFlow__stage">Stage 0 · Today</span><span class="stageFlow__title">Python proxy</span><span class="stageFlow__tag">0% Rust</span></div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right stageFlow__arrow" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><div class="stageFlow__card" style="background:rgba(var(--primary-rgb), 0.123);border-color:rgba(var(--primary-rgb), 0.383)"><span class="stageFlow__stage">Stage 1 · Core in Rust</span><span class="stageFlow__title">Python drives transforms via PyO3</span><span class="stageFlow__tag">transforms + router</span></div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right stageFlow__arrow" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><div class="stageFlow__card" style="background:rgba(var(--primary-rgb), 0.197);border-color:rgba(var(--primary-rgb), 0.517)"><span class="stageFlow__stage">Stage 2 · Thin shell</span><span class="stageFlow__title">FastAPI shell, hot path in Rust</span><span class="stageFlow__tag">~full forwarding path</span></div><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right stageFlow__arrow" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><div class="stageFlow__card" style="background:rgba(var(--primary-rgb), 0.270);border-color:rgba(var(--primary-rgb), 0.650)"><span class="stageFlow__stage">Stage 3 · Pure Rust</span><span class="stageFlow__title">axum server, Python in a sidecar</span><span class="stageFlow__tag">100% Rust</span></div></div><figcaption class="stageFlow__caption">Four stages — each shipped to production behind passing parity tests before the next begins.</figcaption></figure>
<p>Beta signup is open now; the roadmap targets OCR routes by mid-August 2026, <code>/chat/completions</code> and <code>/messages</code> by September, and the full server by <strong>December 1, 2026</strong>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-means-for-ai-builders">What this means for AI builders<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#what-this-means-for-ai-builders" class="hash-link" aria-label="Direct link to What this means for AI builders" title="Direct link to What this means for AI builders" translate="no">​</a></h2>
<p>For developers building on <strong>WiLine Edge Cloud</strong>, the gateway sits directly between your applications and your models — so a leaner, faster gateway flows straight through to the apps you ship:</p>
<ul>
<li class=""><strong>Faster AI APIs.</strong> Less proxy overhead means faster responses where model latency is already low — embeddings, reranking, moderation, classification. On those workloads the gateway <em>was</em> the tax; now it nearly isn't.</li>
<li class=""><strong>Better reliability.</strong> Lower memory pressure reduces OOM kills, request failures, and autoscaling churn — the things that quietly erode an AI product's uptime in production.</li>
<li class=""><strong>More efficient multi-model deployments.</strong> If you route traffic across many providers, gateway cost stops scaling as aggressively with traffic — you serve more without your proxy fleet ballooning.</li>
<li class=""><strong>Stronger infrastructure foundations.</strong> As AI apps become production systems rather than experiments, the infra layers underneath them matter as much as model quality.</li>
</ul>
<p>If you followed the <a class="" href="https://wec.wiline.com/docs/tutorials/">OpenClaw series</a>, you already put a gateway-shaped thing on the critical path — a reverse proxy, a model router, an agent runtime. The lesson generalizes.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-bigger-lesson">The bigger lesson<a href="https://wec.wiline.com/docs/news/litellm-rust-gateway/#the-bigger-lesson" class="hash-link" aria-label="Direct link to The bigger lesson" title="Direct link to The bigger lesson" translate="no">​</a></h2>
<p>For years, most AI discussion focused on model quality. But as organizations deploy agents, retrieval systems, and multi-model workflows in production, <strong>the layer in front of your models is infrastructure</strong> — and every millisecond and megabyte on the hot path compounds at scale. LiteLLM's move to Rust reflects a broader industry realization: infrastructure efficiency is no longer a footnote to model performance, it's part of it.</p>
<p><strong>Worth watching, not yet worth switching:</strong> it's beta, and the Python proxy isn't going anywhere. But the direction of travel is clear.</p>
<hr>
<p>📖 <strong>Read the full announcement</strong> — the benchmarks, the route-by-route migration plan, and the architecture diagrams are all worth your time: <a href="https://docs.litellm.ai/blog/litellm-rust-launch" target="_blank" rel="noopener noreferrer" class="">LiteLLM — Building the fastest AI gateway in Rust</a>.</p>]]></content>
        <author>
            <name>Rafael Fernandes</name>
            <uri>https://www.linkedin.com/in/rafaelmacariofernandes/</uri>
        </author>
        <category label="ai-news" term="ai-news"/>
        <category label="gateways" term="gateways"/>
        <category label="performance" term="performance"/>
        <category label="self-hosting" term="self-hosting"/>
    </entry>
</feed>