快速结论:在 Langfuse Cloud 上,只要 LLM-as-a-judge 评测把带图(image/jpeg)的观察值映射给 Bedrock 模型,请求就会在真正调用模型前被拦下,报错提到 Bedrock evaluators fail on any observation that carries media (Cloud)。优先排查媒体传输方式(URL vs inline)与所选 Bedrock 模型是否支持 image/jpeg。
适用环境:Issue 已确认的环境为 Langfuse Cloud、Bedrock 连接,测试模型 us.anthropic.claude-haiku-4-5-20251001-v1:0、us.anthropic.claude-sonnet-4-6(评论中另提到 us.anthropic.claude-sonnet-5、global.anthropic.claude-sonnet-5);同样的评测在 OpenAI 模型上正常。未提供操作系统、Python、CUDA、显卡信息。
最快修复方案:暂无确认的一步修复方案。Issue 中维护者建议改用 AWS Bedrock 的 OpenAI/Anthropic 兼容端点并配置自定义 base URL,但报告者实测两种端点在 Claude 上均不成立,因此该建议尚未验证可行。
注意事项:LANGFUSE_EVALUATOR_MEDIA_TRANSPORT 属于服务端环境变量,Cloud 用户无法通过项目设置切换为 inline;维护者明确表示 Cloud 不会把不受控的媒体下载进 worker,因为存在安全与性能风险。在 Bedrock 侧给出结论前,多模态评测不要指望通过配置绕过。
问题场景
用户使用 Langfuse 的 LLM-as-a-judge 评测功能,把包含图片(jpeg)的观察值(observation)通过变量映射(例如 {{input}})传给 Bedrock 模型,评测在约 0.2 秒内直接失败,模型调用根本没有发出。同一个评测和同一条观察值换成 OpenAI 模型则正常打分。问题出现在 Cloud 环境的 Bedrock 连接上,且不是模型本身拒绝,而是请求构造阶段就被拦截。
报错原文
The interpolated prompt contains media with type image/jpeg, but the selected model does not support this media type. To continue, narrow the variable mapping so it does not include this media, or select a model that supports image/jpeg.
评论中改用 Anthropic-compatible 端点后,Bedrock 返回的错误为:
POST https://bedrock-runtime.us-west-2.amazonaws.com/anthropic/v1/messages
{"type":"error","error":{"type":"invalid_request_error","message":"URL content sources are not yet supported for this model"}}
原因分析
按报告者对源码的解读,resolveEvaluatorMediaTransport 对任何 Cloud 区域返回 url,非 Cloud 才返回 inline,因此 Cloud 上总是把签名 URL 交给提供方。而 Bedrock 接收的是图片字节(base64),不是 URL,于是 AI SDK 判定 isUrlSupportedByModel === false,enforceProviderSupportedMediaUrls 抛出上面的错误。同时 image/jpeg 位于 EVALUATOR_MEDIA_TYPES 中,所以媒体类型本身能通过更早的检查,最终问题落在传输形式上。评论中维护者确认,Cloud 不使用 inline 是刻意的设计取舍,并非临时故障。
环境排查
- 确认是否运行在 Langfuse Cloud(而非自托管),Cloud 上无法通过项目设置改变媒体传输方式。
- 确认评测使用的 LLM 连接是否为 Bedrock,以及映射的观察值是否携带 image/jpeg 媒体。
- 确认所选的 Bedrock 模型(如 Claude 系列)是否出现在 AWS 兼容性表的相关行中;评论指出 Chat Completions 与 Responses 在 Claude 行上均为不支持。
- 确认是否有办法访问服务端环境变量 LANGFUSE_EVALUATOR_MEDIA_TRANSPORT;Cloud 用户通常没有。
- 可以用同一个评测加 OpenAI 模型做对照,快速判断问题是否出在 Bedrock 侧。
解决步骤
- 先收窄变量映射,避免把带图字段传给 Bedrock 评测模型,确认评测能正常跑通——这可以验证报错确实由媒体引起。
- 按维护者建议尝试 OpenAI/Anthropic 兼容端点:在 Langfuse 中新建 OpenAI 或 Anthropic 连接,将 base URL 指向 AWS Bedrock 的兼容端点。
- 用 us.anthropic.claude-haiku-4-5-20251001-v1:0、us.anthropic.claude-sonnet-5 或 global.anthropic.claude-sonnet-5 逐个验证。注意 Issue 中报告者的实测结果是 OpenAI-compatible 端点跳过 Anthropic 模型、Anthropic-compatible 端点返回 “URL content sources are not yet supported for this model”,即该路径在 Claude 上不可用。
- 如果必须使用带图评测,暂时改用原生支持 URL 图片的模型(Issue 中已验证 OpenAI 正常)。
- 持续关注上游进展:报告者的诉求是让提供方拒绝 URL 时改为下载媒体并以 inline 发送,或允许每个 LLM 连接自行选择传输方式。该改动是否被采纳,Issue 中未给出明确结论。
验证方法
用不携带媒体的观察值跑同一评测,应能正常返回分数;再换回带 jpeg 的观察值,若仍快速抛出同一条报错,说明传输方式问题依旧存在。若改用兼容端点后 Bedrock 侧不再返回 “URL content sources are not yet supported for this model”,并且评测能对带图观察值给出分数,才算问题解决。仅凭 Langfuse 侧不再报错不足以确认,因为拦截可能转移到 Bedrock API 一侧。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


