- 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.
48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# 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.
|