From 5ff02b469ff77493afdc59e6852792374d79ae97 Mon Sep 17 00:00:00 2001 From: jarvis2f <137974272+jarvis2f@users.noreply.github.com> Date: Thu, 14 Nov 2024 21:25:15 +0800 Subject: [PATCH] fix:position error when creating segments (#10706) --- api/services/dataset_service.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/services/dataset_service.py b/api/services/dataset_service.py index 8562dad1d3e9ee..806dbdf8c529a4 100644 --- a/api/services/dataset_service.py +++ b/api/services/dataset_service.py @@ -1458,6 +1458,7 @@ def multi_create_segment(cls, segments: list, document: Document, dataset: Datas pre_segment_data_list = [] segment_data_list = [] keywords_list = [] + position = max_position + 1 if max_position else 1 for segment_item in segments: content = segment_item["content"] doc_id = str(uuid.uuid4()) @@ -1475,7 +1476,7 @@ def multi_create_segment(cls, segments: list, document: Document, dataset: Datas document_id=document.id, index_node_id=doc_id, index_node_hash=segment_hash, - position=max_position + 1 if max_position else 1, + position=position, content=content, word_count=len(content), tokens=tokens, @@ -1490,6 +1491,7 @@ def multi_create_segment(cls, segments: list, document: Document, dataset: Datas increment_word_count += segment_document.word_count db.session.add(segment_document) segment_data_list.append(segment_document) + position += 1 pre_segment_data_list.append(segment_document) if "keywords" in segment_item: