From 13d31cfb37dde90436b77f1b082518c2023c10dd Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sun, 30 Nov 2025 17:00:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=9D=E7=95=99=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E5=9D=97=E5=8E=9F=E5=A7=8B=E7=A9=BA=E6=A0=BC=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=9D=97=E5=90=88=E5=B9=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复kb_utils.py中文本块内容被意外去除空格的问题 优化chunkUtils.js中块合并逻辑,当无重叠时添加换行符 --- src/knowledge/utils/kb_utils.py | 2 +- web/src/utils/chunkUtils.js | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/knowledge/utils/kb_utils.py b/src/knowledge/utils/kb_utils.py index 676a9195..66645f10 100644 --- a/src/knowledge/utils/kb_utils.py +++ b/src/knowledge/utils/kb_utils.py @@ -90,7 +90,7 @@ def split_text_into_chunks(text: str, file_id: str, filename: str, params: dict chunks.append( { "id": f"{file_id}_chunk_{chunk_index}", - "content": chunk_content.strip(), + "content": chunk_content, # .strip(), "file_id": file_id, "filename": filename, "chunk_index": chunk_index, diff --git a/web/src/utils/chunkUtils.js b/web/src/utils/chunkUtils.js index 850f247d..a3ad5bc5 100644 --- a/web/src/utils/chunkUtils.js +++ b/web/src/utils/chunkUtils.js @@ -16,7 +16,7 @@ export function findOverlap(str1, str2) { let overlap = ''; // 从最长可能的重叠开始检查 - for (let i = maxOverlap; i > 0; i--) { + for (let i = maxOverlap; i > 10; i--) { const endStr1 = str1.slice(-i); const startStr2 = str2.slice(0, i); @@ -63,7 +63,11 @@ export function mergeChunks(chunks) { if (newContent.length > 0) { const startOffset = currentContent.length; - currentContent += newContent; + if (overlap.length > 0) { + currentContent += newContent; + } else { + currentContent += `\n${newContent}`; + } merged.push({ ...chunk, startOffset,