MCPcopy Create free account
hub / github.com/Luce-Org/lucebox-hub / copy_metadata

Function copy_metadata

server/scripts/quantize_dflash_draft.py:37–65  ·  view source on GitHub ↗
(r: GGUFReader, w: GGUFWriter)

Source from the content-addressed store, hash-verified

35 return GGMLQuantizationType.Q4_0
36
37
38def copy_metadata(r: GGUFReader, w: GGUFWriter) -> None:
39 skip = {"GGUF.version", "GGUF.tensor_count", "GGUF.kv_count", "general.architecture"}
40 T = gguf.GGUFValueType
41 for f in r.fields.values():
42 if f.name in skip:
43 continue
44 ftype = f.types[0]
45 val = f.parts[f.data[0]]
46 if ftype == T.STRING:
47 w.add_string(f.name, bytes(val).decode())
48 elif ftype == T.ARRAY:
49 sub = f.types[1]
50 vals = [f.parts[i] for i in f.data]
51 if sub == T.STRING:
52 w.add_array(f.name, [bytes(v).decode() for v in vals])
53 else:
54 w.add_array(f.name, [np.asarray(v)[0].item() for v in vals])
55 elif ftype == T.BOOL:
56 w.add_bool(f.name, bool(val[0]))
57 elif ftype == T.FLOAT32:
58 w.add_float32(f.name, float(val[0]))
59 elif ftype == T.FLOAT64:
60 w.add_float64(f.name, float(val[0]))
61 else:
62 fn = {T.UINT32: w.add_uint32, T.INT32: w.add_int32,
63 T.UINT64: w.add_uint64, T.INT64: w.add_int64,
64 T.UINT8: w.add_uint8, T.INT8: w.add_int8,
65 T.UINT16: w.add_uint16, T.INT16: w.add_int16}[ftype]
66 fn(f.name, val[0].item())
67
68

Callers 1

mainFunction · 0.85

Calls 1

decodeMethod · 0.45

Tested by

no test coverage detected