From 12beb908e2e3ab89f3601e48e827b74c765f5761 Mon Sep 17 00:00:00 2001 From: Jules <19994093+jules-p@users.noreply.github.com> Date: Wed, 6 Aug 2025 22:45:09 +0200 Subject: [PATCH] Deprecates gpt-4o (#56413) Co-authored-by: Jules Porter Co-authored-by: sunbrye Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> --- content/copilot/concepts/billing/copilot-requests.md | 2 +- content/copilot/concepts/completions/code-suggestions.md | 2 +- .../how-tos/use-ai-models/create-a-custom-model.md | 2 +- content/copilot/how-tos/use-chat/use-chat-in-github.md | 1 - content/copilot/how-tos/use-chat/use-chat-in-ide.md | 2 -- content/copilot/reference/ai-models/model-comparison.md | 4 +--- content/copilot/reference/ai-models/supported-models.md | 2 -- content/copilot/tutorials/compare-ai-models.md | 8 ++++---- content/copilot/tutorials/migrate-a-project.md | 2 +- data/reusables/copilot/available-models-per-plan.md | 1 - .../copilot/model-use-cases/{gpt-4o.md => gpt-41.md} | 2 +- data/variables/copilot.yml | 2 +- 12 files changed, 11 insertions(+), 19 deletions(-) rename data/reusables/copilot/model-use-cases/{gpt-4o.md => gpt-41.md} (61%) diff --git a/content/copilot/concepts/billing/copilot-requests.md b/content/copilot/concepts/billing/copilot-requests.md index 7ce4b88f42..04208cb0cd 100644 --- a/content/copilot/concepts/billing/copilot-requests.md +++ b/content/copilot/concepts/billing/copilot-requests.md @@ -48,7 +48,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u If you use **{% data variables.copilot.copilot_free_short %}**, your plan comes with up to 2,000 code completion requests and up to 50 premium requests per month. All chat interactions count as premium requests. -If you're on a **paid plan**, you get unlimited code completions and unlimited chat interactions using the included models ({% data variables.copilot.copilot_gpt_41 %} and {% data variables.copilot.copilot_gpt_4o %}). Rate limiting is in place to accommodate for high demand. See [AUTOTITLE](/copilot/concepts/rate-limits). +If you're on a **paid plan**, you get unlimited code completions and unlimited chat interactions using the included models ({% data variables.copilot.copilot_gpt_41 %} and {% data variables.copilot.copilot_gpt_4o %}. Rate limiting is in place to accommodate for high demand. See [AUTOTITLE](/copilot/concepts/rate-limits). Paid plans also receive a monthly allowance of premium requests, which can be used for advanced chat interactions, code completions using premium models, and other premium features. For an overview of the amount of premium requests included in each plan, see [AUTOTITLE](/copilot/about-github-copilot/subscription-plans-for-github-copilot#comparing-copilot-plans). diff --git a/content/copilot/concepts/completions/code-suggestions.md b/content/copilot/concepts/completions/code-suggestions.md index 9153cf25d4..b98f78119f 100644 --- a/content/copilot/concepts/completions/code-suggestions.md +++ b/content/copilot/concepts/completions/code-suggestions.md @@ -89,7 +89,7 @@ contentType: concepts ## About the AI model used for {% data variables.product.prodname_copilot_short %} code completion -{% data variables.product.prodname_copilot_short %} code completion uses the {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} model. This is a fine-tuned version of the GPT-4o mini model. The {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} model was trained on a wide range of high quality public {% data variables.product.github %} repositories, providing coverage of over 30 programming languages. See [Programming languages included in the default model](#programming-languages-included-in-the-default-model) below. +{% data variables.product.prodname_copilot_short %} code completion uses the {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} model. The {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} model was trained on a wide range of high quality public {% data variables.product.github %} repositories, providing coverage of over 30 programming languages. See [Programming languages included in the default model](#programming-languages-included-in-the-default-model) below. {% vscode %} diff --git a/content/copilot/how-tos/use-ai-models/create-a-custom-model.md b/content/copilot/how-tos/use-ai-models/create-a-custom-model.md index 4fea74f367..244b4d5065 100644 --- a/content/copilot/how-tos/use-ai-models/create-a-custom-model.md +++ b/content/copilot/how-tos/use-ai-models/create-a-custom-model.md @@ -17,7 +17,7 @@ redirect_from: contentType: how-tos --- -> [!NOTE] The current {% data variables.release-phases.public_preview %} of custom models for {% data variables.copilot.copilot_enterprise %} will be discontinued. For now, participants can continue using their custom models, but we are no longer processing new training requests. We encourage participants to try the newer {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} code completion model. See [Changing the AI model for Copilot code completion](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion?tool=vscode). +> [!NOTE] The current {% data variables.release-phases.public_preview %} of custom models for {% data variables.copilot.copilot_enterprise %} will be discontinued. For now, participants can continue using their custom models, but we are no longer processing new training requests. We encourage participants to try the newer {% data variables.copilot.copilot_gpt_41 %} {% data variables.product.prodname_copilot_short %} code completion model. See [Changing the AI model for Copilot code completion](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion?tool=vscode). ## Prerequisite diff --git a/content/copilot/how-tos/use-chat/use-chat-in-github.md b/content/copilot/how-tos/use-chat/use-chat-in-github.md index 55e83788da..ffd9aee0ea 100644 --- a/content/copilot/how-tos/use-chat/use-chat-in-github.md +++ b/content/copilot/how-tos/use-chat/use-chat-in-github.md @@ -140,7 +140,6 @@ You can attach an image to {% data variables.product.prodname_copilot_short %} a 1. If you see the AI model picker at the top of the page, select one of the models that supports adding images to prompts: * {% data variables.copilot.copilot_gpt_41 %} (the default that's used if you don't see a model picker) - * {% data variables.copilot.copilot_gpt_4o %} * {% data variables.copilot.copilot_claude_sonnet_35 %} * {% data variables.copilot.copilot_claude_sonnet_37 %} * {% data variables.copilot.copilot_gemini_flash %} diff --git a/content/copilot/how-tos/use-chat/use-chat-in-ide.md b/content/copilot/how-tos/use-chat/use-chat-in-ide.md index 5488dcfadb..6adf4d4b15 100644 --- a/content/copilot/how-tos/use-chat/use-chat-in-ide.md +++ b/content/copilot/how-tos/use-chat/use-chat-in-ide.md @@ -161,7 +161,6 @@ For more information, see [{% data variables.copilot.copilot_edits_short %}](htt 1. If you see the AI model picker at the bottom right of the chat view, select one of the models that supports adding images to prompts: * {% data variables.copilot.copilot_gpt_41 %} (the default that's used if you don't see a model picker) - * {% data variables.copilot.copilot_gpt_4o %} * {% data variables.copilot.copilot_claude_sonnet_35 %} * {% data variables.copilot.copilot_claude_sonnet_37 %} * {% data variables.copilot.copilot_gemini_flash %} @@ -309,7 +308,6 @@ When you use {% data variables.copilot.copilot_agent_short %} mode, each prompt 1. If you see the AI model picker at the bottom right of the chat view, select one of the models that supports adding images to prompts: * {% data variables.copilot.copilot_gpt_41 %} (the default that's used if you don't see a model picker) - * {% data variables.copilot.copilot_gpt_4o %} * {% data variables.copilot.copilot_claude_sonnet_35 %} * {% data variables.copilot.copilot_claude_sonnet_37 %} * {% data variables.copilot.copilot_gemini_flash %} diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md index 0fbea9b993..4070716b16 100644 --- a/content/copilot/reference/ai-models/model-comparison.md +++ b/content/copilot/reference/ai-models/model-comparison.md @@ -26,7 +26,6 @@ Use this table to find a suitable model quickly, see more detail in the sections | Model | Task area | Excels at (primary use case) | Additional capabilities | |-------------------------------------------------------|-----------|-------------------------------|--------------------------| | {% data variables.copilot.copilot_gpt_41 %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode, vision | -| {% data variables.copilot.copilot_gpt_4o %} | General-purpose coding and writing | Fast completions and visual input understanding | Agent mode, vision | | {% data variables.copilot.copilot_o3 %} | Deep reasoning and debugging | Multi-step problem solving and architecture-level code analysis | Reasoning | | {% data variables.copilot.copilot_o4_mini %} | Fast help with simple or repetitive tasks | Fast, reliable answers to lightweight coding questions | Lower latency | | {% data variables.copilot.copilot_claude_opus_41 %} | Deep reasoning and debugging | Complex problem-solving challenges, sophisticated reasoning | Reasoning, vision | @@ -44,7 +43,6 @@ Use these models for common development tasks that require a balance of quality, | Model | Why it's a good fit | |-------|---------------------| | {% data variables.copilot.copilot_gpt_41 %} | Reliable default for most coding and writing tasks. Fast, accurate, and works well across languages and frameworks. | -| {% data variables.copilot.copilot_gpt_4o %} | Delivers GPT-4–level performance with lower latency. | | {% data variables.copilot.copilot_claude_sonnet_37 %} | Produces clear, structured output. Follows formatting instructions and maintains consistent style. | | {% data variables.copilot.copilot_gemini_flash %} | Fast and cost-effective. Well suited for quick questions, short code snippets, and lightweight writing tasks. | | {% data variables.copilot.copilot_o4_mini %} | Optimized for speed and cost efficiency. Ideal for real-time suggestions with low usage overhead. | @@ -147,7 +145,7 @@ If your task involves deep reasoning or large-scale refactoring, consider a mode ## Next steps -Choosing the right model helps you get the most out of {% data variables.product.prodname_copilot_short %}. If you're not sure which model to use, start with a general-purpose option like {% data variables.copilot.copilot_gpt_41 %} or {% data variables.copilot.copilot_gpt_4o %}, then adjust based on your needs. +Choosing the right model helps you get the most out of {% data variables.product.prodname_copilot_short %}. If you're not sure which model to use, start with a general-purpose option like {% data variables.copilot.copilot_gpt_41 %}, then adjust based on your needs. * For detailed model specs and pricing, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/supported-ai-models-in-copilot). * For more examples of how to use different models, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/comparing-ai-models-using-different-tasks). diff --git a/content/copilot/reference/ai-models/supported-models.md b/content/copilot/reference/ai-models/supported-models.md index c3bbd117ca..4cad2eaad7 100644 --- a/content/copilot/reference/ai-models/supported-models.md +++ b/content/copilot/reference/ai-models/supported-models.md @@ -38,7 +38,6 @@ This table lists the AI models available in {% data variables.product.prodname_c | Model name | Provider | Release status | Agent mode | Ask mode | Edit mode | |----------------------------------------------------------------|----------|--------------|------------|----------------------|---------------| | {% data variables.copilot.copilot_gpt_41 %} | OpenAI | GA | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| {% data variables.copilot.copilot_gpt_4o %} | OpenAI | GA | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o3 %} | OpenAI | {% data variables.release-phases.public_preview_caps %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o4_mini %} | OpenAI | {% data variables.release-phases.public_preview_caps %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_claude_opus_41 %} | Anthropic | {% data variables.release-phases.public_preview_caps %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | @@ -61,7 +60,6 @@ The following table shows which models are available in each client. | Model | {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_vscode %} | {% data variables.product.prodname_vs %} | Eclipse | Xcode | JetBrains IDEs | |----------------------------------------------------------------|------------|---------|---------------------------------------------|---------------------------------------------|---------------------------------------------|---------------------------------------------| | {% data variables.copilot.copilot_gpt_41 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| {% data variables.copilot.copilot_gpt_4o %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o3 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o4_mini %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_claude_opus_41 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | diff --git a/content/copilot/tutorials/compare-ai-models.md b/content/copilot/tutorials/compare-ai-models.md index 248cc34d0f..8e28c096ab 100644 --- a/content/copilot/tutorials/compare-ai-models.md +++ b/content/copilot/tutorials/compare-ai-models.md @@ -21,9 +21,9 @@ These examples show how models vary in their reasoning style, response depth, an For a full list of supported models and side-by-side feature comparisons, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). -## {% data variables.copilot.copilot_gpt_4o %} +## {% data variables.copilot.copilot_gpt_41 %} -{% data reusables.copilot.model-use-cases.gpt-4o %} +{% data reusables.copilot.model-use-cases.gpt-41 %} ### Example scenario @@ -71,10 +71,10 @@ def grant_editor_access(user_id, doc_id): ) ``` -### Why {% data variables.copilot.copilot_gpt_4o %} is a good fit +### Why {% data variables.copilot.copilot_gpt_41 %} is a good fit * The function is short and self-contained, making it ideal for quick docstring generation. -* {% data variables.copilot.copilot_gpt_4o %} can recognize the pattern and provide a clear, concise explanation. +* {% data variables.copilot.copilot_gpt_41 %} can recognize the pattern and provide a clear, concise explanation. * The task doesn't require deep reasoning or complex logic. ## {% data variables.copilot.copilot_o4_mini %} diff --git a/content/copilot/tutorials/migrate-a-project.md b/content/copilot/tutorials/migrate-a-project.md index 48e33fad08..d4e789b6b1 100644 --- a/content/copilot/tutorials/migrate-a-project.md +++ b/content/copilot/tutorials/migrate-a-project.md @@ -111,7 +111,7 @@ template └── template.php ``` -This example gives the prompts you can enter into {% data variables.copilot.copilot_chat_short %} to complete the migration, and the responses {% data variables.product.prodname_copilot_short %} returned for one instance of this migration. The {% data variables.copilot.copilot_gpt_4o %} model was used to generate these responses. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you will probably get slightly different responses to the ones shown here. +This example gives the prompts you can enter into {% data variables.copilot.copilot_chat_short %} to complete the migration, and the responses {% data variables.product.prodname_copilot_short %} returned for one instance of this migration. The {% data variables.copilot.copilot_gpt_41 %} model was used to generate these responses. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you will probably get slightly different responses to the ones shown here. During a migration process you are likely to get errors that you need to fix before moving ahead. {% data variables.product.prodname_copilot_short %} can help you with this. The example includes some errors and shows how you can get {% data variables.product.prodname_copilot_short %} to help you fix them. diff --git a/data/reusables/copilot/available-models-per-plan.md b/data/reusables/copilot/available-models-per-plan.md index 43bd48772b..d951ca2670 100644 --- a/data/reusables/copilot/available-models-per-plan.md +++ b/data/reusables/copilot/available-models-per-plan.md @@ -3,7 +3,6 @@ | Available models in chat | {% data variables.copilot.copilot_free_short %} | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} | |----------------------------------------------------------------|--------------------------------------------------|--------------------------------------------------|------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------| | {% data variables.copilot.copilot_gpt_41 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| {% data variables.copilot.copilot_gpt_4o %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o3 %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_o4_mini %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.copilot.copilot_claude_opus_41 %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | diff --git a/data/reusables/copilot/model-use-cases/gpt-4o.md b/data/reusables/copilot/model-use-cases/gpt-41.md similarity index 61% rename from data/reusables/copilot/model-use-cases/gpt-4o.md rename to data/reusables/copilot/model-use-cases/gpt-41.md index 419139ab30..7011d07419 100644 --- a/data/reusables/copilot/model-use-cases/gpt-4o.md +++ b/data/reusables/copilot/model-use-cases/gpt-41.md @@ -1 +1 @@ -{% data variables.copilot.copilot_gpt_4o %} is a good choice for common development tasks that benefit from speed, responsiveness, and general-purpose reasoning. If you're working on tasks that require broad knowledge, fast iteration, or basic code understanding, {% data variables.copilot.copilot_gpt_4o %} is likely the model to use. +{% data variables.copilot.copilot_gpt_41 %} is a good choice for common development tasks that benefit from speed, responsiveness, and general-purpose reasoning. If you're working on tasks that require broad knowledge, fast iteration, or basic code understanding, {% data variables.copilot.copilot_gpt_41 %} is likely the model to use. diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index a80095ad35..6ee802ceab 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -109,8 +109,8 @@ copilot_gemini: 'Gemini' copilot_gemini_flash: 'Gemini 2.0 Flash' copilot_gemini_25_pro: 'Gemini 2.5 Pro' # OpenAI GPT series: -copilot_gpt_4o: 'GPT-4o' copilot_gpt_41: 'GPT-4.1' +copilot_gpt_4o: 'GPT-4o' # OpenAI 'o' series: copilot_o3: 'o3' copilot_o4_mini: 'o4-mini'