- Added DashScope ASR service implementation for real-time streaming. - Updated ASR provider logic to support DashScope alongside existing providers. - Enhanced runtime metadata resolution to include DashScope as a valid ASR provider. - Modified configuration files and documentation to reflect the addition of DashScope. - Introduced tests to validate DashScope integration and ASR service behavior. - Refactored ASR service factory to accommodate new provider options and modes.
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`, `openai_compatible`, `openai-compatible`, `siliconflow`
|
|
- fallback: `MockTTSService`
|
|
- ASR:
|
|
- supported providers: `openai_compatible`, `openai-compatible`, `siliconflow`, `dashscope`
|
|
- fallback: `BufferedASRService`
|
|
|
|
## Notes
|
|
|
|
- This is a draft contract set; follow-up work can add explicit capability negotiation and contract-version fields.
|