Model Switching: Iterations 1 - Model selection .com for Top-level Namespace (Private Beta)
This epic contains the implementation plan for the first phases of the [Model Switching blueprint](https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/11970). This iteration focuses on bringing Namespace-level Model Switching to private beta. Follow-on work to bring Namespace-level Model Switching to GA is captured here.
## Background
We need an to integrate model selection options throughout GitLab Duo, providing administrators, operators, and end users with fine-grained control over which models can be used while also streamlining the governance and compliance workflow.
[See the blueprint](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/ai_model_selection/) for more context.
### Iteration 1
In this iteration, customers will be able to select from among Gitlab supported AI Vendor models at a Top namespace level for each main feature. This will allow `.com` customer admins to decide which models they want their end users to use. Related [Issue](https://gitlab.com/gitlab-org/gitlab/-/issues/514948). The default model will be used by the entire namespace.
Models available for each feature will include the default GitLab AI Vendor model for each feature/sub-feature, as well as Claude 3.5 Sonnet
What's out of scope in this iteration:
- Only top level namespece/group will be able to access the feature. Sub-groups will use the model selected by their top parent.
- This iteration does NOT include any cascading model selection discussed in the blue print.
- This iteration does NOT include model switching support for beta or experimental features.
## Technical Lead
* @jpcyiza
## Definition of Done
* GitLab.com Duo top namespace administrators can select a default model for their Duo features from among models supported by GitLab for each Duo feature and sub-feature
* If the administrator does not take an action on the model selection page, Gitlab AI Vendor model defaults will be populated
* If the customer has selected a specific model for a feature, the feature will NOT fallback to another model
* ~~Customer may also choose the Disabled options to disable a specific feature or sub-feature~~ (descoped)
* [All GA GitLab Duo features available on GitLab.com](https://docs.gitlab.com/user/gitlab_duo/#summary-of-gitlab-duo-features) will be available for model selection
* Model selection options will include GitLab AI Vendor model defaults for each feature/sub-feature, as well as Claude 3.5 Sonnet
* Model selection will be available to all Duo users, regardless of tier. This includes:
* Duo Core
* Duo Pro
* Duo Enterprise
* **This iteration will NOT include any cascading model selection**
The below is a mock-up of the proposed UI at for this iteration -- but this iteration will also include Gitlab Duo features not pictured in the mock-up.

epic