1
+ from textwrap import indent
2
+
1
3
from langchain_core .documents import Document
2
4
3
- from graph_rag_example_helpers .utils import add_tabs
5
+
6
+ def _add_tabs (text : str ) -> str :
7
+ return indent (text , "\t " )
4
8
5
9
6
10
def _format_parameter (el : dict [str , str ]) -> str :
@@ -13,7 +17,7 @@ def _format_parameter(el: dict[str, str]) -> str:
13
17
if "default" in el :
14
18
text += f" = { el ['default' ]} "
15
19
if "description" in el :
16
- desc = add_tabs (el ["description" ])
20
+ desc = _add_tabs (el ["description" ])
17
21
text += f"\n \t { desc } "
18
22
return text
19
23
@@ -23,7 +27,7 @@ def _format_return(el: dict[str, str]) -> str:
23
27
if "type" in el :
24
28
items .append (el ["type" ])
25
29
if "description" in el :
26
- items .append (add_tabs (el ["description" ]))
30
+ items .append (_add_tabs (el ["description" ]))
27
31
return "\n \t " .join (items )
28
32
29
33
@@ -36,30 +40,30 @@ def format_document(doc: Document, debug: bool = False) -> str:
36
40
37
41
for key in ["bases" , "exports" , "implemented_by" ]:
38
42
if key in metadata :
39
- values = ' \n ' .join (metadata [key ])
40
- text += f"{ key } : \n \t { add_tabs (values )} \n \n "
43
+ values = " \n " .join (metadata [key ])
44
+ text += f"{ key } : \n \t { _add_tabs (values )} \n \n "
41
45
42
46
if "properties" in metadata :
43
47
props = [f"{ k } : { v } " for k , v in metadata ["properties" ].items ()]
44
- text += f"properties: \n \t { add_tabs ('\n ' .join (props ))} \n \n "
48
+ text += f"properties: \n \t { _add_tabs ('\n ' .join (props ))} \n \n "
45
49
46
50
if doc .page_content != "" :
47
- text += f"description: \n \t { add_tabs (doc .page_content )} \n \n "
51
+ text += f"description: \n \t { _add_tabs (doc .page_content )} \n \n "
48
52
elif "value" in metadata :
49
53
text += f"{ metadata ['value' ]} \n \n "
50
54
51
55
for key in ["attributes" , "parameters" ]:
52
56
if key in metadata :
53
- values = ' \n \n ' .join ([_format_parameter (v ) for v in metadata [key ]])
54
- text += f"{ key } : \n \t { add_tabs (values )} \n \n "
57
+ values = " \n \n " .join ([_format_parameter (v ) for v in metadata [key ]])
58
+ text += f"{ key } : \n \t { _add_tabs (values )} \n \n "
55
59
56
60
for key in ["returns" , "yields" ]:
57
61
if key in metadata :
58
- values = ' \n \n ' .join ([_format_return (v ) for v in metadata [key ]])
59
- text += f"{ key } : \n \t { add_tabs (values )} \n \n "
62
+ values = " \n \n " .join ([_format_return (v ) for v in metadata [key ]])
63
+ text += f"{ key } : \n \t { _add_tabs (values )} \n \n "
60
64
61
65
for key in ["note" , "example" ]:
62
- text += f"{ key } : \n \t { add_tabs (metadata [key ])} \n \n "
66
+ text += f"{ key } : \n \t { _add_tabs (metadata [key ])} \n \n "
63
67
64
68
if debug :
65
69
if "imports" in metadata :
@@ -70,12 +74,12 @@ def format_document(doc: Document, debug: bool = False) -> str:
70
74
else :
71
75
imports .append (f"{ real_name } as { as_name } " )
72
76
values = "\n " .join (imports )
73
- text += f"imports: \n \t { add_tabs (values )} \n \n "
77
+ text += f"imports: \n \t { _add_tabs (values )} \n \n "
74
78
75
79
for key in ["references" , "gathered_types" ]:
76
80
if key in metadata :
77
81
values = "\n " .join (metadata [key ])
78
- text += f"{ key } : \n \t { add_tabs (values )} \n \n "
82
+ text += f"{ key } : \n \t { _add_tabs (values )} \n \n "
79
83
80
84
if "parent" in metadata :
81
85
text += f"parent: { metadata ['parent' ]} \n \n "
0 commit comments