LangChain:基于自然语言处理库NLTK的结构化文本切割器

NLTKTextSplitter 是基于自然语言处理库 NLTK 实现的结构化文本分割工具,专为处理英文文本设计。其核心价值在于替代朴素的分隔符切割(如"\n\n"),通过语言学规则实现符合语义逻辑的文本分块(先识别出文本中的句子边界,然后再将这些句子组合成符合大小要求(如 Token 数量)的文本块)。

阅读更多

LangChain:基于文本结构的的文本切割器

文本自然地被组织为段落、句子和单词等层级单元。我们可以利用这种固有结构来指导分割策略,从而创建既能保持自然语言流畅性、又能维持分块内语义连贯性、还能适应不同文本粒度的分块。

LangChain 的递归字符文本分割器(RecursiveCharacterTextSplitter)实现了这一理念。

阅读更多

LangChain:基于长度的文本切割器

大语言模型存在Token数量限制,不应超出该限制。因此,在分割文本成块时,需要计算好Token的数量。市面上存在多种tokenizer,计算文本token数量时,应使用与语言模型相匹配的tokenizer

阅读更多

LangChain:数据增强之文本切割器

在Langchain的数据增强模块,数据以 Document 对象和向量形式在各个包装器之间流转。向量形式的数据由向量数据库管理,而被转换为向量之前,数据以 Document 对象的形式存在。

阅读更多

LangChain:数据增强之加载器-Loader

LangChain框架中的Loader组件是数据增强处理流程中的核心模块,负责将不同格式的数据源转换为统一的Document对象。这些文档对象包含文本内容(page_content)和元数据(metadata),为后续的文本处理、嵌入、问答等操作奠定基础。

阅读更多