Repository navigation
chore(cost-map): move azure gpt-realtime-2.1-mini deprecation date to the later Models API date - #43058
Conversation
… the later Models API date Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
|
|
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 1702f49. Configure here.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
TLDR
Problem this solves:
azure/gpt-realtime-2.1-minicarries a retirement date earlier than the one Azure's Models API statesHow it solves it:
deprecation_datefrom 2027-06-25 to 2027-07-31, the Models APImodel.deprecation.inferencevalueUser Flow
Before: a proxy admin planning migrations sees a retirement date for gpt-realtime-2.1-mini that is a month earlier than what Azure enforces
azure/gpt-realtime-2.1-minideprecation_date2027-06-25After: the same call reports the later date Azure's Models API enforces
deprecation_date2027-07-31Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
uv run pytest tests/test_litellm/<your_test_file>.py -v. Leave the suites (make test-unit-*,make test-unit) to CI: it finishes in ~15 minutes where a laptop takes an hour or more@greptileaito re-request a review after pushing changes)Screenshots / Proof of Fix
This is a data only change to the cost map, so the proof is the row value at the merge base and the tip next to the Azure evidence. No completion calls were made on purpose; the row is changed on the strength of the list API row
Shared setup:
python3 -c 'import json; d=json.load(open("model_prices_and_context_window.json")); print(d["azure/gpt-realtime-2.1-mini"]["deprecation_date"])'Before (b72a030)
2027-06-25After (1702f49)
2027-07-31LITELLM_LOCAL_MODEL_COST_MAP=True uv run --no-sync pytest tests/test_litellm/test_model_prices_schema.py tests/test_litellm/test_cost_map_guard.py -qpasses, 85 testsRow changed
One row, kind api. Evidence is the Azure ARM Models API,
GET https://management.azure.com/subscriptions/{sub}/providers/Microsoft.CognitiveServices/locations/eastus2/models?api-version=2024-10-01, fetched fresh on 2026-09-24 withnpm run providers -- list azure --rawin BerriAI/litellm-providersThe retirement schedule page (https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule, fetched raw with a cache buster) lists the row
gpt-realtime-2.1-mini | 2026-07-07 | GA | 2027-06-25 | —. The two sources disagree, so ruling azure-conflicting-dates-latest-wins applies and the later Models API date is written. The sibling azure/gpt-realtime-2.1 already holds 2027-07-31 from the same ruleChanged pages, no pricing difference
https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/claude-models and https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure were fetched raw with a cache buster. Neither states a price; the Claude page lists model, availability, context window and capabilities, and the direct sale page lists models, endpoints and capabilities.
npm run providers -- prices azure, which reads the Claude page together with the Anthropic pricing page, produced 202 records and every field matches the catalog, so no price row changesNaming mismatch, not delistings
The Azure Models API emits ids as
Publisher.model.version(for exampleOpenAI.gpt-4.1.2025-04-14) while the catalog keys areazure/<model>. Each id is mapped by dropping the publisher prefix and the trailing version segment and matching the lower cased model name toazure/<model>, withtts,tts-hdandwhispermapping toazure/tts-1,azure/tts-1-hdandazure/whisper-1. 67 of the 101 ids the dispatcher listed as delisted are present in the fresh list under that form and are not delistings. Theirdeprecation_datevalues were compared with the Models APIdeprecation.inferencedates and only azure/gpt-realtime-2.1-mini held an earlier date. Rulings honoured: azure-gpt-4o-mini-transcribe-tts-latest-date, azure-gpt-realtime-mini-latest-date, azure-conflicting-dates-latest-winsDelisted by the provider
These catalog keys are absent from the fresh Models API list in eastus2 and neither the list nor the retirement schedule page states a date for them, so they are left unchanged for a human to decide: azure/ada, azure/command-r-plus, azure/computer-use-preview, azure/container, azure/gpt-3.5-turbo, azure/gpt-3.5-turbo-instruct-0914, azure/gpt-35-turbo, azure/gpt-35-turbo-16k, azure/gpt-35-turbo-16k-0613, azure/gpt-35-turbo-instruct, azure/gpt-35-turbo-instruct-0914, azure/gpt-4, azure/gpt-4-0125-preview, azure/gpt-4-0613, azure/gpt-4-1106-preview, azure/gpt-4-32k, azure/gpt-4-32k-0613, azure/gpt-4-turbo, azure/gpt-4-turbo-vision-preview, azure/gpt-4.5-preview, azure/gpt-5.2-pro, azure/gpt-5.5-pro, azure/gpt-5.6, azure/mistral-large-2402, azure/mistral-large-latest, azure/o1-mini, azure/sora-2-pro, azure/sora-2-pro-high-res
Also absent from the list but already dated in the catalog, so nothing to add: azure/chat-latest, azure/o3-deep-research, azure/o3-pro, azure/tts-1, azure/tts-1-hd
Type
🧹 Refactoring
Link to Devin session: https://app.devin.ai/sessions/13fa5732277347df9fa48f320f448044
Open in Devin Desktop: https://app.devin.ai/desktop/session/13fa5732277347df9fa48f320f448044?variant=devin
Requested by: @kerry-berri
Note
Low Risk
Metadata-only cost-map edit with no runtime logic or pricing changes.
Overview
Updates the cost-map deprecation_date for
azure/gpt-realtime-2.1-minifrom 2027-06-25 to 2027-07-31 so LiteLLM matches Azure’s Models API (deprecation.inference) instead of the earlier retirement-schedule date.The same one-line change is applied in
model_prices_and_context_window.jsonandlitellm/model_prices_and_context_window_backup.json. No pricing or capability fields change—only whatGET /model/deprecations(and other consumers of the catalog) report for migration planning.Reviewed by Cursor Bugbot for commit 1702f49. Bugbot is set up for automated code reviews on this repo. Configure here.