方向对,根因就是 responses 兼容层在 function_call_output 里只认 input_text,把里面的 input_image 转成 tool message 的 image_url 是正解。
Review 时可能被追问两点:
转完之后要确认 chat template 对 tool 角色消息里的图片能正确渲染(Qwen 系模板一般支持,但 tool result 带图是比较新的用法),最好附一个最小复现和期望输出。
imbiplaza 提到的 webp 问题多半是解码库没编进去——llama.cpp 默认图像解码不带 webp,转 png 或自行编入 webp 支持即可,跟这个 patch 是两件事,可以拆开提。
上游如果又 stale,把 patch 挂到对应 issue 里再 @ 一下近期活跃的 maintainer,比纯 PR 更容易被看到。