文本分割器#
- class langchain_text_splitters.base.TextSplitter(chunk_size: int = 4000, chunk_overlap: int = 200, length_function: ~typing.Callable[[str], int] = <built-in function len>, keep_separator: bool | ~typing.Literal['start', 'end'] = False, add_start_index: bool = False, strip_whitespace: bool = True)[source]#
用于将文本分割成块的接口。
创建一个新的TextSplitter。
- Parameters:
chunk_size (int) – 返回块的最大大小
chunk_overlap (int) – 块之间的字符重叠
length_function (Callable[[str], int]) – 用于测量给定块长度的函数
keep_separator (Union[bool, Literal['start', 'end']]) – 是否保留分隔符以及将其放置在每个对应块中的位置 (True=’start’)
add_start_index (bool) – 如果为 True,则在元数据中包含块的起始索引
strip_whitespace (bool) – 如果为 True,则从每个文档的开头和结尾去除空白字符
方法
__init__
([chunk_size, chunk_overlap, ...])创建一个新的TextSplitter。
atransform_documents
(documents, **kwargs)异步转换文档列表。
create_documents
(texts[, metadatas])从文本列表创建文档。
from_huggingface_tokenizer
(tokenizer, **kwargs)使用HuggingFace分词器来计算长度的文本分割器。
from_tiktoken_encoder
([encoding_name, ...])使用tiktoken编码器来计算长度的文本分割器。
split_documents
(documents)分割文档。
split_text
(text)将文本分割成多个部分。
transform_documents
(documents, **kwargs)通过拆分文档来转换文档序列。
- __init__(chunk_size: int = 4000, chunk_overlap: int = 200, length_function: ~typing.Callable[[str], int] = <built-in function len>, keep_separator: bool | ~typing.Literal['start', 'end'] = False, add_start_index: bool = False, strip_whitespace: bool = True) None [source]#
创建一个新的TextSplitter。
- Parameters:
chunk_size (int) – 返回块的最大大小
chunk_overlap (int) – 块之间的字符重叠
length_function (Callable[[str], int]) – 用于测量给定块长度的函数
keep_separator (bool | Literal['start', 'end']) – 是否保留分隔符以及将其放置在每个对应块中的位置 (True=’start’)
add_start_index (bool) – 如果为 True,则在元数据中包含块的起始索引
strip_whitespace (bool) – 如果为 True,则从每个文档的开头和结尾去除空白字符
- Return type:
无
- async atransform_documents(documents: Sequence[Document], **kwargs: Any) Sequence[Document] #
异步转换文档列表。
- create_documents(texts: List[str], metadatas: List[dict] | None = None) List[Document] [source]#
从文本列表创建文档。
- Parameters:
文本 (列表[字符串])
metadatas (列表[字典] | 无)
- Return type:
列表[文档]
- classmethod from_huggingface_tokenizer(tokenizer: Any, **kwargs: Any) TextSplitter [source]#
使用HuggingFace分词器来计算长度的文本分割器。
- Parameters:
tokenizer (任意)
kwargs (Any)
- Return type:
- classmethod from_tiktoken_encoder(encoding_name: str = 'gpt2', model_name: str | None = None, allowed_special: Literal['all'] | AbstractSet[str] = {}, disallowed_special: Literal['all'] | Collection[str] = 'all', **kwargs: Any) TS [source]#
使用tiktoken编码器来计算长度的文本分割器。
- Parameters:
encoding_name (str)
model_name (str | None)
allowed_special (Literal['all'] | ~typing.AbstractSet[str])
disallowed_special (Literal['all'] | ~typing.Collection[str])
kwargs (Any)
- Return type:
TS