From 0c18d216b489ece99332f67f3aaff5adf8aa465d Mon Sep 17 00:00:00 2001 From: momonga <115213907+mmnga@users.noreply.github.com> Date: Wed, 9 Oct 2024 21:06:05 +0900 Subject: [PATCH 1/2] fix general.license list to str --- gguf-py/gguf/gguf_writer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 5c460ef1bc260..78f7b0a5077ad 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -236,6 +236,8 @@ def write_kv_data_to_file(self) -> None: kv_bytes = bytearray() for key, val in kv_data.items(): + if key == "general.license" and isinstance(val.value, list): + val.value = ",".join(val.value) kv_bytes += self._pack_val(key, GGUFValueType.STRING, add_vtype=False) kv_bytes += self._pack_val(val.value, val.type, add_vtype=True) From 7d5e0c00637c664b3b6ced9d12bf1800b614147e Mon Sep 17 00:00:00 2001 From: momonga <115213907+mmnga@users.noreply.github.com> Date: Thu, 24 Oct 2024 00:08:05 +0900 Subject: [PATCH 2/2] fix join license list --- gguf-py/gguf/gguf_writer.py | 2 -- gguf-py/gguf/metadata.py | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 4bf85094ffd3e..0d8d8a0b087e9 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -236,8 +236,6 @@ def write_kv_data_to_file(self) -> None: kv_bytes = bytearray() for key, val in kv_data.items(): - if key == "general.license" and isinstance(val.value, list): - val.value = ",".join(val.value) kv_bytes += self._pack_val(key, GGUFValueType.STRING, add_vtype=False) kv_bytes += self._pack_val(val.value, val.type, add_vtype=True) diff --git a/gguf-py/gguf/metadata.py b/gguf-py/gguf/metadata.py index db318542a279b..e6bbe1364ca93 100644 --- a/gguf-py/gguf/metadata.py +++ b/gguf-py/gguf/metadata.py @@ -458,7 +458,10 @@ def set_gguf_meta_model(self, gguf_writer: gguf.GGUFWriter): gguf_writer.add_size_label(self.size_label) if self.license is not None: - gguf_writer.add_license(self.license) + if isinstance(self.license, list): + gguf_writer.add_license(",".join(self.license)) + else: + gguf_writer.add_license(self.license) if self.license_name is not None: gguf_writer.add_license_name(self.license_name) if self.license_link is not None: