perf(chat_utils): use .media instead of .original_bytes to avoid redundant bytes→PIL conversion

When processing vision_chunk items, pass the already-decoded PIL.Image
via .media instead of .original_bytes. This avoids an unnecessary
bytes→PIL.Image conversion in media_processor since the image was
already decoded in load_bytes().

Signed-off-by: wanglinian <wanglinian@stu.pku.edu.cn>
This commit is contained in:
wanglinian
2026-01-08 06:06:40 +00:00
parent c2bfb1def1
commit 0bbbd388de
+5 -3
View File
@@ -973,11 +973,13 @@ class AsyncMultiModalItemTracker(BaseMultiModalItemTracker[Awaitable[object]]):
if inner_modality == "image":
# Cast data to proper type for image
if hasattr(data, "original_bytes"):
image_bytes = data.original_bytes # type: ignore[union-attr]
# Use .media (PIL.Image) directly to avoid redundant
# bytes→PIL conversion in media_processor
if hasattr(data, "media"):
image_data = data.media # type: ignore[union-attr]
processed_chunks.append(
VisionChunkImage(
type="image", image=image_bytes, uuid=uuid_val
type="image", image=image_data, uuid=uuid_val
)
)
else: