Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
]
DalleModels = Literal["dall-e-2", "dall-e-3"]
ChatModels = Literal[
"gpt-5.5",
"gpt-5.4",
"gpt-5.4-mini",
"gpt-5.3-chat-latest",
Expand Down Expand Up @@ -295,6 +296,7 @@

def _supports_reasoning_effort(model: ChatModels | str) -> bool:
return model in [
"gpt-5.5",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 New gpt-5.5 model gets a different default reasoning setting than its sibling models

Enabling reasoning support for the new model ("gpt-5.5" added to _supports_reasoning_effort at livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/models.py:299) without also listing it alongside its closest siblings causes it to fall into the fallback branch and default to "minimal" instead of "none" like gpt-5.4/gpt-5.2/gpt-5.1.
Impact: When someone selects the new model without explicitly choosing a reasoning setting, it silently uses a different default than the other recent models, and if that value is unsupported by the model the request can fail.

Default reasoning-effort selection excludes gpt-5.5

Once "gpt-5.5" is accepted by _supports_reasoning_effort (models.py:299), both constructors take the reasoning-default path but only assign "none" to models explicitly listed:

  • livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/llm.py:127if model in ["gpt-5.1", "gpt-5.2", "gpt-5.4", "gpt-5.4-mini"]: reasoning_effort = "none" else "minimal".
  • livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/responses/llm.py:189 — same list, else Reasoning(effort="minimal").

Since gpt-5.5 is absent from both lists, it defaults to minimal, diverging from the bare gpt-5.x entries (5.1/5.2/5.4) the PR intends to match. These lists likely also need "gpt-5.5".

Prompt for agents
Adding "gpt-5.5" to _supports_reasoning_effort() in models.py causes the OpenAI LLM constructors to enter the reasoning-default branch for gpt-5.5. However, in livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/llm.py (around line 127) and livekit-plugins/livekit-plugins-openai/livekit/plugins/openai/responses/llm.py (around line 189), the check `if model in ["gpt-5.1", "gpt-5.2", "gpt-5.4", "gpt-5.4-mini"]` assigns reasoning effort "none", otherwise "minimal". Because gpt-5.5 is not in that list, it will default to "minimal" instead of "none" like its closest sibling gpt-5.4. Determine whether gpt-5.5 should default to "none" (matching the newer gpt-5.x family) and, if so, add "gpt-5.5" to both lists. Verify whether gpt-5.5 even supports the "minimal" reasoning effort value, since defaulting to an unsupported value would cause API request failures.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

"gpt-5.4",
"gpt-5.4-mini",
"gpt-5.2",
Expand Down