Keep model/language in LiveOptions at construction time so apply_update's bidirectional sync is sufficient; simplify _build_live_options to only add sample_rate
This commit is contained in:
@@ -262,10 +262,9 @@ class DeepgramSTTService(STTService):
|
|||||||
if "language" in merged_dict and isinstance(merged_dict["language"], Language):
|
if "language" in merged_dict and isinstance(merged_dict["language"], Language):
|
||||||
merged_dict["language"] = merged_dict["language"].value
|
merged_dict["language"] = merged_dict["language"].value
|
||||||
|
|
||||||
# Extract model/language for top-level STTSettings fields; everything
|
# Sync model/language to top-level STTSettings fields
|
||||||
# else lives inside LiveOptions.
|
model = merged_dict.get("model")
|
||||||
model = merged_dict.pop("model", None)
|
language = merged_dict.get("language")
|
||||||
language = merged_dict.pop("language", None)
|
|
||||||
|
|
||||||
settings = DeepgramSTTSettings(
|
settings = DeepgramSTTSettings(
|
||||||
model=model, language=language, live_options=LiveOptions(**merged_dict)
|
model=model, language=language, live_options=LiveOptions(**merged_dict)
|
||||||
@@ -380,10 +379,6 @@ class DeepgramSTTService(STTService):
|
|||||||
A fully-populated ``LiveOptions`` ready for the Deepgram SDK.
|
A fully-populated ``LiveOptions`` ready for the Deepgram SDK.
|
||||||
"""
|
"""
|
||||||
opts: dict[str, Any] = self._settings.live_options.to_dict()
|
opts: dict[str, Any] = self._settings.live_options.to_dict()
|
||||||
|
|
||||||
# Overlay model/language from top-level settings and sample_rate from service.
|
|
||||||
opts["model"] = self._settings.model
|
|
||||||
opts["language"] = self._settings.language
|
|
||||||
opts["sample_rate"] = self.sample_rate
|
opts["sample_rate"] = self.sample_rate
|
||||||
|
|
||||||
return LiveOptions(**opts)
|
return LiveOptions(**opts)
|
||||||
|
|||||||
@@ -247,10 +247,9 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
if "language" in merged_dict and isinstance(merged_dict["language"], Language):
|
if "language" in merged_dict and isinstance(merged_dict["language"], Language):
|
||||||
merged_dict["language"] = merged_dict["language"].value
|
merged_dict["language"] = merged_dict["language"].value
|
||||||
|
|
||||||
# Extract model/language for top-level STTSettings fields; everything
|
# Sync model/language to top-level STTSettings fields
|
||||||
# else lives inside LiveOptions.
|
model = merged_dict.get("model")
|
||||||
model = merged_dict.pop("model", None)
|
language = merged_dict.get("language")
|
||||||
language = merged_dict.pop("language", None)
|
|
||||||
|
|
||||||
settings = DeepgramSageMakerSTTSettings(
|
settings = DeepgramSageMakerSTTSettings(
|
||||||
model=model, language=language, live_options=LiveOptions(**merged_dict)
|
model=model, language=language, live_options=LiveOptions(**merged_dict)
|
||||||
@@ -344,10 +343,6 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
A fully-populated ``LiveOptions`` ready for the Deepgram SDK.
|
A fully-populated ``LiveOptions`` ready for the Deepgram SDK.
|
||||||
"""
|
"""
|
||||||
opts: dict[str, Any] = self._settings.live_options.to_dict()
|
opts: dict[str, Any] = self._settings.live_options.to_dict()
|
||||||
|
|
||||||
# Overlay model/language from top-level settings and sample_rate from service.
|
|
||||||
opts["model"] = self._settings.model
|
|
||||||
opts["language"] = self._settings.language
|
|
||||||
opts["sample_rate"] = self.sample_rate
|
opts["sample_rate"] = self.sample_rate
|
||||||
|
|
||||||
return LiveOptions(**opts)
|
return LiveOptions(**opts)
|
||||||
|
|||||||
Reference in New Issue
Block a user