dograh/api/services
Octopus 0e0d3136ca
feat: add MiniMax provider support (Chat + TTS) (#309)
* feat: add MiniMax provider support (Chat + TTS)

- Add MiniMax LLM provider using OpenAI-compatible API
  - Models: MiniMax-M2.7, MiniMax-M2.7-highspeed
  - Default base URL: https://api.minimax.io/v1
  - Uses MINIMAX_API_KEY for authentication
- Add MiniMax TTS provider using Pipecat's MiniMaxHttpTTSService
  - Models: speech-2.8-hd (default), speech-2.8-turbo
  - 6 built-in voices
  - Requires group_id configuration
- Add unit tests for both providers

* fix(minimax): validator, temperature, session cleanup, reasoning filter
  - check_validity.py: wire MiniMax into _validator_map and enforce
    group_id at save time. Without this, saving a config with a valid
    key was rejected.
  - registry.py: surface temperature on the LLM config (gt=0; MiniMax
    rejects 0) and base_url on the TTS config
  - service_factory.py:
    * Plumb temperature through create_llm_service
    * Normalize TTS base_url to include /t2a_v2 — pipecat appends only
      ?GroupId=... to the URL.
    * Use the new MiniMaxLLMService (from pipecat) to strip
      <think>...</think> reasoning that MiniMax-M2.7 emits inline in
      delta.content (otherwise it leaks straight to TTS).
    * Use MiniMaxOwnedSessionTTSService so the per-instance aiohttp
      session gets closed in cleanup() instead of leaking sockets/FDs.
  - minimax_tts.py: small wrapper around MiniMaxHttpTTSService that owns
    the session it was handed (pipecat's caller-owns-session API
    conflicts with the ftory's per-instance pattern).
  - pipecat submodule: bumps to a commit that adds MiniMaxLLMService — a
    thin OpenAILLMService subclass with the streaming <think> filter
    (mirrors NvidiaLLMService's pattern for NIM reasoning models).
  - Tests updated/added for all of the above.

  Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: Sabiha Khan <sabihak89@gmail.com>
2026-05-22 13:09:41 +05:30
..
auth feat: add agent skills to review PR (#320) 2026-05-19 17:02:26 +05:30
campaign feat: add Tuner Integration to Dograh (#311) 2026-05-20 14:37:33 +05:30
configuration feat: add MiniMax provider support (Chat + TTS) (#309) 2026-05-22 13:09:41 +05:30
filesystem chore: bump pipecat version and fix tests (#263) 2026-05-04 21:35:37 +05:30
gen_ai feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
gender Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
integrations fix timestamps in tuner accumelator (#335) 2026-05-21 07:43:50 +05:30
pipecat feat: add MiniMax provider support (Chat + TTS) (#309) 2026-05-22 13:09:41 +05:30
pricing feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
reports fix: number pool initialization in multi telephony setup 2026-05-08 14:48:53 +05:30
smart_turn feat: add headless mode, redesign floating widget, refactor lifecycle callbacks (#268) 2026-05-07 12:23:41 +05:30
telephony feat: add Review AGENTS.md Skill 2026-05-20 16:20:07 +05:30
worker_sync feat: add worker sync events 2026-04-04 14:26:47 +05:30
workflow feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
mps_service_key_client.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
posthog_client.py feat: add posthog signup and signin events, enable backend posthog events for oss version (#249) 2026-04-24 12:02:52 +05:30
quota_service.py feat: enable FORCE_TURN_RELAY to diagnose turn connectivity for local deployment setups (#272) 2026-05-11 17:13:01 +05:30
storage.py chore: bump pipecat version and fix tests (#263) 2026-05-04 21:35:37 +05:30