Skip to content

Commit 0db0cbe

Browse files
authored
Fix errors of embedded table parsing (#13615)
1 parent b469843 commit 0db0cbe

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

llama-index-core/llama_index/core/node_parser/relational/base_element.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,14 @@ def get_nodes_from_elements(
303303

304304
# attempt to find start_char_idx for table
305305
# raw table string regardless if perfect or not is stored in element.element
306-
start_char_idx = ref_doc_text.find(str(element.element))
307-
if start_char_idx >= 0:
308-
end_char_idx = start_char_idx + len(str(element.element))
306+
307+
if ref_doc_text:
308+
start_char_idx = ref_doc_text.find(str(element.element))
309+
if start_char_idx >= 0:
310+
end_char_idx = start_char_idx + len(str(element.element))
311+
else:
312+
start_char_idx = None
313+
end_char_idx = None
309314
else:
310315
start_char_idx = None
311316
end_char_idx = None

llama-index-core/llama_index/core/node_parser/relational/llama_parse_json_element.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ def get_nodes_from_node(self, node: TextNode) -> List[BaseNode]:
3333
self.extract_table_summaries(table_elements)
3434
# convert into nodes
3535
# will return a list of Nodes and Index Nodes
36-
return self.get_nodes_from_elements(elements, node)
36+
return self.get_nodes_from_elements(
37+
elements, node, ref_doc_text=node.get_content()
38+
)
3739

3840
def extract_elements(
3941
self,

llama-index-core/llama_index/core/node_parser/relational/unstructured_element.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ def get_nodes_from_node(self, node: TextNode) -> List[BaseNode]:
6767
self.extract_table_summaries(table_elements)
6868
# convert into nodes
6969
# will return a list of Nodes and Index Nodes
70-
nodes = self.get_nodes_from_elements(elements, node)
70+
nodes = self.get_nodes_from_elements(
71+
elements, node, ref_doc_text=node.get_content()
72+
)
7173

7274
source_document = node.source_node or node.as_related_node_info()
7375
for n in nodes:

0 commit comments

Comments
 (0)