Toggle Menu
Prev Up Next

# `langchain_text_splitters.sentence_transformers`.SentenceTransformersTokenTextSplitter

class langchain_text_splitters.sentence_transformers.SentenceTransformersTokenTextSplitter(chunk_overlap: int = 50, model_name: str = 'sentence-transformers/all-mpnet-base-v2', tokens_per_chunk: Optional[int] = None, **kwargs: Any)

  Splitting text to tokens using sentence model tokenizer.

  Create a new TextSplitter.

  Methods

  `__init__`([chunk_overlap, model_name, ...]) | Create a new TextSplitter.
  `atransform_documents`(documents, **kwargs) | Asynchronously transform a list of documents.
  `count_tokens`(*, text) |
  `create_documents`(texts[, metadatas]) | Create documents from a list of texts.
  `from_huggingface_tokenizer`(tokenizer, **kwargs) | Text splitter that uses HuggingFace tokenizer to count length.
  `from_tiktoken_encoder`([encoding_name, ...]) | Text splitter that uses tiktoken encoder to count length.
  `split_documents`(documents) | Split documents.
  `split_text`(text) | Split text into multiple components.
  `transform_documents`(documents, **kwargs) | Transform sequence of documents by splitting them.

  Parameters

    - chunk_overlap (int) –

    - model_name (str) –

    - tokens_per_chunk (Optional[int]) –

    - kwargs (Any) –

  __init__(chunk_overlap: int = 50, model_name: str = 'sentence-transformers/all-mpnet-base-v2', tokens_per_chunk: Optional[int] = None, **kwargs: Any) → None

    Create a new TextSplitter.

    Parameters

      - chunk_overlap (int) –

      - model_name (str) –

      - tokens_per_chunk (Optional[int]) –

      - kwargs (Any) –

    Return type

      None

  async atransform_documents(documents: Sequence[Document], **kwargs: Any) → Sequence[Document]

    Asynchronously transform a list of documents.

    Parameters

      - documents (Sequence[Document]) – A sequence of Documents to be transformed.

      - kwargs (Any) –

    Returns

      A list of transformed Documents.

    Return type

      Sequence[Document]

  count_tokens(*, text: str) → int
    Parameters

      text (str) –

    Return type

      int

  create_documents(texts: List[str], metadatas: Optional[List[dict]] = None) → List[Document]

    Create documents from a list of texts.

    Parameters

      - texts (List[str]) –

      - metadatas (Optional[List[dict]]) –

    Return type

      List[Document]

  classmethod from_huggingface_tokenizer(tokenizer: Any, **kwargs: Any) → TextSplitter

    Text splitter that uses HuggingFace tokenizer to count length.

    Parameters

      - tokenizer (Any) –

      - kwargs (Any) –

    Return type

      TextSplitter

  classmethod from_tiktoken_encoder(encoding_name: str = 'gpt2', model_name: Optional[str] = None, allowed_special: Union[Literal['all'], AbstractSet[str]] = {}, disallowed_special: Union[Literal['all'], Collection[str]] = 'all', **kwargs: Any) → TS

    Text splitter that uses tiktoken encoder to count length.

    Parameters

      - encoding_name (str) –

      - model_name (Optional[str]) –

      - allowed_special (Union[Literal['all'], ~typing.AbstractSet[str]]) –

      - disallowed_special (Union[Literal['all'], ~typing.Collection[str]]) –

      - kwargs (Any) –

    Return type

      TS

  split_documents(documents: Iterable[Document]) → List[Document]

    Split documents.

    Parameters

      documents (Iterable[Document]) –

    Return type

      List[Document]

  split_text(text: str) → List[str]

    Split text into multiple components.

    Parameters

      text (str) –

    Return type

      List[str]

  transform_documents(documents: Sequence[Document], **kwargs: Any) → Sequence[Document]

    Transform sequence of documents by splitting them.

    Parameters

      - documents (Sequence[Document]) –

      - kwargs (Any) –

    Return type

      Sequence[Document]

# Examples using SentenceTransformersTokenTextSplitter

- This is a long document we can split up.