@@ -43,12 +43,8 @@ class MsgpackEncoder:
43
43
Note that unlike vanilla `msgspec` Encoders, this interface is generally
44
44
not thread-safe when encoding tensors / numpy arrays.
45
45
46
- By default, arrays below 256B are serialized inline.
47
- Larger will get sent via dedicated messages.
48
- Note that this is a per-tensor limit.
49
-
50
- Sending multiple large messages via zeromq saturates memory very quickly.
51
- See: https://github.com/vllm-project/vllm/issues/16185
46
+ By default, arrays below 256B are serialized inline Larger will get sent
47
+ via dedicated messages. Note that this is a per-tensor limit.
52
48
"""
53
49
54
50
def __init__ (self , size_threshold : Optional [int ] = None ):
@@ -77,7 +73,7 @@ def encode(self, obj: Any) -> Sequence[bytestr]:
77
73
def encode_into (self , obj : Any , buf : bytearray ) -> Sequence [bytestr ]:
78
74
try :
79
75
self .aux_buffers = [buf ]
80
- bufs = [ buf ]
76
+ bufs = self . aux_buffers
81
77
self .encoder .encode_into (obj , buf )
82
78
return bufs
83
79
finally :
@@ -105,7 +101,7 @@ def enc_hook(self, obj: Any) -> Any:
105
101
"modality" : elem .modality ,
106
102
"key" : elem .key ,
107
103
"data" : self ._encode_nested_tensors (elem .data ),
108
- "field" : self ._encode_field (elem .field ),
104
+ "field" : self ._encode_mm_field (elem .field ),
109
105
} for elem in item .values ()]
110
106
for itemlist in mm ._items_by_modality .values ()
111
107
for item in itemlist ]
@@ -143,7 +139,7 @@ def _encode_nested_tensors(self, obj: Any) -> NestedTensors:
143
139
return self ._encode_ndarray (obj .numpy ())
144
140
return [self ._encode_nested_tensors (x ) for x in obj ]
145
141
146
- def _encode_field (self , field : BaseMultiModalField ):
142
+ def _encode_mm_field (self , field : BaseMultiModalField ):
147
143
# Figure out the factory name for the field type.
148
144
name = MMF_CLASS_TO_FACTORY .get (field .__class__ )
149
145
if not name :
0 commit comments