spring-ai-alibaba 1.0.0.2 学习(十六)——多模态

踩坑记录

在spring-ai-alibaba的官方文档中,多模态章节与spring-ai基本一样,主要是以下代码:

java 复制代码
ChatClient.create(chatModel).prompt()    
.user(u -> u.text("Explain what do you see on this picture?")            
.media(MimeTypeUtils.IMAGE_PNG, new ClassPathResource("/multimodal.test.png")))    
.call()    
.content();

但是调用会报如下错误:

org.springframework.ai.retry.NonTransientAiException: HTTP 400 - {"request_id":"64359c98-f67d-94de-90fc-83f4df8a4572","code":"InvalidParameter","message":"url error, please check url!"}

修复建议

实际在使用spring-ai-alibaba时需要有一些调整

java 复制代码
chatClient.prompt()
                .user(u -> {
                    try {
                        u.text(input).media(
                                MediaType.IMAGE_PNG,
                                URI.create("图片网址").toURL()
                        );
                    } catch (MalformedURLException e) {
                        throw new RuntimeException(e);
                    }
                })
                .options(DashScopeChatOptions.builder().withModel("qwen-vl-max").withMultiModel(true).build())
                .call()
                .content();

1.需要调整使用的模型,具体可用模型可以参考百炼模型文本生成模型下的多模态模型(大模型服务平台百炼控制台),例如qwen-vl-max

2.需要打开多模态开关 withMultiModel(true)

3.如果是视频还需要在metadata中添加messageFormat(默认是按图片处理)

java 复制代码
message.getMetadata().put(DashScopeApiConstants.MESSAGE_FORMAT, MessageFormat.VIDEO);

之后就可以正常使用了,比如让大模型描述图片中的内容等

扩展知识

曾想尝试着上传图片和视频之外的种类,例如pdf文档等,发现走不通

每个模型支持的多模态

每一个大模型平台支持哪些格式可以查看其ChatModel的实现类,一般call方法都会调用一个createRequest方法,在里面会对UserMessage进行转换

比如DashScopeChatModel,转换时支持video和image两种格式

spring-ai的Deepseek包中,转换只取了text,说明并不支持多模态

spring-ai的ZhiPuAiChatModel中,转换时则只支持image。

当然,这只是spring-ai或者spring-ai-alibaba的扩展包,具体大模型本身是否支持其他种类,还是要查看官方文档或使用官方sdk。

相关推荐
wangray1997droid6 小时前
让 AI 拥有“真实记忆“:一次从碎片到叙事的记忆系统质变
人工智能
一次旅行6 小时前
AI 前沿日报 | 2026年08月08日 星期六
人工智能
hyuk的AI工坊6 小时前
Agent/Tool Calling 深度实战:LangChain4j 生产级工具设计
人工智能
manyingAi6 小时前
AIGC 落地影视内容行业:漫映 AI 漫剧全链路工作流技术架构解析
人工智能·架构·aigc
架构师汤师爷6 小时前
我用WorkBuddy和ima搭了一套AI写作工作流,真滴香晕了!
人工智能
观远数据6 小时前
当ChatBI遇上数据合规:AI+BI规模化落地的安全边界如何划定
大数据·人工智能·安全
Qyr997 小时前
吞咽困难介护食:老龄化社会中的营养安全守护者
人工智能
火山引擎开发者社区7 小时前
文件上传即可检索|实时多模态向量链路落地实践分享
人工智能
YYJ-F7 小时前
Anthropic——AI安全人工智能研究公司,核心产品Claude Code辅助编程
人工智能·安全
还是奇怪7 小时前
Agent 安全事件成为本周核心风险信号,从三起越界评测到 Hugging Face 入侵
人工智能·web安全·大语言模型·anthropic