["\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 获取实时答案。