GPT 5.2 Support, update models (#4287)

Co-authored-by: Suchintan Singh <suchintan@skyvern.com>
This commit is contained in:
Suchintan
2025-12-12 18:22:25 -05:00
committed by GitHub
parent 3be1d68bbb
commit 9add06c9a5
3 changed files with 73 additions and 5 deletions

View File

@@ -25,6 +25,14 @@ const constants = {
SkyvernOptimized: "Skyvern Optimized",
} as const;
const deprecatedModelNames = new Set<string>([
"gemini-2.5-flash-lite",
"azure/gpt-4.1",
"azure/gpt-5",
"azure/o3",
"claude-haiku-4-5-20251001",
]);
function ModelSelector({
clearable = true,
value,
@@ -41,16 +49,31 @@ function ModelSelector({
},
});
const models = availableModels?.models ?? {};
const reverseMap = Object.entries(models).reduce(
(acc, [key, value]) => {
acc[value] = key;
const rawModels = availableModels?.models ?? {};
const models = Object.fromEntries(
Object.entries(rawModels).map(([modelName, label]) => [
modelName,
deprecatedModelNames.has(modelName) ? `${label} (deprecated)` : label,
]),
);
const visibleEntries = Object.entries(models).filter(
([modelName]) =>
!deprecatedModelNames.has(modelName) || value?.model_name === modelName,
);
const reverseMap = visibleEntries.reduce(
(acc, [modelName, label]) => {
acc[label] = modelName;
return acc;
},
{} as Record<string, string>,
);
const labels = Object.keys(reverseMap);
const chosen = value ? models[value.model_name] : constants.SkyvernOptimized;
const chosen = value
? models[value.model_name] ?? constants.SkyvernOptimized
: constants.SkyvernOptimized;
const choices = [constants.SkyvernOptimized, ...labels];
return (

View File

@@ -288,6 +288,12 @@ class Settings(BaseSettings):
AZURE_GPT5_1_API_KEY: str | None = None
AZURE_GPT5_1_API_BASE: str | None = None
AZURE_GPT5_1_API_VERSION: str = "2025-04-01-preview"
# AZURE gpt-5.2
ENABLE_AZURE_GPT5_2: bool = False
AZURE_GPT5_2_DEPLOYMENT: str = "gpt-5.2"
AZURE_GPT5_2_API_KEY: str | None = None
AZURE_GPT5_2_API_BASE: str | None = None
AZURE_GPT5_2_API_VERSION: str = "2025-04-01-preview"
# GEMINI
GEMINI_API_KEY: str | None = None
@@ -432,6 +438,7 @@ class Settings(BaseSettings):
},
"azure/gpt-4.1": {"llm_key": "AZURE_OPENAI_GPT4_1", "label": "GPT 4.1"},
"azure/gpt-5": {"llm_key": "AZURE_OPENAI_GPT5", "label": "GPT 5"},
"azure/gpt-5.2": {"llm_key": "AZURE_OPENAI_GPT5_2", "label": "GPT 5.2"},
"azure/o3": {"llm_key": "AZURE_OPENAI_O3", "label": "GPT O3"},
"us.anthropic.claude-opus-4-20250514-v1:0": {
"llm_key": "BEDROCK_ANTHROPIC_CLAUDE4_OPUS_INFERENCE_PROFILE",
@@ -469,6 +476,7 @@ class Settings(BaseSettings):
},
"azure/gpt-4.1": {"llm_key": "AZURE_OPENAI_GPT4_1", "label": "GPT 4.1"},
"azure/gpt-5": {"llm_key": "AZURE_OPENAI_GPT5", "label": "GPT 5"},
"azure/gpt-5.2": {"llm_key": "AZURE_OPENAI_GPT5_2", "label": "GPT 5.2"},
"azure/o3": {"llm_key": "AZURE_OPENAI_O3", "label": "GPT O3"},
"us.anthropic.claude-opus-4-20250514-v1:0": {
"llm_key": "BEDROCK_ANTHROPIC_CLAUDE4_OPUS_INFERENCE_PROFILE",

View File

@@ -120,6 +120,18 @@ if settings.ENABLE_OPENAI:
reasoning_effort=settings.GPT5_REASONING_EFFORT,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT5_2",
LLMConfig(
"gpt-5.2",
["OPENAI_API_KEY"],
supports_vision=True,
add_assistant_prefix=False,
max_completion_tokens=128000,
temperature=1, # GPT-5 only supports temperature=1
reasoning_effort=settings.GPT5_REASONING_EFFORT,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT4_TURBO",
LLMConfig(
@@ -698,6 +710,31 @@ if settings.ENABLE_AZURE_GPT5_1:
),
)
if settings.ENABLE_AZURE_GPT5_2:
LLMConfigRegistry.register_config(
"AZURE_OPENAI_GPT5_2",
LLMConfig(
f"azure/{settings.AZURE_GPT5_2_DEPLOYMENT}",
[
"AZURE_GPT5_2_DEPLOYMENT",
"AZURE_GPT5_2_API_KEY",
"AZURE_GPT5_2_API_BASE",
"AZURE_GPT5_2_API_VERSION",
],
litellm_params=LiteLLMParams(
api_base=settings.AZURE_GPT5_2_API_BASE,
api_key=settings.AZURE_GPT5_2_API_KEY,
api_version=settings.AZURE_GPT5_2_API_VERSION,
model_info={"model_name": "azure/gpt-5.2"},
),
supports_vision=True,
add_assistant_prefix=False,
max_completion_tokens=128000,
temperature=1, # GPT-5 only supports temperature=1
reasoning_effort=settings.GPT5_REASONING_EFFORT,
),
)
if settings.ENABLE_AZURE_O4_MINI:
LLMConfigRegistry.register_config(
"AZURE_OPENAI_O4_MINI",