mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: add convert_uuid_to_str function for UUID serialization in document metadata
--bug=1058357 --user=刘瑞斌 【知识库】通用知识库-上传QA问答对csv和excel文档失败 https://www.tapd.cn/62980211/s/1726470
This commit is contained in:
parent
ec2ddedf93
commit
6a87ccd908
|
|
@ -74,6 +74,17 @@ parse_qa_handle_list = [XlsParseQAHandle(), CsvParseQAHandle(), XlsxParseQAHandl
|
|||
parse_table_handle_list = [CsvParseTableHandle(), XlsParseTableHandle(), XlsxParseTableHandle()]
|
||||
|
||||
|
||||
def convert_uuid_to_str(obj):
|
||||
if isinstance(obj, dict):
|
||||
return {k: convert_uuid_to_str(v) for k, v in obj.items()}
|
||||
elif isinstance(obj, list):
|
||||
return [convert_uuid_to_str(i) for i in obj]
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
else:
|
||||
return obj
|
||||
|
||||
|
||||
class BatchCancelInstanceSerializer(serializers.Serializer):
|
||||
id_list = serializers.ListField(required=True, child=serializers.UUIDField(required=True), label=_('id list'))
|
||||
type = serializers.IntegerField(required=True, label=_('task type'))
|
||||
|
|
@ -844,6 +855,9 @@ class DocumentSerializers(serializers.Serializer):
|
|||
@staticmethod
|
||||
def get_document_paragraph_model(knowledge_id, instance: Dict):
|
||||
source_meta = {'source_file_id': instance.get('source_file_id')} if instance.get('source_file_id') else {}
|
||||
meta = {**instance.get('meta'), **source_meta} if instance.get('meta') is not None else source_meta
|
||||
meta = convert_uuid_to_str(meta)
|
||||
|
||||
document_model = Document(
|
||||
**{
|
||||
'knowledge_id': knowledge_id,
|
||||
|
|
@ -853,8 +867,7 @@ class DocumentSerializers(serializers.Serializer):
|
|||
lambda x, y: x + y,
|
||||
[len(p.get('content')) for p in instance.get('paragraphs', [])],
|
||||
0),
|
||||
'meta': {**instance.get('meta'), **source_meta} if instance.get(
|
||||
'meta') is not None else source_meta,
|
||||
'meta': meta,
|
||||
'type': instance.get('type') if instance.get('type') is not None else KnowledgeType.BASE
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue