Skip to content

Commit e38b649

Browse files
committed
gguf-dump.py: fix array preview
1 parent 13b86fb commit e38b649

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

gguf-py/scripts/gguf-dump.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,27 @@ def dump_markdown_metadata(reader: GGUFReader, args: argparse.Namespace) -> None
196196
else:
197197
pretty_type = str(field.types[-1].name)
198198

199+
total_elements = len(field.data)
200+
value = ""
199201
if len(field.types) == 1:
200202
curr_type = field.types[0]
201203
if curr_type == GGUFValueType.STRING:
202204
value = repr(str(bytes(field.parts[-1]), encoding='utf-8')[:60])
203-
elif field.types[0] in reader.gguf_scalar_to_np:
204-
value = field.parts[-1][0]
205-
markdown_content += f'| {n:3} | {pretty_type:10} | {len(field.data):8} | {field.name:38} | {value:<78} |\n'
205+
elif curr_type in reader.gguf_scalar_to_np:
206+
value = str(field.parts[-1][0])
207+
else:
208+
if field.types[0] == GGUFValueType.ARRAY:
209+
curr_type = field.types[1]
210+
if curr_type == GGUFValueType.STRING:
211+
render_element = min(5, total_elements)
212+
for element_pos in range(render_element):
213+
value += repr(str(bytes(field.parts[-1 - element_pos]), encoding='utf-8')[:5]) + (", " if total_elements > 1 else "")
214+
elif curr_type in reader.gguf_scalar_to_np:
215+
render_element = min(7, total_elements)
216+
for element_pos in range(render_element):
217+
value += str(field.parts[-1 - element_pos][0]) + (", " if total_elements > 1 else "")
218+
value = f'[ {value}{" ..." if total_elements > 1 else ""} ]'
219+
markdown_content += f'| {n:3} | {pretty_type:10} | {total_elements:8} | {field.name:38} | {value:<78} |\n'
206220

207221
markdown_content += "\n"
208222

0 commit comments

Comments
 (0)