From 9585cea6d03dceac34127798020758f794737752 Mon Sep 17 00:00:00 2001 From: RAJVARDHAN <95933896+vardhans07@users.noreply.github.com> Date: Tue, 15 Sep 2026 19:12:18 +0530 Subject: [PATCH] Refactor API type handling in models.py --- strix/config/models.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/strix/config/models.py b/strix/config/models.py index 3babbe37..7f676b2a 100644 --- a/strix/config/models.py +++ b/strix/config/models.py @@ -632,9 +632,11 @@ def configure_sdk_model_defaults(settings: Settings) -> None: if llm.api_base: os.environ["OPENAI_BASE_URL"] = llm.api_base _configure_litellm_default("api_base", llm.api_base) - set_default_openai_api("chat_completions") - else: - set_default_openai_api("responses") + api_type = llm.api_type + if api_type is None: + api_type = "chat_completions" if llm.api_base else "responses" + + set_default_openai_api(api_type) _configure_extra_headers(llm) @@ -806,6 +808,10 @@ def uses_chat_completions_tool_schema(model_name: str, settings: Settings) -> bo """Return whether the resolved SDK route can only receive JSON function tools.""" if codex.subscription_model(model_name): return False + if settings.llm.api_type == "chat_completions": + return True + if settings.llm.api_type == "responses": + return False model = model_name.strip().lower() if "/" in model and not model.startswith("openai/"): return True