Enable web search for OpenAI reasoning models (#148393)

This commit is contained in:
Denis Shulyaka 2025-07-09 15:54:49 +07:00 committed by GitHub
parent e387d4834f
commit de849b920a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 32 deletions

View File

@ -66,7 +66,7 @@ from .const import (
RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE,
RECOMMENDED_WEB_SEARCH_USER_LOCATION,
UNSUPPORTED_MODELS,
WEB_SEARCH_MODELS,
UNSUPPORTED_WEB_SEARCH_MODELS,
)
_LOGGER = logging.getLogger(__name__)
@ -320,7 +320,7 @@ class ConversationSubentryFlowHandler(ConfigSubentryFlow):
elif CONF_REASONING_EFFORT in options:
options.pop(CONF_REASONING_EFFORT)
if model.startswith(tuple(WEB_SEARCH_MODELS)):
if not model.startswith(tuple(UNSUPPORTED_WEB_SEARCH_MODELS)):
step_schema.update(
{
vol.Optional(

View File

@ -44,11 +44,10 @@ UNSUPPORTED_MODELS: list[str] = [
"gpt-4o-mini-realtime-preview-2024-12-17",
]
WEB_SEARCH_MODELS: list[str] = [
"gpt-4.1",
"gpt-4.1-mini",
"gpt-4o",
"gpt-4o-search-preview",
"gpt-4o-mini",
"gpt-4o-mini-search-preview",
UNSUPPORTED_WEB_SEARCH_MODELS: list[str] = [
"gpt-3.5",
"gpt-4-turbo",
"gpt-4.1-nano",
"o1",
"o3-mini",
]

View File

@ -286,29 +286,6 @@ async def test_form_invalid_auth(hass: HomeAssistant, side_effect, error) -> Non
CONF_PROMPT: "",
},
),
( # options with no model-specific settings
{},
(
{
CONF_RECOMMENDED: False,
CONF_PROMPT: "Speak like a pirate",
},
{
CONF_TEMPERATURE: 1.0,
CONF_CHAT_MODEL: "gpt-4.5-preview",
CONF_TOP_P: RECOMMENDED_TOP_P,
CONF_MAX_TOKENS: RECOMMENDED_MAX_TOKENS,
},
),
{
CONF_RECOMMENDED: False,
CONF_PROMPT: "Speak like a pirate",
CONF_TEMPERATURE: 1.0,
CONF_CHAT_MODEL: "gpt-4.5-preview",
CONF_TOP_P: RECOMMENDED_TOP_P,
CONF_MAX_TOKENS: RECOMMENDED_MAX_TOKENS,
},
),
( # options for reasoning models
{},
(