summaryrefslogtreecommitdiff
path: root/gguf-py/gguf/gguf_reader.py
diff options
context:
space:
mode:
Diffstat (limited to 'gguf-py/gguf/gguf_reader.py')
-rw-r--r--gguf-py/gguf/gguf_reader.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/gguf-py/gguf/gguf_reader.py b/gguf-py/gguf/gguf_reader.py
index 48ef6d4a..2bdb1552 100644
--- a/gguf-py/gguf/gguf_reader.py
+++ b/gguf-py/gguf/gguf_reader.py
@@ -139,8 +139,13 @@ class GGUFReader:
def _push_field(self, field: ReaderField, skip_sum: bool = False) -> int:
if field.name in self.fields:
- raise KeyError(f'Duplicate {field.name} already in list at offset {field.offset}')
- self.fields[field.name] = field
+ # TODO: add option to generate error on duplicate keys
+ # raise KeyError(f'Duplicate {field.name} already in list at offset {field.offset}')
+
+ print(f'Warning: Duplicate key {field.name} at offset {field.offset}')
+ self.fields[field.name + '_{}'.format(field.offset)] = field
+ else:
+ self.fields[field.name] = field
return 0 if skip_sum else sum(int(part.nbytes) for part in field.parts)
def _get_str(self, offset: int) -> tuple[npt.NDArray[np.uint64], npt.NDArray[np.uint8]]: