Improved LocalSmartTurnAnalyzerV3 performance on systems with a low CPU count (#2982)
This commit is contained in:
@@ -64,6 +64,9 @@ reason")`.
|
|||||||
- Added support for passing in an `LLMSwicher` to `MCPClient.register_tools()`
|
- Added support for passing in an `LLMSwicher` to `MCPClient.register_tools()`
|
||||||
(as well as the new `MCPClient.register_tools_schema()`).
|
(as well as the new `MCPClient.register_tools_schema()`).
|
||||||
|
|
||||||
|
- Added `cpu_count` parameter to `LocalSmartTurnAnalyzerV3`. This is set to `1`
|
||||||
|
by default for more predictable performance on low-CPU systems.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- `STTMuteFilter` no longer sends `STTMuteFrame` to the STT service. The filter
|
- `STTMuteFilter` no longer sends `STTMuteFrame` to the STT service. The filter
|
||||||
|
|||||||
@@ -35,12 +35,15 @@ class LocalSmartTurnAnalyzerV3(BaseSmartTurn):
|
|||||||
enabling offline operation without network dependencies.
|
enabling offline operation without network dependencies.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *, smart_turn_model_path: Optional[str] = None, **kwargs):
|
def __init__(
|
||||||
|
self, *, smart_turn_model_path: Optional[str] = None, cpu_count: int = 1, **kwargs
|
||||||
|
):
|
||||||
"""Initialize the local ONNX smart-turn-v3 analyzer.
|
"""Initialize the local ONNX smart-turn-v3 analyzer.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
smart_turn_model_path: Path to the ONNX model file. If this is not
|
smart_turn_model_path: Path to the ONNX model file. If this is not
|
||||||
set, the bundled smart-turn-v3.0 model will be used.
|
set, the bundled smart-turn-v3.0 model will be used.
|
||||||
|
cpu_count: The number of CPUs to use for inference. Defaults to 1.
|
||||||
**kwargs: Additional arguments passed to BaseSmartTurn.
|
**kwargs: Additional arguments passed to BaseSmartTurn.
|
||||||
"""
|
"""
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
@@ -70,6 +73,7 @@ class LocalSmartTurnAnalyzerV3(BaseSmartTurn):
|
|||||||
so = ort.SessionOptions()
|
so = ort.SessionOptions()
|
||||||
so.execution_mode = ort.ExecutionMode.ORT_SEQUENTIAL
|
so.execution_mode = ort.ExecutionMode.ORT_SEQUENTIAL
|
||||||
so.inter_op_num_threads = 1
|
so.inter_op_num_threads = 1
|
||||||
|
so.intra_op_num_threads = cpu_count
|
||||||
so.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
|
so.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
|
||||||
|
|
||||||
self._feature_extractor = WhisperFeatureExtractor(chunk_length=8)
|
self._feature_extractor = WhisperFeatureExtractor(chunk_length=8)
|
||||||
|
|||||||
Reference in New Issue
Block a user