mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Make GPT-5.6 Sol the default Bedrock model (#32288)
## What changed - Prioritize the GPT-5.6 Sol, Terra, and Luna variants ahead of GPT-5.5 and GPT-5.4 in the static Amazon Bedrock catalog, making Sol the default. - Use each GPT-5.6 variant's bundled description and default reasoning level while retaining Bedrock's `max` reasoning support. ## Testing - Update model-provider and app-server tests to cover catalog ordering, variant metadata, and provider-aware fallback to GPT-5.6 Sol. GitOrigin-RevId: 1761390254deae47b62c043b1ba707c384cde5e9
This commit is contained in:
1 parent
b5314aea11
commit
610f09abcf
3 files changed
+80
-33
No files matched your search
@@ -10,37 +10,43 @@ use codex_protocol::openai_models::ReasoningEffort;
|
||||
use codex_protocol::openai_models::ReasoningEffortPreset;
|
||||
|
||||
const GPT_5_BEDROCK_CONTEXT_WINDOW: i64 = 272_000;
|
||||
const GPT_5_6_SOL_OPENAI_MODEL_ID: &str = "gpt-5.6-sol";
|
||||
const GPT_5_6_TERRA_OPENAI_MODEL_ID: &str = "gpt-5.6-terra";
|
||||
const GPT_5_6_LUNA_OPENAI_MODEL_ID: &str = "gpt-5.6-luna";
|
||||
const GPT_5_5_OPENAI_MODEL_ID: &str = "gpt-5.5";
|
||||
const GPT_5_4_OPENAI_MODEL_ID: &str = "gpt-5.4";
|
||||
|
||||
pub(crate) fn static_model_catalog() -> ModelsResponse {
|
||||
with_default_only_service_tier(ModelsResponse {
|
||||
models: vec![
|
||||
gpt_5_6_bedrock_model(
|
||||
GPT_5_6_SOL_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID,
|
||||
"GPT-5.6 Sol",
|
||||
/*priority*/ 0,
|
||||
),
|
||||
gpt_5_6_bedrock_model(
|
||||
GPT_5_6_TERRA_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID,
|
||||
"GPT-5.6 Terra",
|
||||
/*priority*/ 1,
|
||||
),
|
||||
gpt_5_6_bedrock_model(
|
||||
GPT_5_6_LUNA_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID,
|
||||
"GPT-5.6 Luna",
|
||||
/*priority*/ 2,
|
||||
),
|
||||
gpt_5_bedrock_model(
|
||||
GPT_5_5_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_5_MODEL_ID,
|
||||
"GPT-5.5",
|
||||
/*priority*/ 0,
|
||||
/*priority*/ 3,
|
||||
),
|
||||
gpt_5_bedrock_model(
|
||||
GPT_5_4_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_4_MODEL_ID,
|
||||
"GPT-5.4",
|
||||
/*priority*/ 1,
|
||||
),
|
||||
gpt_5_6_bedrock_model(
|
||||
AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID,
|
||||
"GPT-5.6 Sol",
|
||||
/*priority*/ 2,
|
||||
),
|
||||
gpt_5_6_bedrock_model(
|
||||
AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID,
|
||||
"GPT-5.6 Terra",
|
||||
/*priority*/ 3,
|
||||
),
|
||||
gpt_5_6_bedrock_model(
|
||||
AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID,
|
||||
"GPT-5.6 Luna",
|
||||
/*priority*/ 4,
|
||||
),
|
||||
],
|
||||
@@ -74,13 +80,21 @@ fn gpt_5_bedrock_model(
|
||||
model
|
||||
}
|
||||
|
||||
fn gpt_5_6_bedrock_model(bedrock_slug: &str, display_name: &str, priority: i32) -> ModelInfo {
|
||||
fn gpt_5_6_bedrock_model(
|
||||
openai_slug: &str,
|
||||
bedrock_slug: &str,
|
||||
display_name: &str,
|
||||
priority: i32,
|
||||
) -> ModelInfo {
|
||||
let openai_model = bundled_openai_model(openai_slug);
|
||||
let mut model = gpt_5_bedrock_model(
|
||||
GPT_5_5_OPENAI_MODEL_ID,
|
||||
bedrock_slug,
|
||||
display_name,
|
||||
priority,
|
||||
);
|
||||
model.description = openai_model.description;
|
||||
model.default_reasoning_level = openai_model.default_reasoning_level;
|
||||
model
|
||||
.supported_reasoning_levels
|
||||
.push(ReasoningEffortPreset {
|
||||
@@ -107,7 +121,7 @@ mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn catalog_uses_mantle_model_ids_as_slugs() {
|
||||
fn catalog_uses_mantle_model_ids_in_priority_order() {
|
||||
let catalog = static_model_catalog();
|
||||
|
||||
assert_eq!(
|
||||
@@ -117,11 +131,11 @@ mod tests {
|
||||
.map(|model| model.slug.as_str())
|
||||
.collect::<Vec<_>>(),
|
||||
vec![
|
||||
AMAZON_BEDROCK_GPT_5_5_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_4_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_5_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_4_MODEL_ID,
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -151,7 +165,7 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn gpt_5_6_bedrock_models_clone_gpt_5_5_config_with_max_reasoning_effort() {
|
||||
fn gpt_5_6_bedrock_models_use_variant_metadata_and_max_reasoning_effort() {
|
||||
let catalog = static_model_catalog();
|
||||
let gpt_5_5 = catalog
|
||||
.models
|
||||
@@ -159,14 +173,32 @@ mod tests {
|
||||
.find(|model| model.slug == AMAZON_BEDROCK_GPT_5_5_MODEL_ID)
|
||||
.expect("Bedrock catalog should include GPT-5.5");
|
||||
|
||||
for (slug, display_name, priority) in [
|
||||
(AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID, "GPT-5.6 Sol", 2),
|
||||
(AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID, "GPT-5.6 Terra", 3),
|
||||
(AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID, "GPT-5.6 Luna", 4),
|
||||
for (openai_slug, slug, display_name, priority) in [
|
||||
(
|
||||
GPT_5_6_SOL_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_SOL_MODEL_ID,
|
||||
"GPT-5.6 Sol",
|
||||
0,
|
||||
),
|
||||
(
|
||||
GPT_5_6_TERRA_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_TERRA_MODEL_ID,
|
||||
"GPT-5.6 Terra",
|
||||
1,
|
||||
),
|
||||
(
|
||||
GPT_5_6_LUNA_OPENAI_MODEL_ID,
|
||||
AMAZON_BEDROCK_GPT_5_6_LUNA_MODEL_ID,
|
||||
"GPT-5.6 Luna",
|
||||
2,
|
||||
),
|
||||
] {
|
||||
let openai_model = bundled_openai_model(openai_slug);
|
||||
let mut expected = gpt_5_5.clone();
|
||||
expected.slug = slug.to_string();
|
||||
expected.display_name = display_name.to_string();
|
||||
expected.description = openai_model.description;
|
||||
expected.default_reasoning_level = openai_model.default_reasoning_level;
|
||||
expected.priority = priority;
|
||||
expected
|
||||
.supported_reasoning_levels
|
||||
|
||||
Reference in new issue
Block a user