mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
* 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> |
||
|---|---|---|
| .. | ||
| dto_fixtures | ||
| integrations | ||
| support | ||
| telephony/telnyx | ||
| __init__.py | ||
| conftest.py | ||
| test_add_call_disposition_code.py | ||
| test_aggregation_fix.py | ||
| test_camb_tts_integration.py | ||
| test_campaign_call_dispatcher.py | ||
| test_campaign_tasks.py | ||
| test_circuit_breaker.py | ||
| test_cost_calculator.py | ||
| test_custom_tools.py | ||
| test_custom_tools_context_integration.py | ||
| test_display_options_evaluator.py | ||
| test_dograh_sdk.py | ||
| test_dograh_sdk_typed.py | ||
| test_dto.py | ||
| test_from_number_pool_isolation.py | ||
| test_gemini_live_reconnect_tool_results.py | ||
| test_get_backend_endpoints.py | ||
| test_is_private_ip_candidate.py | ||
| test_json_parser.py | ||
| test_layout.py | ||
| test_masked_key_rejection.py | ||
| test_mcp_auth.py | ||
| test_mcp_custom_tool_manager.py | ||
| test_mcp_docs_search.py | ||
| test_mcp_instructions_drift.py | ||
| test_mcp_integration.py | ||
| test_mcp_save_workflow.py | ||
| test_mcp_tool_definition.py | ||
| test_mcp_tool_route.py | ||
| test_mcp_tool_session.py | ||
| test_message_sanitization.py | ||
| test_minimax_service_factory.py | ||
| test_node_specs.py | ||
| test_openai_realtime_initial_context.py | ||
| test_pipecat_engine_context_update.py | ||
| test_pipecat_engine_end_call.py | ||
| test_pipecat_engine_node_switch_with_user_speech.py | ||
| test_pipecat_engine_tool_calls.py | ||
| test_pipecat_engine_transition_mute.py | ||
| test_pipecat_engine_variable_extraction.py | ||
| test_pipeline_cancellation.py | ||
| test_realtime_feedback_events.py | ||
| test_realtime_message_append.py | ||
| test_recording_router_processor.py | ||
| test_resolve_effective_config.py | ||
| test_run_pipeline_realtime_turn_config.py | ||
| test_sdk_sync.py | ||
| test_speaches_service_factory.py | ||
| test_telephony_factory.py | ||
| test_text_and_audio_playback.py | ||
| test_text_chat_logs.py | ||
| test_text_chat_session_service.py | ||
| test_ts_bridge.py | ||
| test_tts_endframe_with_audio_write_failure.py | ||
| test_unregistered_function_call.py | ||
| test_user_idle_handler.py | ||
| test_user_muting_during_bot_speech.py | ||
| test_voicemail_detector.py | ||
| test_workflow_graph_constraints.py | ||
| test_workflow_qa_masking.py | ||
| test_workflow_run_cost.py | ||
| test_workflow_text_chat.py | ||
| test_workflow_versioning.py | ||