Skip to content

Commit ae19949

Browse files
committed
[Workers AI] Add Model Deprecations reference page with redirects
- Add deprecation data source (src/util/deprecated-models.ts) - Add reference page listing deprecated and planned-deprecation models (src/content/docs/workers-ai/platform/model-deprecations.mdx) - Add reusable content component (src/components/models/DeprecatedModelPage.astro) - Add deprecation banner on planned-deprecation model pages (src/components/models/ModelDetailPage.astro) - Redirect deprecated model URLs to reference page (public/__redirects) - Revert getStaticPaths to original (redirects handle deprecated URLs)
1 parent 808c62e commit ae19949

5 files changed

Lines changed: 284 additions & 1 deletion

File tree

public/__redirects

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2189,7 +2189,26 @@
21892189
/workers-ai/models/translation/ /ai/models/#translation 301
21902190
/workers-ai/models/text-classification/ /ai/models/#text-classification 301
21912191
/workers-ai/models/image-classification/ /ai/models/#image-classification 301
2192-
/workers-ai/models/openchat_3.5-awq/ /workers-ai/models/ 301
2192+
/workers-ai/models/openchat_3.5-awq/ /workers-ai/platform/model-deprecations/ 301
2193+
/workers-ai/models/deepseek-coder-6.7b-base-awq/ /workers-ai/platform/model-deprecations/ 301
2194+
/workers-ai/models/deepseek-coder-6.7b-instruct-awq/ /workers-ai/platform/model-deprecations/ 301
2195+
/workers-ai/models/deepseek-math-7b-instruct/ /workers-ai/platform/model-deprecations/ 301
2196+
/workers-ai/models/discolm-german-7b-v1-awq/ /workers-ai/platform/model-deprecations/ 301
2197+
/workers-ai/models/falcon-7b-instruct/ /workers-ai/platform/model-deprecations/ 301
2198+
/workers-ai/models/llama-2-13b-chat-awq/ /workers-ai/platform/model-deprecations/ 301
2199+
/workers-ai/models/llamaguard-7b-awq/ /workers-ai/platform/model-deprecations/ 301
2200+
/workers-ai/models/mistral-7b-instruct-v0.1-awq/ /workers-ai/platform/model-deprecations/ 301
2201+
/workers-ai/models/neural-chat-7b-v3-1-awq/ /workers-ai/platform/model-deprecations/ 301
2202+
/workers-ai/models/openchat-3.5-0106/ /workers-ai/platform/model-deprecations/ 301
2203+
/workers-ai/models/openhermes-2.5-mistral-7b-awq/ /workers-ai/platform/model-deprecations/ 301
2204+
/workers-ai/models/qwen1.5-0.5b-chat/ /workers-ai/platform/model-deprecations/ 301
2205+
/workers-ai/models/qwen1.5-1.8b-chat/ /workers-ai/platform/model-deprecations/ 301
2206+
/workers-ai/models/qwen1.5-14b-chat-awq/ /workers-ai/platform/model-deprecations/ 301
2207+
/workers-ai/models/qwen1.5-7b-chat-awq/ /workers-ai/platform/model-deprecations/ 301
2208+
/workers-ai/models/starling-lm-7b-beta/ /workers-ai/platform/model-deprecations/ 301
2209+
/workers-ai/models/tinyllama-1.1b-chat-v1.0/ /workers-ai/platform/model-deprecations/ 301
2210+
/workers-ai/models/una-cybertron-7b-v2-bf16/ /workers-ai/platform/model-deprecations/ 301
2211+
/workers-ai/models/zephyr-7b-beta-awq/ /workers-ai/platform/model-deprecations/ 301
21932212

21942213
/workers-ai/platform/bindings/ /workers-ai/configuration/bindings/ 301
21952214
/workers-ai/get-started/local-dev-setup/ /workers-ai/get-started/workers-wrangler/ 301
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
---
2+
import { Aside } from "~/components";
3+
import { DEPRECATED_MODELS } from "~/util/deprecated-models";
4+
5+
// Group models by deprecation date
6+
const deprecated = DEPRECATED_MODELS.filter((m) => m.status === "deprecated");
7+
const planned = DEPRECATED_MODELS.filter(
8+
(m) => m.status === "planned-deprecation",
9+
);
10+
11+
const byDateDeprecated = deprecated.reduce(
12+
(acc, m) => {
13+
acc[m.deprecationDate] = acc[m.deprecationDate] || [];
14+
acc[m.deprecationDate].push(m);
15+
return acc;
16+
},
17+
{} as Record<string, typeof deprecated>,
18+
);
19+
20+
const byDatePlanned = planned.reduce(
21+
(acc, m) => {
22+
acc[m.deprecationDate] = acc[m.deprecationDate] || [];
23+
acc[m.deprecationDate].push(m);
24+
return acc;
25+
},
26+
{} as Record<string, typeof planned>,
27+
);
28+
29+
function fmtDate(dateStr: string): string {
30+
return new Date(`${dateStr}T12:00:00Z`).toLocaleDateString("en-US", {
31+
year: "numeric",
32+
month: "long",
33+
day: "numeric",
34+
timeZone: "UTC",
35+
});
36+
}
37+
---
38+
39+
<Aside type="caution">
40+
<p>
41+
You followed a link to a model that is no longer available. Refer to the
42+
lists below for deprecated models and their status and recommended
43+
replacements.
44+
</p>
45+
</Aside>
46+
47+
<p>
48+
We refresh the Workers AI model catalog to make room for newer
49+
releases and to focus on the best-performing models. When a model is
50+
deprecated, it will no longer be available for inference and existing
51+
requests will return an error. Please update your applications before the
52+
listed dates to avoid disruption.
53+
</p>
54+
55+
<h2 id="replacements">Recommended replacements</h2>
56+
57+
<p>
58+
We recommend migrating to one of the following models, depending on your use
59+
case. For the full list of available models, refer to the{" "}
60+
<a href="/workers-ai/models/">Workers AI model catalog</a>.
61+
</p>
62+
63+
<div class="not-content mt-4 grid grid-cols-1 gap-4 md:grid-cols-2">
64+
{
65+
[
66+
{
67+
name: "@cf/moonshotai/kimi-k2.6",
68+
displayName: "Kimi K2.6",
69+
url: "/workers-ai/models/kimi-k2.6/",
70+
description:
71+
"Flagship multimodal model with advanced reasoning, tool calling, and vision capabilities.",
72+
},
73+
{
74+
name: "@cf/zai-org/glm-4.7-flash",
75+
displayName: "GLM 4.7 Flash",
76+
url: "/workers-ai/models/glm-4.7-flash/",
77+
description:
78+
"Fast multilingual model with multi-turn tool calling and coding capabilities.",
79+
},
80+
{
81+
name: "@cf/openai/gpt-oss-120b",
82+
displayName: "GPT-OSS 120B",
83+
url: "/workers-ai/models/gpt-oss-120b/",
84+
description:
85+
"Open-source reasoning model with strong performance on complex tasks.",
86+
},
87+
{
88+
name: "@cf/meta/llama-4-scout-17b-16e-instruct",
89+
displayName: "Llama 4 Scout 17B 16E Instruct",
90+
url: "/workers-ai/models/llama-4-scout-17b-16e-instruct/",
91+
description:
92+
"Efficient mixture-of-experts model with strong multilingual support.",
93+
},
94+
].map((replacement) => (
95+
<a
96+
href={replacement.url}
97+
class="flex flex-col rounded-lg border border-gray-200 p-4 no-underline transition-colors hover:bg-gray-50 dark:border-gray-700 dark:hover:bg-gray-800/50"
98+
>
99+
<span class="text-base font-semibold text-gray-900 dark:text-gray-100">
100+
{replacement.displayName}
101+
</span>
102+
<span class="mt-1 text-xs font-mono text-gray-500">
103+
{replacement.name}
104+
</span>
105+
<span class="mt-2 text-sm text-gray-600 dark:text-gray-400">
106+
{replacement.description}
107+
</span>
108+
</a>
109+
))
110+
}
111+
</div>
112+
113+
{
114+
Object.keys(byDatePlanned).length > 0 && (
115+
<>
116+
<h2 id="planned">Planned deprecations</h2>
117+
<p>
118+
The following models are scheduled for deprecation. Please update your
119+
applications before the listed dates to avoid disruption.
120+
</p>
121+
{Object.entries(byDatePlanned)
122+
.sort(([a], [b]) => a.localeCompare(b))
123+
.map(([date, models]) => (
124+
<div class="mt-4">
125+
<h3>
126+
<a href="/changelog/post/2026-05-08-planned-model-deprecations/">
127+
{fmtDate(date)}
128+
</a>
129+
</h3>
130+
<ul>
131+
{models.map((m) => (
132+
<li>
133+
<code class="text-sm">{m.name}</code>
134+
{m.slug === "kimi-k2.5" && (
135+
<>
136+
{" "}{" "}
137+
<code class="text-sm">
138+
@cf/moonshotai/kimi-k2.6
139+
</code>{" "}
140+
(alias)
141+
</>
142+
)}
143+
</li>
144+
))}
145+
</ul>
146+
</div>
147+
))}
148+
</>
149+
)
150+
}
151+
152+
{
153+
Object.keys(byDateDeprecated).length > 0 && (
154+
<>
155+
<h2 id="deprecated">Deprecated models</h2>
156+
<p>
157+
The following models are no longer available. If you still have
158+
references to them, migrate to the suggested replacements.
159+
</p>
160+
{Object.entries(byDateDeprecated)
161+
.sort(([a], [b]) => b.localeCompare(a))
162+
.map(([date, models]) => (
163+
<div class="mt-4">
164+
<h3>{fmtDate(date)}</h3>
165+
<ul>
166+
{models.map((m) => (
167+
<li>
168+
<code class="text-sm">{m.name}</code>
169+
</li>
170+
))}
171+
</ul>
172+
</div>
173+
))}
174+
</>
175+
)
176+
}

src/components/models/ModelDetailPage.astro

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import { authorData } from "~/components/models/data";
3838
import { hasProperty } from "~/util/model-properties";
3939
import { getModelAuthor } from "~/util/model-resolver";
4040
import type { ResolvedModel } from "~/util/model-types";
41+
import { getDeprecatedModelInfoByName } from "~/util/deprecated-models";
4142
4243
interface Props {
4344
model: ResolvedModel;
@@ -227,6 +228,25 @@ const starlightPageProps = {
227228

228229
<p class="mt-3 mb-2!">{description}</p>
229230

231+
{
232+
(() => {
233+
const deprecatedInfo = getDeprecatedModelInfoByName(model.name);
234+
if (!deprecatedInfo || deprecatedInfo.status !== "planned-deprecation") {
235+
return false;
236+
}
237+
const fmtDate = new Date(`${deprecatedInfo.deprecationDate}T12:00:00Z`).toLocaleDateString("en-US", { year: "numeric", month: "long", day: "numeric", timeZone: "UTC" });
238+
return (
239+
<Aside type="caution" title={`Planned deprecation — ${fmtDate}`}>
240+
<p>
241+
This model is scheduled for deprecation. Refer to{" "}
242+
<a href="/workers-ai/platform/model-deprecations/">Model Deprecations</a>{" "}
243+
for recommended replacements to avoid disruption.
244+
</p>
245+
</Aside>
246+
);
247+
})()
248+
}
249+
230250
{
231251
model.name === "@cf/meta/llama-3.2-11b-vision-instruct" && (
232252
<Aside>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: Model Deprecations
3+
pcx_content_type: reference
4+
description: Reference for deprecated and planned-for-deprecation Workers AI models, with recommended replacements.
5+
sidebar:
6+
order: 11
7+
---
8+
9+
import DeprecatedModelPage from "~/components/models/DeprecatedModelPage.astro";
10+
11+
<DeprecatedModelPage />

src/util/deprecated-models.ts

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
export interface DeprecatedModelInfo {
2+
slug: string;
3+
name: string;
4+
deprecationDate: string;
5+
status: "deprecated" | "planned-deprecation";
6+
}
7+
8+
export const DEPRECATED_MODELS: DeprecatedModelInfo[] = [
9+
// Already deprecated — October 1, 2025
10+
{ slug: "deepseek-coder-6.7b-base-awq", name: "@hf/thebloke/deepseek-coder-6.7b-base-awq", deprecationDate: "2025-10-01", status: "deprecated" },
11+
{ slug: "deepseek-coder-6.7b-instruct-awq", name: "@hf/thebloke/deepseek-coder-6.7b-instruct-awq", deprecationDate: "2025-10-01", status: "deprecated" },
12+
{ slug: "deepseek-math-7b-instruct", name: "@cf/deepseek-ai/deepseek-math-7b-instruct", deprecationDate: "2025-10-01", status: "deprecated" },
13+
{ slug: "discolm-german-7b-v1-awq", name: "@cf/thebloke/discolm-german-7b-v1-awq", deprecationDate: "2025-10-01", status: "deprecated" },
14+
{ slug: "falcon-7b-instruct", name: "@cf/tiiuae/falcon-7b-instruct", deprecationDate: "2025-10-01", status: "deprecated" },
15+
{ slug: "llama-2-13b-chat-awq", name: "@hf/thebloke/llama-2-13b-chat-awq", deprecationDate: "2025-10-01", status: "deprecated" },
16+
{ slug: "llamaguard-7b-awq", name: "@hf/thebloke/llamaguard-7b-awq", deprecationDate: "2025-10-01", status: "deprecated" },
17+
{ slug: "mistral-7b-instruct-v0.1-awq", name: "@hf/thebloke/mistral-7b-instruct-v0.1-awq", deprecationDate: "2025-10-01", status: "deprecated" },
18+
{ slug: "neural-chat-7b-v3-1-awq", name: "@hf/thebloke/neural-chat-7b-v3-1-awq", deprecationDate: "2025-10-01", status: "deprecated" },
19+
{ slug: "openchat-3.5-0106", name: "@cf/openchat/openchat-3.5-0106", deprecationDate: "2025-10-01", status: "deprecated" },
20+
{ slug: "openhermes-2.5-mistral-7b-awq", name: "@hf/thebloke/openhermes-2.5-mistral-7b-awq", deprecationDate: "2025-10-01", status: "deprecated" },
21+
{ slug: "qwen1.5-0.5b-chat", name: "@cf/qwen/qwen1.5-0.5b-chat", deprecationDate: "2025-10-01", status: "deprecated" },
22+
{ slug: "qwen1.5-1.8b-chat", name: "@cf/qwen/qwen1.5-1.8b-chat", deprecationDate: "2025-10-01", status: "deprecated" },
23+
{ slug: "qwen1.5-14b-chat-awq", name: "@cf/qwen/qwen1.5-14b-chat-awq", deprecationDate: "2025-10-01", status: "deprecated" },
24+
{ slug: "qwen1.5-7b-chat-awq", name: "@cf/qwen/qwen1.5-7b-chat-awq", deprecationDate: "2025-10-01", status: "deprecated" },
25+
{ slug: "starling-lm-7b-beta", name: "@hf/nexusflow/starling-lm-7b-beta", deprecationDate: "2025-10-01", status: "deprecated" },
26+
{ slug: "tinyllama-1.1b-chat-v1.0", name: "@cf/tinyllama/tinyllama-1.1b-chat-v1.0", deprecationDate: "2025-10-01", status: "deprecated" },
27+
{ slug: "una-cybertron-7b-v2-bf16", name: "@cf/fblgit/una-cybertron-7b-v2-bf16", deprecationDate: "2025-10-01", status: "deprecated" },
28+
{ slug: "zephyr-7b-beta-awq", name: "@hf/thebloke/zephyr-7b-beta-awq", deprecationDate: "2025-10-01", status: "deprecated" },
29+
30+
// Planned deprecations — May 30, 2026
31+
{ slug: "kimi-k2.5", name: "@cf/moonshotai/kimi-k2.5", deprecationDate: "2026-05-30", status: "planned-deprecation" },
32+
{ slug: "meta-llama-3-8b-instruct", name: "@hf/meta-llama/meta-llama-3-8b-instruct", deprecationDate: "2026-05-30", status: "planned-deprecation" },
33+
{ slug: "llama-3-8b-instruct", name: "@cf/meta/llama-3-8b-instruct", deprecationDate: "2026-05-30", status: "planned-deprecation" },
34+
{ slug: "llama-3-8b-instruct-awq", name: "@cf/meta/llama-3-8b-instruct-awq", deprecationDate: "2026-05-30", status: "planned-deprecation" },
35+
{ slug: "llama-3.1-8b-instruct", name: "@cf/meta/llama-3.1-8b-instruct", deprecationDate: "2026-05-30", status: "planned-deprecation" },
36+
{ slug: "llama-3.1-8b-instruct-awq", name: "@cf/meta/llama-3.1-8b-instruct-awq", deprecationDate: "2026-05-30", status: "planned-deprecation" },
37+
{ slug: "llama-3.1-70b-instruct", name: "@cf/meta/llama-3.1-70b-instruct", deprecationDate: "2026-05-30", status: "planned-deprecation" },
38+
{ slug: "llama-2-7b-chat-int8", name: "@cf/meta/llama-2-7b-chat-int8", deprecationDate: "2026-05-30", status: "planned-deprecation" },
39+
{ slug: "llama-2-7b-chat-fp16", name: "@cf/meta/llama-2-7b-chat-fp16", deprecationDate: "2026-05-30", status: "planned-deprecation" },
40+
{ slug: "mistral-7b-instruct-v0.1", name: "@cf/mistral/mistral-7b-instruct-v0.1", deprecationDate: "2026-05-30", status: "planned-deprecation" },
41+
{ slug: "mistral-7b-instruct-v0.2", name: "@hf/mistral/mistral-7b-instruct-v0.2", deprecationDate: "2026-05-30", status: "planned-deprecation" },
42+
{ slug: "gemma-7b-it", name: "@hf/google/gemma-7b-it", deprecationDate: "2026-05-30", status: "planned-deprecation" },
43+
{ slug: "gemma-3-12b-it", name: "@cf/google/gemma-3-12b-it", deprecationDate: "2026-05-30", status: "planned-deprecation" },
44+
{ slug: "hermes-2-pro-mistral-7b", name: "@hf/nousresearch/hermes-2-pro-mistral-7b", deprecationDate: "2026-05-30", status: "planned-deprecation" },
45+
{ slug: "phi-2", name: "@cf/microsoft/phi-2", deprecationDate: "2026-05-30", status: "planned-deprecation" },
46+
{ slug: "sqlcoder-7b-2", name: "@cf/defog/sqlcoder-7b-2", deprecationDate: "2026-05-30", status: "planned-deprecation" },
47+
{ slug: "uform-gen2-qwen-500m", name: "@cf/unum/uform-gen2-qwen-500m", deprecationDate: "2026-05-30", status: "planned-deprecation" },
48+
{ slug: "bart-large-cnn", name: "@cf/facebook/bart-large-cnn", deprecationDate: "2026-05-30", status: "planned-deprecation" },
49+
];
50+
51+
export function getDeprecatedModelInfoByName(
52+
name: string,
53+
):
54+
| DeprecatedModelInfo
55+
| undefined {
56+
return DEPRECATED_MODELS.find((m) => m.name === name);
57+
}

0 commit comments

Comments
 (0)