gguf_dump.py: fix markddown kv array print

This commit is contained in:
brian khuu 2024-07-19 23:23:46 +10:00
parent f299aa98ec
commit d99a34b245

View file

@ -254,16 +254,26 @@ def dump_markdown_metadata(reader: GGUFReader, args: argparse.Namespace) -> None
value = str(field.parts[-1][0])
else:
if field.types[0] == GGUFValueType.ARRAY:
displayed_values = 0
curr_type = field.types[1]
if curr_type == GGUFValueType.STRING:
render_element = min(5, total_elements)
for element_pos in range(render_element):
value += repr(str(bytes(field.parts[-1 - element_pos]), encoding='utf-8')[:5]) + (", " if total_elements > 1 else "")
truncate_length = 30
value_string = repr(str(bytes(field.parts[-1 - (total_elements - element_pos - 1) * 2]), encoding='utf-8'))
if len(value_string) > truncate_length:
value += value_string[:truncate_length // 2] + "..." + value_string[-truncate_length // 2:]
else:
value += value_string
displayed_values += 1
if (total_elements - 1) > element_pos:
value += ", "
elif curr_type in reader.gguf_scalar_to_np:
render_element = min(7, total_elements)
for element_pos in range(render_element):
value += str(field.parts[-1 - element_pos][0]) + (", " if total_elements > 1 else "")
value = f'[ {value}{" ..." if total_elements > 1 else ""} ]'
value += str(field.parts[-1 - (total_elements - element_pos - 1)][0]) + (", " if total_elements > 1 else "")
displayed_values += 1
value = f'[ {value}{"..." if total_elements > displayed_values else ""} ]'
kv_dump_table.append({"n":n, "pretty_type":pretty_type, "total_elements":total_elements, "field_name":field.name, "value":value})
kv_dump_table_header_map = [