Skip to content

Commit 8b170ea

Browse files
committed
models(openai): add GPT-5 variants to OpenAIModelName; list both prefixed and bare GPT-5 IDs in KnownModelName
1 parent 5f6f717 commit 8b170ea

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

pydantic_ai_slim/pydantic_ai/models/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,12 @@
307307
'openai:gpt-5-2025-08-07',
308308
'openai:gpt-5-mini-2025-08-07',
309309
'openai:gpt-5-nano-2025-08-07',
310+
'gpt-5',
311+
'gpt-5-mini',
312+
'gpt-5-nano',
313+
'gpt-5-2025-08-07',
314+
'gpt-5-mini-2025-08-07',
315+
'gpt-5-nano-2025-08-07',
310316
'openai:o1',
311317
'openai:o1-2024-12-17',
312318
'openai:o1-mini',

pydantic_ai_slim/pydantic_ai/models/openai.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,19 @@
8383
'OpenAIModelName',
8484
)
8585

86-
OpenAIModelName = Union[str, AllModels]
86+
OpenAIModelName = Union[
87+
str,
88+
AllModels,
89+
# Include latest GPT-5 variants until the SDK enumerates them
90+
Literal[
91+
'gpt-5',
92+
'gpt-5-mini',
93+
'gpt-5-nano',
94+
'gpt-5-2025-08-07',
95+
'gpt-5-mini-2025-08-07',
96+
'gpt-5-nano-2025-08-07',
97+
],
98+
]
8799
"""
88100
Possible OpenAI model names.
89101

tests/models/test_model_names.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,6 @@ def get_model_names(model_name_type: Any) -> Iterator[str]:
5757
openai_names = [f'openai:{n}' for n in get_model_names(OpenAIModelName)] + [
5858
n for n in get_model_names(OpenAIModelName) if n.startswith('o1') or n.startswith('gpt') or n.startswith('o3')
5959
]
60-
# OpenAI SDK may lag new IDs; include latest prefixed GPT-5 variants explicitly
61-
openai_names += [
62-
'openai:gpt-5',
63-
'openai:gpt-5-mini',
64-
'openai:gpt-5-nano',
65-
'openai:gpt-5-2025-08-07',
66-
'openai:gpt-5-mini-2025-08-07',
67-
'openai:gpt-5-nano-2025-08-07',
68-
]
6960
bedrock_names = [f'bedrock:{n}' for n in get_model_names(BedrockModelName)]
7061
deepseek_names = ['deepseek:deepseek-chat', 'deepseek:deepseek-reasoner']
7162
huggingface_names = [f'huggingface:{n}' for n in get_model_names(HuggingFaceModelName)]

0 commit comments

Comments
 (0)