Skip to main content

aoai-model-lifecycle

Plan and manage the Azure OpenAI model upgrade lifecycle. Covers retirement timelines, deployment inventory, update policies, operational checklists, and mid-to-long term migration planning. USE FOR: retirement date, model lifecycle, deprecation, model retirement, when does model retire, deployment inventory, update policy, auto-upgrade, migration planning, model governance, notification setup, Azure Service Health, fine-tuned model retirement, embedding model retirement, model-router. DO NOT USE FOR: code-level API migration (use aoai-model-migration), evaluation or A/B testing (use aoai-migration-evaluation).

Jump to install

Source facts

Repository
aiappsgbb/aoai-models-migration
Last source activity
April 14, 2026 at 14:32
Detected SKILL.md language
English
Stars
3
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
aoai-model-lifecycle
description
Plan and manage the Azure OpenAI model upgrade lifecycle. Covers retirement timelines, deployment inventory, update policies, operational checklists, and mid-to-long term migration planning. USE FOR: retirement date, model lifecycle, deprecation, model retirement, when does model retire, deployment inventory, update policy, auto-upgrade, migration planning, model governance, notification setup, Azure Service Health, fine-tuned model retirement, embedding model retirement, model-router. DO NOT USE FOR: code-level API migration (use aoai-model-migration), evaluation or A/B testing (use aoai-migration-evaluation).
# Azure OpenAI Model Lifecycle Management Skill > **⚠️ Retirement dates and model availability change frequently.** Always verify against the **[official Azure OpenAI Model Retirements page](https://learn.microsoft.com/azure/ai-foundry/openai/concepts/model-retirements)**. > See also: **[What's New in Azure OpenAI](https://learn.microsoft.com/azure/ai-foundry/openai/whats-new)**. ## Purpose Help teams plan, track, and execute Azure OpenAI model upgrades proactively. Covers retirement timelines, deployment governance, update policies, and the operational checklist to follow when a model retirement is announced. ## When to Use - Checking current Azure OpenAI model retirement dates - Planning a model migration timeline - Setting up alerts and inventory for model retirements - Choosing the right deployment update policy - Running through the operational migration checklist - Handling fine-tuned models, embedding models, or multi-region deployments ## Model Lifecycle Timeline ``` Model Launch (GA) │ ├── 12 months ──► Deprecation (no new customers) │ ├── up to 18 months ──► Retirement (existing customers) │ └─ Standard deployments auto-upgrade ~3 weeks before retirement │ └─ Provisioned / Global Standard may get extended timelines │ └── Replacement model N+1 available for side-by-side comparison └─ Customers get 60 days to try new GA model before auto-upgrades begin ``` **Preview models** follow an accelerated timeline: 90-120 day "not sooner than" retirement with 30 days' notice. ## Current Retirement Dates (as of April 2026) > These are "not sooner than" dates — they can be extended but not shortened. > 📌 **Note:** ChatGPT (consumer) and Azure Foundry (enterprise) have **independent** retirement schedules. ### GPT Series | Model | GA Version | Status | Retirement (not before) | Replacement | |---|---|---|---|---| | `gpt-4o` | 2024-08-06 | Standard: **Retired** / Others: Active | Standard: 2026-03-31 ✅ / Provisioned+Global+DataZone: 2026-10-01 | `gpt-5.1` | | `gpt-4o-mini` | 2024-07-18 | Standard: **Retired** / Others: Active | Standard: 2026-03-31 ✅ / Provisioned+Global+DataZone: 2026-10-01 | `gpt-4.1-mini` | | `gpt-4.1` | 2025-04-14 | **Deprecated** (no new customers) | 2026-10-14 | `gpt-5` | | `gpt-4.1-mini` | 2025-04-14 | **Deprecated** (no new customers) | 2026-10-14 | `gpt-5-mini` | | `gpt-4.1-nano` | 2025-04-14 | **Deprecated** (no new customers) | 2026-10-14 | `gpt-5-nano` | | `gpt-5` | 2025-08-07 | Active | 2027-02-06 | — | | `gpt-5-mini` | 2025-08-07 | Active | 2027-02-06 | — | | `gpt-5.1` | 2025-11-13 | Active | 2027-05-15 | — | | `gpt-5.2` | 2025-12-11 | Active | ~2027-05-12 | — | | `gpt-5.3-codex` | 2026-02-24 | Active | 2027-08-25 | — | | `gpt-5.4` | 2026-03-05 | Active | 2027-09-05 | — | | `gpt-5.4-pro` | 2026-03-05 | Active | 2027-09-05 | — | | `gpt-5.4-mini` | 2026-03-17 | Active | 2027-09-17 | — | | `gpt-5.4-nano` | 2026-03-17 | Active | 2027-09-17 | — | ### o-Series (Reasoning) | Model | GA Version | Retirement (not before) | Replacement | |---|---|---|---| | `o1` | 2024-12-17 | 2026-07-15 | `o3` | | `o1-pro` | 2025-03-19 | 2026-09-18 | `o3-pro` | | `o3-mini` | 2025-01-31 | 2026-08-02 | `o4-mini` | | `o3` | 2025-04-16 | 2026-10-16 | — | | `o3-pro` | 2025-06-10 | 2026-12-10 | — | | `o3-deep-research` | 2025-06-26 | 2026-12-26 | — | | `o4-mini` | 2025-04-16 | 2026-10-16 | — | ### Other | Model | GA Version | Retirement (not before) | Notes | |---|---|---|---| | `model-router` | 2025-11-18 | 2027-05-20 | Auto-routes requests to optimal model | | `codex-mini` | 2025-05-16 | 2026-11-15 | Lightweight code generation | > Always verify against the [official retirements page](https://learn.microsoft.com/azure/ai-foundry/openai/concepts/model-retirements). ### Deployment Type Timelines | Deployment Type | GPT-4o (05-13, 08-06) | GPT-4o (11-20) | GPT-4o-mini | |---|---|---|---| | **Standard** | **Retired** 2026-03-31 ✅ | 2026-10-01 | **Retired** 2026-03-31 ✅ | | **Provisioned / Global / DataZone** | 2026-10-01 | 2026-10-01 | 2026-10-01 | > **⚠️ GPT-4.1 family deprecated (April 14, 2026):** No new customers can create GPT-4.1, GPT-4.1-mini, or GPT-4.1-nano deployments. Existing deployments continue until retirement on 2026-10-14. Plan migration to GPT-5 family — or better yet, use the **tier-down strategy**: target GPT-5.4-mini (replaces 4.1) and GPT-5.4-nano (replaces 4.1-mini) for better quality at lower cost. See `docs/migration-paths.md` for details. > **📋 Pre-upgrade checklist:** See `docs/migration-paths.md` for a detailed GPT-4o → GPT-5.1 verification checklist covering client type, parameter names, role changes, and reasoning effort configuration. ## Key Terminology | Term | Meaning | |---|---| | **Deprecation** | Model no longer available to *new* customers. Existing deployments keep working. | | **Retirement** | Model removed entirely. All deployments return errors. | | **Auto-update to default** | Deployment auto-moves to latest default version when published. | | **Upgrade when expired** | Deployment auto-upgrades only when its version reaches retirement. | | **No Auto Upgrade** | Deployment **stops working** at retirement — manual migration required. | ## Deployment Update Policies | Policy | Best For | Risk | |---|---|---| | **Auto-update to default** | Dev/test, non-critical workloads | May introduce unexpected behavior | | **Upgrade when expired** | Production with moderate change tolerance | Forced upgrade at end of life | | **No Auto Upgrade** | Regulated workloads with strict change control | **Deployment breaks if you miss the deadline** | > **Recommendation for production:** Use "Upgrade when expired" as a safety net, but always plan to migrate proactively before retirement. ## Operational Checklist Follow this when a model retirement is announced: - [ ] **Verify notification** — confirm retirement date and replacement model from the [official page](https://learn.microsoft.com/azure/ai-foundry/openai/concepts/model-retirements) - [ ] **Inventory impact** — identify all deployments using the retiring model across all subscriptions/regions - [ ] **Deploy replacement** — create new deployment with the successor model in test environment - [ ] **Run evaluations** — execute golden dataset against new model; compare results (use `aoai-migration-evaluation` skill) - [ ] **Adjust prompts** — tune system prompts, parameters, and model-specific logic - [ ] **Update API version** — if the new model requires a newer API version, test independently - [ ] **Canary rollout** — route small percentage of production traffic to new model - [ ] **Monitor** — watch error rates, latency, user feedback, quality metrics - [ ] **Full rollout** — migrate remaining traffic - [ ] **Clean up** — delete old deployments, update IaC templates, close migration ticket - [ ] **Retrospective** — document lessons learned; update evaluation datasets ## Set Up Notifications Azure notifies via **Azure Service Health** and **email to subscription owners**. 1. Go to **Azure Service Health > Health Alerts** 2. Service: `Azure OpenAI Service` 3. Event types: `Health advisories` 4. Create an **Action Group** with email + SMS for your on-call team ## Deployment Inventory Maintain a live inventory of all deployments: | Subscription | Resource Group | Resource | Deployment Name | Model | Version | Update Policy | Region | |---|---|---|---|---|---|---|---| | Prod-Sub-01 | rg-ai-prod | aoai-eastus | chat-prod | gpt-4o | 2024-08-06 | Upgrade when expired | East US | Automate via the **Control Plane API** or **Azure Resource Graph** queries. Review quarterly. **Azure Resource Graph query** (run in Azure Portal → Resource Graph Explorer or `az graph query`): ```kusto resources | where type == "microsoft.cognitiveservices/accounts/deployments" | extend deployment = properties.name, model = properties.model.name, version = properties.model.version, updatePolicy = properties.versionUpgradeOption | project subscriptionId, resourceGroup, name, deployment, model, version, updatePolicy, location | order by model asc, version asc ``` ## Production Migration Strategies | Strategy | Description | Best For | |---|---|---| | **Blue-green** | Deploy new model in parallel, switch all traffic after validation | Low-traffic or batch workloads | | **Canary / progressive rollout** | Route small % of traffic to new model; increase over days | High-traffic, latency-sensitive | | **In-place migration** (Provisioned only) | Update existing deployment's model version; Azure migrates over 20-30 min | Provisioned deployments, keep same endpoint | ## Planning on a ~12-Month Cadence Given the 12-month GA lifecycle, plan at least one major migration per year per model family: | Quarter | Activity | |---|---| | **Q1** | Review inventory. Check retirement dates. Identify models in last 6 months. | | **Q2** | Deploy successors in staging. Run evaluations. Update prompts. | | **Q3** | Begin canary rollout. Monitor quality metrics. | | **Q4** | Complete migration. Clean up. Retrospective. | ## Continuous Evaluation — Reducing Migration Costs The single biggest cost driver in model migrations is **rebuilding evaluation infrastructure from scratch** each time. Continuous evaluation eliminates this by keeping evaluation running at all times, so baselines are always fresh and candidate comparisons are instant. ### How Continuous Eval Fits the Lifecycle ``` Model N in Production │ ├── Continuous eval runs on schedule (weekly/daily) │ └── Baseline scores captured and trended │ └── Production traffic sampled into golden datasets │ └── Drift alerts if quality degrades │ ├── Model N+1 Announced │ └── Deploy N+1 in staging │ └── Run SAME eval suite against N+1 (instant comparison) │ └── No need to rebuild test harness — it already exists │ └── Migration Decision └── Compare N vs N+1 pass rates └── If pass → canary rollout └── If fail → tune prompts, re-evaluate ``` ### Implementation Approaches | Approach | SDK | Best For | |---|---|---| | **Cloud scheduled evaluation** | `azure-ai-projects>=2.0.0b1` (v2) | Production monitoring, agent evaluation, native Foundry integration | | **CI/CD pipeline evaluation** | `azure-ai-evaluation` (v1) | PR gates, scheduled GitHub Actions/ADO pipelines, local iteration | | **Both** | v1 + v2 | CI gates (v1) for speed + cloud monitoring (v2) for production | ### Key Practices - **Sample production traffic** into your golden dataset monthly — keep it representative - **Version your golden datasets** — tie each dataset version to a model generation - **Set alerts** on pass-rate thresholds — don't wait for model retirement to discover issues - **Reuse eval definitions** across model generations — the v2 eval/run separation makes this natural - **Track eval scores over time** in Foundry portal — compare runs side by side across model versions > See the `aoai-migration-evaluation` skill for detailed instructions on both v1 (local SDK) and v2 (cloud Evals API) approaches, including syntax differences and code examples. ### Golden Datasets for Regression Testing The repository includes **54 pre-built test cases** in `data/` covering RAG, classification, tool calling, translation, summarization, agent, and multi-turn scenarios. Use these for quick validation during model transitions: ```python from src.evaluate.core import MigrationEvaluator evaluator = MigrationEvaluator( source_model="gpt-4o", target_model="gpt-5.1", test_cases="data/golden_rag.jsonl", ) report = evaluator.run() ``` For production data, scrub PII first: `from src.pii import redact_jsonl_file` For domain-specific quality checks: `from src.evaluate.custom import create_judge_evaluator` ### Continuous Evaluation with Stored Completions Enable `"store": true` on production API calls to capture data for ongoing quality monitoring. The stored data serves double duty: building golden datasets for the next migration AND monitoring current model quality. See `docs/building-golden-datasets.md` for framework-specific integration (LangChain, Semantic Kernel, LlamaIndex, Spring AI). ## Special Considerations ### Fine-Tuned Models - Follow a two-phase retirement: training retirement first, then deployment retirement (~1 year later) - Plan to re-fine-tune on the successor base model before deployment retirement - Budget time for data preparation, training, and evaluation ### Embedding Models - Currently scheduled not to retire before **April 2027** - When they retire, you must **re-embed your entire vector store** — embeddings from different models are not compatible - Plan for compute/time cost of full re-indexing ### Multi-Region Deployments - Model upgrades roll out region by region — no fixed region schedule - Stagger manual migrations so you can fall back to a region still on the old model during validation ### API Versions (Independent Lifecycle) - GA API versions get 12 months of support minimum - Preview API versions can retire on shorter notice - The v1 API (`/openai/v1/...`) eliminates monthly `api-version` strings — use `api-version=latest` - The **Responses API** is now available alongside Chat Completions and is the recommended path for new development. See [Responses API](https://learn.microsoft.com/azure/ai-foundry/openai/how-to/responses). - Don't conflate model upgrades with API upgrades — test independently ### Consider `model-router` - **`model-router`** (GA Nov 2025) automatically routes requests to the best-suited model, reducing migration frequency. - Has its own retirement timeline (2027-05-20 not before). - See [Azure OpenAI Models Overview](https://learn.microsoft.com/azure/ai-services/openai/concepts/models) for details. ## Must Not - Treat LLM models as permanent infrastructure — they have a defined lifecycle - Rely solely on subscription-owner emails for retirement notifications — set up Health Alerts - Wait until auto-upgrade kicks in to test a replacement model - Mix embeddings from different model versions in the same vector store - Skip the cleanup step — old deployments waste quota ## Repository Resources > **💡 Tip:** This skill provides lifecycle planning guidance. For the latest retirement dates, model data, and migration details, always check the repo documentation — it is updated more frequently than this skill. - [`docs/retirement-timeline.md`](../../../docs/retirement-timeline.md) — detailed retirement timeline with planning matrix
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub