summaryrefslogtreecommitdiff
path: root/gguf-py/scripts/gguf-new-metadata.py
diff options
context:
space:
mode:
authorcompilade <git@compilade.net>2024-06-08 22:34:29 -0400
committerGitHub <noreply@github.com>2024-06-09 12:34:29 +1000
commited9f2521185706481501a5e6d5315397b11802ff (patch)
treea3cc323be80d09efdcccc7ea34ac74cc4190859e /gguf-py/scripts/gguf-new-metadata.py
parentfe1e3917cfa0f9397a765cfd0aef880674d938d5 (diff)
gguf-py : decouple adding metadata from writing in GGUFWriter (#7827)
Main changes of this PR is to consolidate GGUFWriter.add_key and GGUFWriter.add_val into GGUFWriter.add_key_value. In addition use_temp_file is now opt-in instead of opt-out defaulting to False. Also GGUFWriter now does not require output file name until when actually writing to it. And GGUFWriter doesn't really need to eagerly prepare the data layout of the metadata
Diffstat (limited to 'gguf-py/scripts/gguf-new-metadata.py')
-rwxr-xr-xgguf-py/scripts/gguf-new-metadata.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/gguf-py/scripts/gguf-new-metadata.py b/gguf-py/scripts/gguf-new-metadata.py
index 21e91180..c4b90d58 100755
--- a/gguf-py/scripts/gguf-new-metadata.py
+++ b/gguf-py/scripts/gguf-new-metadata.py
@@ -101,8 +101,7 @@ def copy_with_new_metadata(reader: gguf.GGUFReader, writer: gguf.GGUFWriter, new
logger.debug(f'Copying {field.name}')
if val.value is not None:
- writer.add_key(field.name)
- writer.add_val(val.value, val.type)
+ writer.add_key_value(field.name, val.value, val.type)
if gguf.Keys.Tokenizer.CHAT_TEMPLATE in new_metadata:
logger.debug('Adding chat template(s)')
@@ -111,8 +110,7 @@ def copy_with_new_metadata(reader: gguf.GGUFReader, writer: gguf.GGUFWriter, new
for key, val in new_metadata.items():
logger.debug(f'Adding {key}: "{val.value}" {val.description}')
- writer.add_key(key)
- writer.add_val(val.value, val.type)
+ writer.add_key_value(key, val.value, val.type)
total_bytes = 0