Text splitting

Text splitting #

https://python.langchain.com/docs/concepts/#text-splitting

LangChain提供了多种不同类型的文本分割器。它们都在langchain-text-splitters 包中。

表格列说明:

  • Name: 文本分割器的名称
  • Classes: 实现该文本分割器的类
  • Splits On: 该文本分割器如何分割文本
  • Adds Metadata: 该文本分割器是否会添加每个文本块来源的元数据
  • Description: 分割器的描述,包括建议何时使用它
Name Classes Splits On Adds Metadata Description
Recursive RecursiveCharacterTextSplitter, RecursiveJsonSplitter 用户定义字符列表 递归分割文本。这种分割方法试图将相关的文本片段保持在一起。这是推荐的文本分割方式。
HTML HTMLHeaderTextSplitter, HTMLSectionSplitter HTML特定字符 基于HTML特定字符分割文本。特别是,这会添加关于该文本块来源的相关信息(基于HTML)。
Markdown MarkdownHeaderTextSplitter Markdown特定字符 基于Markdown特定字符分割文本。特别是,这会添加关于该文本块来源的相关信息(基于Markdown)。
Code many languages 代码(Python, JS)特定字符 基于编码语言特定字符分割文本。可选择15种不同的语言。
Token many classes Tokens 基于词元分割文本。存在几种不同的词元度量方式。
Character CharacterTextSplitter 用户定义字符 基于用户定义的字符分割文本。这是较简单的一种方法。
Semantic Chunker (Experimental) SemanticChunker 句子 首先按句子分割文本,然后将相邻的句子合并在一起,如果它们在语义上足够相似。来源于Greg Kamradt的想法。
Integration: AI21 Semantic AI21SemanticTextSplitter 识别形成连贯文本片段的独立主题,并沿这些主题进行分割。
© 2024 青蛙小白
comments powered by Disqus