From fc8227356a090b49ba13fe70aca73a4209f5e756 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 17 Feb 2025 16:05:26 +0800 Subject: [PATCH] refactor: Support image_list, document_list while using swagger api MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --story=1017867 --user=刘瑞斌 对话API支持上传文件、语音、图像和视频,用于实现maxkb的文件解析及多模态对话#2228 https://www.tapd.cn/57709429/s/1654842 --- .../serializers/chat_message_serializers.py | 20 ++++++++++++------- apps/dataset/serializers/file_serializers.py | 2 +- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/application/serializers/chat_message_serializers.py b/apps/application/serializers/chat_message_serializers.py index 86394bb3e08..8c15b032a99 100644 --- a/apps/application/serializers/chat_message_serializers.py +++ b/apps/application/serializers/chat_message_serializers.py @@ -222,13 +222,19 @@ def chat(self, instance: Dict, with_valid=True): client_type = self.data.get('client_type') chat_id = self.generate_chat(chat_id, application_id, message, client_id) return ChatMessageSerializer( - data={'chat_id': chat_id, 'message': message, - 're_chat': re_chat, - 'stream': stream, - 'application_id': application_id, - 'client_id': client_id, - 'client_type': client_type, 'form_data': instance.get('form_data', {})}).chat( - base_to_response=OpenaiToResponse()) + data={ + 'chat_id': chat_id, 'message': message, + 're_chat': re_chat, + 'stream': stream, + 'application_id': application_id, + 'client_id': client_id, + 'client_type': client_type, + 'form_data': instance.get('form_data', {}), + 'image_list': instance.get('image_list', []), + 'document_list': instance.get('document_list', []), + 'audio_list': instance.get('audio_list', []), + } + ).chat(base_to_response=OpenaiToResponse()) class ChatMessageSerializer(serializers.Serializer): diff --git a/apps/dataset/serializers/file_serializers.py b/apps/dataset/serializers/file_serializers.py index a00e4a321b4..ca31e4e66bd 100644 --- a/apps/dataset/serializers/file_serializers.py +++ b/apps/dataset/serializers/file_serializers.py @@ -62,7 +62,7 @@ class FileSerializer(serializers.Serializer): def upload(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) - meta = self.data.get('meta') + meta = self.data.get('meta', {'debug': True}) file_id = meta.get('file_id', uuid.uuid1()) file = File(id=file_id, file_name=self.data.get('file').name, meta=meta) file.save(self.data.get('file').read())