Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/4137.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Unrecognized language strings (e.g. Deepgram's `"multi"`) no longer produce a warning at startup. The log message has been downgraded to debug level since these are valid service-specific values that are passed through correctly.
4 changes: 2 additions & 2 deletions src/pipecat/services/stt_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ def __init__(
try:
self._settings.language = Language(self._settings.language)
except ValueError:
logger.warning(
logger.debug(
f"Language string '{self._settings.language}' is not a recognized "
f"Language code. It will be passed to the service as-is."
)
Expand Down Expand Up @@ -316,7 +316,7 @@ async def _update_settings(self, delta: STTSettings) -> dict[str, Any]:
try:
delta.language = Language(delta.language)
except ValueError:
logger.warning(
logger.debug(
f"Language string '{delta.language}' is not a recognized "
f"Language code. It will be passed to the service as-is."
)
Expand Down
4 changes: 2 additions & 2 deletions src/pipecat/services/tts_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ def __init__(
try:
self._settings.language = Language(self._settings.language)
except ValueError:
logger.warning(
logger.debug(
f"Language string '{self._settings.language}' is not a recognized "
f"Language code. It will be passed to the service as-is."
)
Expand Down Expand Up @@ -622,7 +622,7 @@ async def _update_settings(self, delta: TTSSettings) -> dict[str, Any]:
try:
delta.language = Language(delta.language)
except ValueError:
logger.warning(
logger.debug(
f"Language string '{delta.language}' is not a recognized "
f"Language code. It will be passed to the service as-is."
)
Expand Down
24 changes: 12 additions & 12 deletions tests/test_service_language.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,12 @@ def test_raw_string_other_regional(self):
assert svc._settings.language == "en"

def test_raw_string_unrecognized(self):
"""Unrecognized raw string logs a warning and is passed through as-is."""
"""Unrecognized raw string logs a debug message and is passed through as-is."""
with patch("pipecat.services.tts_service.logger") as mock_logger:
svc = _TestTTSService(settings=_TestTTSService.Settings(language="klingon"))
assert svc._settings.language == "klingon"
mock_logger.warning.assert_called_once()
assert "klingon" in mock_logger.warning.call_args[0][0]
mock_logger.debug.assert_called_once()
assert "klingon" in mock_logger.debug.call_args[0][0]

def test_language_none(self):
"""None language is left as None."""
Expand Down Expand Up @@ -144,12 +144,12 @@ def test_raw_string_regional_code(self):
assert svc._settings.language == "de"

def test_raw_string_unrecognized(self):
"""Unrecognized raw string logs a warning and is passed through as-is."""
"""Unrecognized raw string logs a debug message and is passed through as-is."""
with patch("pipecat.services.stt_service.logger") as mock_logger:
svc = _TestSTTService(settings=_TestSTTService.Settings(language="klingon"))
assert svc._settings.language == "klingon"
mock_logger.warning.assert_called_once()
assert "klingon" in mock_logger.warning.call_args[0][0]
mock_logger.debug.assert_called_once()
assert "klingon" in mock_logger.debug.call_args[0][0]

def test_language_none(self):
"""None language is left as None."""
Expand Down Expand Up @@ -195,13 +195,13 @@ async def test_update_raw_string_regional_code(self):

@pytest.mark.asyncio
async def test_update_raw_string_unrecognized(self):
"""Updating with unrecognized string logs warning and passes through."""
"""Updating with unrecognized string logs debug message and passes through."""
svc = _TestTTSService(settings=_TestTTSService.Settings(language=None))
with patch("pipecat.services.tts_service.logger") as mock_logger:
await svc._update_settings(_TestTTSService.Settings(language="klingon"))
assert svc._settings.language == "klingon"
mock_logger.warning.assert_called_once()
assert "klingon" in mock_logger.warning.call_args[0][0]
mock_logger.debug.assert_called_once()
assert "klingon" in mock_logger.debug.call_args[0][0]


# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -242,10 +242,10 @@ async def test_update_raw_string_regional_code(self):

@pytest.mark.asyncio
async def test_update_raw_string_unrecognized(self):
"""Updating with unrecognized string logs warning and passes through."""
"""Updating with unrecognized string logs debug message and passes through."""
svc = _TestSTTService(settings=_TestSTTService.Settings(language=None))
with patch("pipecat.services.stt_service.logger") as mock_logger:
await svc._update_settings(_TestSTTService.Settings(language="klingon"))
assert svc._settings.language == "klingon"
mock_logger.warning.assert_called_once()
assert "klingon" in mock_logger.warning.call_args[0][0]
mock_logger.debug.assert_called_once()
assert "klingon" in mock_logger.debug.call_args[0][0]
Loading