Skip to content

Commit 799f355

Browse files
author
octo-patch
committed
feat: upgrade MiniMax default model to M3
- Set MiniMax-M3 as the default model for the voice, task, and UI agent configs - Keep MiniMax-M2.7 / MiniMax-M2.7-highspeed selectable via the *_LLM_MODEL env overrides - Update MiniMax provider unit tests to assert the new default
1 parent 8f587ce commit 799f355

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/gradientbang/utils/llm_factory.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ def get_voice_llm_config() -> LLMServiceConfig:
464464
LLMProvider.GOOGLE: "gemini-2.5-flash",
465465
LLMProvider.ANTHROPIC: "claude-sonnet-4-5-20250929",
466466
LLMProvider.OPENAI: "gpt-4.1",
467-
LLMProvider.MINIMAX: "MiniMax-M2.7",
467+
LLMProvider.MINIMAX: "MiniMax-M3",
468468
}
469469

470470
model = current.VOICE_LLM_MODEL or default_models[provider]
@@ -519,7 +519,7 @@ def get_task_agent_llm_config() -> LLMServiceConfig:
519519
LLMProvider.GOOGLE: "gemini-2.5-flash",
520520
LLMProvider.ANTHROPIC: "claude-sonnet-4-5-20250929",
521521
LLMProvider.OPENAI: "gpt-4.1",
522-
LLMProvider.MINIMAX: "MiniMax-M2.7",
522+
LLMProvider.MINIMAX: "MiniMax-M3",
523523
}
524524

525525
model = current.TASK_LLM_MODEL or default_models[provider]
@@ -573,7 +573,7 @@ def get_ui_agent_llm_config() -> LLMServiceConfig:
573573
LLMProvider.GOOGLE: "gemini-2.5-flash",
574574
LLMProvider.ANTHROPIC: "claude-haiku-4-5-20251001",
575575
LLMProvider.OPENAI: "gpt-4.1",
576-
LLMProvider.MINIMAX: "MiniMax-M2.7",
576+
LLMProvider.MINIMAX: "MiniMax-M3",
577577
}
578578
model = (
579579
current.UI_AGENT_LLM_MODEL

tests/unit/test_llm_factory_minimax.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def test_creates_openai_service_with_minimax_base_url(self, _mock):
6262
with patch("pipecat.services.openai.llm.OpenAILLMService") as mock_cls:
6363
mock_cls.return_value = MagicMock()
6464
mock_cls.Settings = OpenAILLMService.Settings
65-
_create_minimax_service(api_key="test-key", model="MiniMax-M2.7")
65+
_create_minimax_service(api_key="test-key", model="MiniMax-M3")
6666
mock_cls.assert_called_once()
6767
_, kwargs = mock_cls.call_args
6868
assert kwargs["api_key"] == "test-key"
@@ -76,14 +76,14 @@ def test_respects_minimax_base_url_env_var(self, _mock):
7676
with patch("pipecat.services.openai.llm.OpenAILLMService") as mock_cls:
7777
mock_cls.return_value = MagicMock()
7878
mock_cls.Settings = OpenAILLMService.Settings
79-
_create_minimax_service(api_key="test-key", model="MiniMax-M2.7")
79+
_create_minimax_service(api_key="test-key", model="MiniMax-M3")
8080
_, kwargs = mock_cls.call_args
8181
assert kwargs["base_url"] == "https://custom.minimax.io/v1"
8282

8383
def test_default_temperature_is_1(self):
8484
"""MiniMax does not accept temperature=0; default must be 1.0."""
8585
with patch.dict(os.environ, {"MINIMAX_API_KEY": "test-key"}):
86-
service = _create_minimax_service(api_key="test-key", model="MiniMax-M2.7")
86+
service = _create_minimax_service(api_key="test-key", model="MiniMax-M3")
8787
assert service._settings.temperature == 1.0
8888

8989
def test_passes_function_call_timeout(self):
@@ -93,7 +93,7 @@ def test_passes_function_call_timeout(self):
9393
mock_cls.return_value = MagicMock()
9494
mock_cls.Settings = OpenAILLMService.Settings
9595
_create_minimax_service(
96-
api_key="test-key", model="MiniMax-M2.7", function_call_timeout_secs=30.0
96+
api_key="test-key", model="MiniMax-M3", function_call_timeout_secs=30.0
9797
)
9898
_, kwargs = mock_cls.call_args
9999
assert kwargs["function_call_timeout_secs"] == 30.0
@@ -104,15 +104,15 @@ class TestCreateLLMServiceMiniMax:
104104
def test_create_llm_service_routes_minimax(self):
105105
config = LLMServiceConfig(
106106
provider=LLMProvider.MINIMAX,
107-
model="MiniMax-M2.7",
107+
model="MiniMax-M3",
108108
api_key="test-key",
109109
)
110110
with patch(
111111
"gradientbang.utils.llm_factory._create_minimax_service"
112112
) as mock_minimax:
113113
mock_minimax.return_value = MagicMock()
114114
create_llm_service(config)
115-
mock_minimax.assert_called_once_with("test-key", "MiniMax-M2.7", None)
115+
mock_minimax.assert_called_once_with("test-key", "MiniMax-M3", None)
116116

117117
def test_create_llm_service_minimax_with_timeout(self):
118118
config = LLMServiceConfig(
@@ -140,7 +140,7 @@ def test_voice_llm_config_minimax_default_model(self):
140140
os.environ.pop("VOICE_LLM_MODEL", None)
141141
config = get_voice_llm_config()
142142
assert config.provider == LLMProvider.MINIMAX
143-
assert config.model == "MiniMax-M2.7"
143+
assert config.model == "MiniMax-M3"
144144

145145
def test_task_llm_config_minimax_default_model(self):
146146
with patch.dict(
@@ -151,7 +151,7 @@ def test_task_llm_config_minimax_default_model(self):
151151
os.environ.pop("TASK_LLM_MODEL", None)
152152
config = get_task_agent_llm_config()
153153
assert config.provider == LLMProvider.MINIMAX
154-
assert config.model == "MiniMax-M2.7"
154+
assert config.model == "MiniMax-M3"
155155

156156
def test_ui_agent_llm_config_minimax_default_model(self):
157157
with patch.dict(
@@ -162,7 +162,7 @@ def test_ui_agent_llm_config_minimax_default_model(self):
162162
os.environ.pop("UI_AGENT_LLM_MODEL", None)
163163
config = get_ui_agent_llm_config()
164164
assert config.provider == LLMProvider.MINIMAX
165-
assert config.model == "MiniMax-M2.7"
165+
assert config.model == "MiniMax-M3"
166166

167167
def test_voice_llm_config_minimax_custom_model(self):
168168
with patch.dict(

0 commit comments

Comments
 (0)