diff --git a/apps/application/serializers/application.py b/apps/application/serializers/application.py index 21d6d27c0..f8a3b0e25 100644 --- a/apps/application/serializers/application.py +++ b/apps/application/serializers/application.py @@ -913,23 +913,31 @@ class ApplicationOperateSerializer(serializers.Serializer): [ApplicationKnowledgeMapping(application_id=application_id, knowledge_id=knowledge_id) for knowledge_id in knowledge_id_list]) if len(knowledge_id_list) > 0 else None - def speech_to_text(self, instance, with_valid=True): + def speech_to_text(self, instance, debug=True, with_valid=True): if with_valid: self.is_valid(raise_exception=True) SpeechToTextRequest(data=instance).is_valid(raise_exception=True) application_id = self.data.get('application_id') - application = QuerySet(Application).filter(id=application_id).first() + if debug: + application = QuerySet(Application).filter(id=application_id).first() + else: + application = QuerySet(ApplicationVersion).filter(application_id=application_id).order_by( + '-create_time').first() if application.stt_model_enable: model = get_model_instance_by_model_workspace_id(application.stt_model_id, application.workspace_id) text = model.speech_to_text(instance.get('file')) return text - def text_to_speech(self, instance, with_valid=True): + def text_to_speech(self, instance, debug=True, with_valid=True): if with_valid: self.is_valid(raise_exception=True) TextToSpeechRequest(data=instance).is_valid(raise_exception=True) application_id = self.data.get('application_id') - application = QuerySet(Application).filter(id=application_id).first() + if debug: + application = QuerySet(Application).filter(id=application_id).first() + else: + application = QuerySet(ApplicationVersion).filter(application_id=application_id).order_by( + '-create_time').first() if application.tts_model_enable: model = get_model_instance_by_model_workspace_id(application.tts_model_id, application.workspace_id, **application.tts_model_params_setting) diff --git a/apps/chat/serializers/chat.py b/apps/chat/serializers/chat.py index 846473134..0d199d30a 100644 --- a/apps/chat/serializers/chat.py +++ b/apps/chat/serializers/chat.py @@ -462,10 +462,10 @@ class TextToSpeechSerializers(serializers.Serializer): def text_to_speech(self, instance): self.is_valid(raise_exception=True) application_id = self.data.get('application_id') - application = QuerySet(Application).filter(id=application_id).first() + application = QuerySet(ApplicationVersion).filter(id=application_id).order_by('-create_time').first() return ApplicationOperateSerializer( data={'application_id': application_id, - 'user_id': application.user_id}).text_to_speech(instance) + 'user_id': application.user_id}).text_to_speech(instance, False) class SpeechToTextSerializers(serializers.Serializer): @@ -477,4 +477,4 @@ class SpeechToTextSerializers(serializers.Serializer): application = QuerySet(Application).filter(id=application_id).first() return ApplicationOperateSerializer( data={'application_id': application_id, - 'user_id': application.user_id}).speech_to_text(instance) + 'user_id': application.user_id}).speech_to_text(instance, False) diff --git a/apps/chat/serializers/chat_embed_serializers.py b/apps/chat/serializers/chat_embed_serializers.py index 2c45e60f4..9c185f273 100644 --- a/apps/chat/serializers/chat_embed_serializers.py +++ b/apps/chat/serializers/chat_embed_serializers.py @@ -53,7 +53,9 @@ class ChatEmbedSerializer(serializers.Serializer): if application_setting is not None: is_draggable = 'true' if application_setting.draggable else 'false' if application_setting.float_icon is not None and len(application_setting.float_icon) > 0: - float_icon = f"{self.data.get('protocol')}://{self.data.get('host')}{CONFIG.get_chat_path()}{application_setting.float_icon}" + float_icon = application_setting.float_icon[1:] if application_setting.float_icon.startswith( + '.') else application_setting.float_icon + float_icon = f"{self.data.get('protocol')}://{self.data.get('host')}{CONFIG.get_chat_path()}{float_icon}" show_guide = 'true' if application_setting.show_guide else 'false' if application_setting.float_location is not None: float_location = application_setting.float_location