fix: issue where an error occurs when invoking TTS without selecting a voice (#5046)

This commit is contained in:
takatost 2024-06-09 20:28:24 +08:00 committed by GitHub
parent 2573b138bf
commit 5986841e27
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 2 deletions

View File

@ -74,7 +74,7 @@ class TextApi(WebApiResource):
app_model=app_model,
text=request.form['text'],
end_user=end_user.external_user_id,
voice=request.form['voice'] if request.form.get('voice') else app_model.app_model_config.text_to_speech_dict.get('voice'),
voice=request.form['voice'] if request.form.get('voice') else None,
streaming=False
)

View File

@ -328,7 +328,7 @@ class ModelInstance:
except Exception as e:
raise e
def get_tts_voices(self, language: str) -> list:
def get_tts_voices(self, language: Optional[str] = None) -> list:
"""
Invoke large language tts model voices

View File

@ -93,6 +93,13 @@ class AudioService:
raise ProviderNotSupportTextToSpeechServiceError()
try:
if not voice:
voices = model_instance.get_tts_voices()
if voices:
voice = voices[0].get('value')
else:
raise ValueError("Sorry, no voice available.")
return model_instance.invoke_tts(
content_text=text.strip(),
user=end_user,