diff --git a/pydantic_ai_slim/pydantic_ai/models/__init__.py b/pydantic_ai_slim/pydantic_ai/models/__init__.py index f24f836d03..a57ed1bb16 100644 --- a/pydantic_ai_slim/pydantic_ai/models/__init__.py +++ b/pydantic_ai_slim/pydantic_ai/models/__init__.py @@ -679,6 +679,10 @@ def infer_model(model: Model | KnownModelName | str) -> Model: # noqa: C901 from .openai import OpenAIModel return OpenAIModel(model_name, provider=provider) + elif provider == 'openai-responses': + from .openai import OpenAIResponsesModel + + return OpenAIResponsesModel(model_name, provider='openai') elif provider in ('google-gla', 'google-vertex'): from .google import GoogleModel diff --git a/tests/models/test_model.py b/tests/models/test_model.py index e203d067ea..1f781d7d9f 100644 --- a/tests/models/test_model.py +++ b/tests/models/test_model.py @@ -96,6 +96,14 @@ 'grok', 'OpenAIModel', ), + ( + 'OPENAI_API_KEY', + 'openai-responses:gpt-4o', + 'gpt-4o', + 'openai', + 'openai', + 'OpenAIResponsesModel', + ), ]