dograh/api/services/pipecat
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
..
realtime feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
__init__.py Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
audio_config.py feat: refactor telephony to support multiple telephony configurations (#251) 2026-04-29 11:39:57 +05:30
audio_file_cache.py feat: add full document mode in knowledge base 2026-04-09 13:49:20 +05:30
audio_mixer.py feat: refactor telephony to support multiple telephony configurations (#251) 2026-04-29 11:39:57 +05:30
audio_playback.py feat: refactor node spec and add mcp tools (#244) 2026-04-21 07:56:16 +05:30
event_handlers.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
exceptions.py Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
in_memory_buffers.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
minimax_tts.py feat: add MiniMax provider support (Chat + TTS) (#309) 2026-05-22 13:09:41 +05:30
pipeline_builder.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
pipeline_engine_callbacks_processor.py fix: prevent pipeline freezes when sending endframe (#77) 2025-12-10 08:22:37 +07:00
pipeline_metrics_aggregator.py chore: upgrade pipecat 2026-03-06 16:49:14 +05:30
pre_call_fetch.py feat: add pre call fetch configuration (#222) 2026-04-06 12:30:37 +05:30
realtime_feedback_events.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
realtime_feedback_observer.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
recording_audio_cache.py feat: add recording audio option in tool and node transitions (#232) 2026-04-10 17:53:42 +05:30
recording_router_processor.py feat: add recording audio option in tool and node transitions (#232) 2026-04-10 17:53:42 +05:30
run_pipeline.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
service_factory.py feat: add MiniMax provider support (Chat + TTS) (#309) 2026-05-22 13:09:41 +05:30
tracing_config.py feat: add chat based testing for voice agent (#308) 2026-05-21 15:20:02 +05:30
transport_params.py feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
transport_setup.py feat: add openai realtime models (#298) 2026-05-16 18:05:23 +05:30
turn_context.py chore: bump pipecat version 2026-02-11 18:18:32 +05:30
ws_sender_registry.py feat: add transcript panel during live call for better visibility (#116) 2026-01-13 22:48:18 +05:30