Files
AI-VideoAssistant/engine/docs/extension_ports.md
Xin Wang aeeeee20d1 Add Volcengine support for TTS and ASR services
- Introduced Volcengine as a new provider for both TTS and ASR services.
- Updated configuration files to include Volcengine-specific parameters such as app_id, resource_id, and uid.
- Enhanced the ASR service to support streaming mode with Volcengine's API.
- Modified existing tests to validate the integration of Volcengine services.
- Updated documentation to reflect the addition of Volcengine as a supported provider for TTS and ASR.
- Refactored service factory to accommodate Volcengine alongside existing providers.
2026-03-08 23:09:50 +08:00

1.5 KiB

Engine Extension Ports (Draft)

This document defines the draft port set used to keep core runtime extensible.

Port Modules

  • runtime/ports/control_plane.py
    • AssistantRuntimeConfigProvider
    • ConversationHistoryStore
    • KnowledgeRetriever
    • ToolCatalog
    • ControlPlaneGateway
  • runtime/ports/llm.py
    • LLMServiceSpec
    • LLMPort
    • optional extensions: LLMCancellable, LLMRuntimeConfigurable
  • runtime/ports/tts.py
    • TTSServiceSpec
    • TTSPort
  • runtime/ports/asr.py
    • ASRServiceSpec
    • ASRPort
    • explicit mode ports: OfflineASRPort, StreamingASRPort
  • runtime/ports/service_factory.py
    • RealtimeServiceFactory

Adapter Layer

  • providers/factory/default.py provides DefaultRealtimeServiceFactory.
  • It maps resolved provider specs to concrete adapters.
  • Runtime orchestration (runtime/pipeline/duplex.py) depends on the factory port/specs, not concrete provider classes.

Provider Behavior (Current)

  • LLM:
    • supported providers: openai, openai_compatible, openai-compatible, siliconflow
    • fallback: MockLLMService
  • TTS:
    • supported providers: dashscope, volcengine, openai_compatible, openai-compatible, siliconflow
    • fallback: MockTTSService
  • ASR:
    • supported providers: openai_compatible, openai-compatible, siliconflow, dashscope, volcengine
    • fallback: BufferedASRService

Notes

  • This is a draft contract set; follow-up work can add explicit capability negotiation and contract-version fields.