En general el tamaño de un Document será más grande de lo que un modelo de ML debería procesar, por lo que debemos partilo o splittearlo en secciones más pequeñas para que sea digerible.
Esta tarea la llevará a cabo el TextSplitter, un componente (conocido como Document Transformer) que se encargará de partir el documento en diferentes sub secciones sin perder el significado semántico, es decir, manteniendo la coherencia entre los nuevos sub-documentos para que el contexto general de una zona no se pierda por completo.
El TextSplitter será personalizable en 2 aspectos: Cómo se divide el texto y cómo se mide el tamaño del fragmento.
LangChain ofrece un separador de texto por defecto: el RecursiveCharacterSplitter. Este separador de texto toma una lista de caracteres y trata de crear fragmentos basándose en la división del primer caracter, pero si esta división resulta demasiado grande, entonces pasará al siguiente.
La jerarquía de relevancia del separador será: