Skip to content

feat: add MiniMax as first-class LLM provider (M3 default)#619

Open
octo-patch wants to merge 2 commits into
ValueCell-ai:mainfrom
octo-patch:feature/add-minimax-provider
Open

feat: add MiniMax as first-class LLM provider (M3 default)#619
octo-patch wants to merge 2 commits into
ValueCell-ai:mainfrom
octo-patch:feature/add-minimax-provider

Conversation

@octo-patch

@octo-patch octo-patch commented Mar 31, 2026

Copy link
Copy Markdown

Summary

Upgrade MiniMax provider to use M3 as the default model. M3 is MiniMax's latest flagship LLM with a 512K context window, 128K max output, and image input support.

This PR also introduces MiniMax as a first-class LLM provider in valuecell (backend factory + YAML config + frontend icon + i18n + README links).

Changes

M3 upgrade (this iteration)

  • Add MiniMax-M3 to python/configs/providers/minimax.yaml and set as default_model
  • Keep MiniMax-M2.7 and MiniMax-M2.7-highspeed as alternatives
  • Remove older MiniMax-M2.5 and MiniMax-M2.5-highspeed models
  • Update MiniMaxProvider docstring in factory.py accordingly
  • Update unit tests to assert M3 is the default and listed first
  • Deduplicate tests/__init__.py (was a copy of test_minimax_provider.py)

Provider integration (initial work, unchanged)

  • Backend: MiniMaxProvider class using agno's OpenAILike with temperature clamped to (0.0, 1.0]; registered in ModelFactory._providers
  • Config: MiniMax YAML config + config.yaml registration with MINIMAX_API_KEY env var
  • Backend utils: JSON mode detection for minimax.io base_url in utils/model.py; API key URL mapping in models router
  • Frontend: MiniMax provider icon + icon registration + i18n strings (en, zh_CN, zh_TW, ja)
  • Docs: README (EN/ZH/ZH_Hant/JA) provider list updated + CONFIGURATION_GUIDE.md provider table

Model spec (M3)

Field Value
Context window 512K
Max output 128K
Image input Yes (image only, no video/audio/documents)
Pricing (per M tokens) input $0.6 / output $2.4 / cache read $0.12

Why

MiniMax-M3 is the latest flagship model. Defaulting to M3 gives users the best capabilities by default while M2.7 / M2.7-highspeed remain available as alternatives for cost or latency trade-offs.

Testing

  • pytest valuecell/adapters/models/tests/test_minimax_provider.py35 passed
  • Unit tests cover: model creation for M3 / M2.7 / M2.7-highspeed, temperature clamping, YAML default_model == M3, M3 listed first, M3 has 512K context, older models removed.

octo-patch and others added 2 commits March 31, 2026 22:57
Add MiniMax AI as a dedicated model provider with full integration across
the backend, frontend, and configuration system.

Backend changes:
- MiniMaxProvider class in factory.py using agno's OpenAILike with
  temperature clamping to (0.0, 1.0] range
- Provider registered in ModelFactory._providers registry
- MiniMax YAML config with M2.7, M2.7-highspeed, M2.5, M2.5-highspeed
  models (all 204K context)
- config.yaml registration with MINIMAX_API_KEY env var
- JSON mode detection for minimax.io base_url in model.py
- API key URL mapping in models router

Frontend changes:
- MiniMax provider icon in model-providers/
- Icon registration in icons.ts constants
- i18n strings for en, zh_CN, zh_TW, ja locales

Documentation:
- README (EN/ZH/ZH_Hant/JA) provider list updated
- CONFIGURATION_GUIDE.md provider table updated

Tests: 34 tests (28 unit + 6 integration), all passing
- Add MiniMax-M3 to model list and set as default (512K context, 128K max output, image input)
- Keep MiniMax-M2.7 and MiniMax-M2.7-highspeed as alternatives
- Remove older MiniMax-M2.5 and MiniMax-M2.5-highspeed models
- Update unit tests to assert M3 is default and listed first
- Deduplicate tests/__init__.py (was a copy of test_minimax_provider.py)
@octo-patch octo-patch changed the title feat: add MiniMax as first-class LLM provider feat: add MiniMax as first-class LLM provider (M3 default) Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant