LangChain:基于文档结构的的Code代码文本切割器
代码文本分割器集成指南。根据编程代码语言自己的风格对 Code 进行分隔,可以切割的更完整,大模型可以更好的理解代码逻辑。
代码文本分割器集成指南。根据编程代码语言自己的风格对 Code 进行分隔,可以切割的更完整,大模型可以更好的理解代码逻辑。
NLTKTextSplitter 是基于自然语言处理库 NLTK 实现的结构化文本分割工具,专为处理英文文本设计。其核心价值在于替代朴素的分隔符切割(如"\n\n"),通过语言学规则实现符合语义逻辑的文本分块(先识别出文本中的句子边界,然后再将这些句子组合成符合大小要求(如 Token 数量)的文本块)。
有些文档具有固有的结构,例如HTML、Markdown或JSON文件。在这种情况下,基于文档结构进行拆分往往是有益的,因为这种结构通常能自然地组合语义相关的文本。
文档结构切割器:Document structure-based
文本自然地被组织为段落、句子和单词等层级单元。我们可以利用这种固有结构来指导分割策略,从而创建既能保持自然语言流畅性、又能维持分块内语义连贯性、还能适应不同文本粒度的分块。
LangChain 的递归字符文本分割器(RecursiveCharacterTextSplitter)实现了这一理念。
大语言模型存在Token数量限制,不应超出该限制。因此,在分割文本成块时,需要计算好Token的数量。市面上存在多种tokenizer,计算文本token数量时,应使用与语言模型相匹配的tokenizer。