Skip to content

Commit 1639d4b

Browse files
committed
feat: enhance file upload with source_id and source_type metadata
1 parent 32f9bec commit 1639d4b

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

apps/application/flow/step_node/document_extract_node/impl/base_document_extract_node.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from application.flow.i_step_node import NodeResult
99
from application.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
10-
from knowledge.models import File
10+
from knowledge.models import File, FileSourceType
1111
from knowledge.serializers.document import split_handles, parse_table_handle_list, FileBufferHandle
1212
from oss.serializers.file import FileSerializer
1313

@@ -62,7 +62,12 @@ def save_image(image_list):
6262
'file_id': str(image.id)
6363
}
6464
file = bytes_to_uploaded_file(image.image, image.image_name)
65-
FileSerializer(data={'file': file, 'meta': meta}).upload()
65+
FileSerializer(data={
66+
'file': file,
67+
'meta': meta,
68+
'source_id': meta['application_id'],
69+
'source_type': FileSourceType.APPLICATION.value
70+
}).upload()
6671

6772
for doc in document:
6873
file = QuerySet(File).filter(id=doc['file_id']).first()

apps/application/flow/step_node/image_generate_step_node/impl/base_image_generate_node.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from application.flow.i_step_node import NodeResult
99
from application.flow.step_node.image_generate_step_node.i_image_generate_node import IImageGenerateNode
1010
from common.utils.common import bytes_to_uploaded_file
11+
from knowledge.models import FileSourceType
1112
from oss.serializers.file import FileSerializer
1213
from models_provider.tools import get_model_instance_by_model_workspace_id
1314

@@ -45,7 +46,12 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
4546
'chat_id': chat_id,
4647
'application_id': str(application.id) if application.id else None,
4748
}
48-
file_url = FileSerializer(data={'file': file, 'meta': meta}).upload()
49+
file_url = FileSerializer(data={
50+
'file': file,
51+
'meta': meta,
52+
'source_id': meta['application_id'],
53+
'source_type': FileSourceType.APPLICATION.value
54+
}).upload()
4955
file_urls.append(file_url)
5056
self.context['image_list'] = [{'file_id': path.split('/')[-1], 'url': path} for path in file_urls]
5157
answer = ' '.join([f"![Image]({path})" for path in file_urls])

apps/application/flow/step_node/text_to_speech_step_node/impl/base_text_to_speech_node.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from application.flow.i_step_node import NodeResult
88
from application.flow.step_node.text_to_speech_step_node.i_text_to_speech_node import ITextToSpeechNode
9+
from knowledge.models import FileSourceType
910
from models_provider.tools import get_model_instance_by_model_workspace_id
1011
from oss.serializers.file import FileSerializer
1112

@@ -55,7 +56,12 @@ def execute(self, tts_model_id, chat_id,
5556
'chat_id': chat_id,
5657
'application_id': str(application.id) if application.id else None,
5758
}
58-
file_url = FileSerializer(data={'file': file, 'meta': meta}).upload()
59+
file_url = FileSerializer(data={
60+
'file': file,
61+
'meta': meta,
62+
'source_id': meta['application_id'],
63+
'source_type': FileSourceType.APPLICATION.value
64+
}).upload()
5965
# 拼接一个audio标签的src属性
6066
audio_label = f'<audio src="{file_url}" controls style = "width: 300px; height: 43px"></audio>'
6167
file_id = file_url.split('/')[-1]

0 commit comments

Comments
 (0)