@@ -38,7 +38,7 @@ class RecursiveDocumentSplitter:
3838 from haystack import Document
3939 from haystack.components.preprocessors import RecursiveDocumentSplitter
4040
41- chunker = RecursiveDocumentSplitter(split_length=260 , split_overlap=0, separators=["\\ n\\ n", "\\ n", ".", " "])
41+ chunker = RecursiveDocumentSplitter(split_length=15 , split_overlap=0, separators=["\\ n\\ n", "\\ n", ".", " "])
4242 text = ('''Artificial intelligence (AI) - Introduction
4343
4444 AI, in its broadest sense, is intelligence exhibited by machines, particularly computer systems.
@@ -47,10 +47,11 @@ class RecursiveDocumentSplitter:
4747 doc_chunks = chunker.run([doc])
4848 print(doc_chunks["documents"])
4949 # [
50- # Document(id=..., content: 'Artificial intelligence (AI) - Introduction\\ n\\ n', meta: {'original_id': '...', 'split_id': 0, 'split_idx_start': 0, '_split_overlap': []})
51- # Document(id=..., content: 'AI, in its broadest sense, is intelligence exhibited by machines, particularly computer systems.\\ n', meta: {'original_id': '...', 'split_id': 1, 'split_idx_start': 45, '_split_overlap': []})
52- # Document(id=..., content: 'AI technology is widely used throughout industry, government, and science.', meta: {'original_id': '...', 'split_id': 2, 'split_idx_start': 142, '_split_overlap': []})
53- # Document(id=..., content: ' Some high-profile applications include advanced web search engines; recommendation systems; interac...', meta: {'original_id': '...', 'split_id': 3, 'split_idx_start': 216, '_split_overlap': []})
50+ # Document(id=..., content: 'Artificial intelligence (AI) - Introduction\\ n\\ n', meta: {'source_id': '...', 'parent_id': '...', 'split_id': 0, 'split_idx_start': 0, '_split_overlap': None, 'page_number': 1})
51+ # Document(id=..., content: 'AI, in its broadest sense, is intelligence exhibited by machines, particularly computer systems.\\ n', meta: {'source_id': '...', 'parent_id': '...', 'split_id': 1, 'split_idx_start': 45, '_split_overlap': None, 'page_number': 1})
52+ # Document(id=..., content: 'AI technology is widely used throughout industry, government, and science.', meta: {'source_id': '...', 'parent_id': '...', 'split_id': 2, 'split_idx_start': 142, '_split_overlap': None, 'page_number': 1})
53+ # Document(id=..., content: ' Some high-profile applications include advanced web search engines; recommendation systems; interac...', meta: {'source_id': '...', 'parent_id': '...', 'split_id': 3, 'split_idx_start': 216, '_split_overlap': None, 'page_number': 1})
54+ # Document(id=..., content: 'vehicles; generative and creative tools; and superhuman play and analysis in strategy games.', meta: {'source_id': '...', 'parent_id': '...', 'split_id': 4, 'split_idx_start': 350, '_split_overlap': None, 'page_number': 1})
5455 # ]
5556 ```
5657 """ # noqa: E501
@@ -425,6 +426,7 @@ def _run_one(self, doc: Document) -> list[Document]:
425426
426427 for split_nr , chunk in enumerate (chunks ):
427428 meta = deepcopy (doc .meta )
429+ meta ["source_id" ] = doc .id
428430 meta ["parent_id" ] = doc .id
429431 meta ["split_id" ] = split_nr
430432 meta ["split_idx_start" ] = current_position
0 commit comments