["\n\n", "\n", " ", ""]。这样做的效果是尽可能将所有段落(然后是句子,然后是单词)保持在一起,因为这些通常是语义上最相关的文本片段。
- 文本如何分割:通过字符列表。
- 块大小如何衡量:通过字符数。
.split_text。
要创建 LangChain Document 对象(例如用于下游任务),请使用 .create_documents。
RecursiveCharacterTextSplitter 设置的参数:
chunk_size:块的最大大小,大小由length_function决定。chunk_overlap:块之间的目标重叠量。重叠的块有助于在上下文被分割时减少信息丢失。length_function:确定块大小的函数。is_separator_regex:分隔符列表(默认为["\n\n", "\n", " ", ""])是否应解释为正则表达式。
分割没有单词边界的语言文本
某些书写系统没有单词边界,例如中文、日文和泰文。使用默认分隔符列表["\n\n", "\n", " ", ""] 分割文本可能导致单词在块之间被分割。为了保持单词完整,您可以覆盖分隔符列表,添加更多标点符号:
- 添加 ASCII 句号 “
.”、Unicode 全角句号 “.”(用于中文文本)和表意文字句号 “。”(用于日文和中文) - 添加泰文、缅甸文、高棉文和日文使用的零宽空格
- 添加 ASCII 逗号 “
,”、Unicode 全角逗号 “,” 和 Unicode 表意逗号 “、”
连接这些文档 到 Claude、VSCode 等,通过 MCP 获取实时答案。

