diff --git a/astrbot/core/knowledge_base/chunking/recursive.py b/astrbot/core/knowledge_base/chunking/recursive.py index 3f4aabb57..3882b0871 100644 --- a/astrbot/core/knowledge_base/chunking/recursive.py +++ b/astrbot/core/knowledge_base/chunking/recursive.py @@ -149,8 +149,16 @@ def _split_by_character( 分割后的文本块列表 """ - chunk_size = chunk_size or self.chunk_size - overlap = overlap or self.chunk_overlap + if chunk_size is None: + chunk_size = self.chunk_size + if overlap is None: + overlap = self.chunk_overlap + if chunk_size <= 0: + raise ValueError("chunk_size must be greater than 0") + if overlap < 0: + raise ValueError("chunk_overlap must be non-negative") + if overlap >= chunk_size: + raise ValueError("chunk_overlap must be less than chunk_size") result = [] for i in range(0, len(text), chunk_size - overlap): end = min(i + chunk_size, len(text))