springai报错记录

springai还是有很多坑,我是多模态模型报错。

java.lang.NullPointerException: Cannot invoke "java.lang.Integer.longValue()" because the return value of "com.alibaba.cloud.ai.dashscope.api.DashScopeApi$TokenUsage.totalTokens()" is null

是这个打印日志引起的去掉就好了

复制代码
 advisorSpec.advisors(new SimpleLoggerAdvisor());

org.springframework.ai.retry.NonTransientAiException: 400 - {"code":"InvalidParameter","message":"url error, please check url!","request_id":"4bb03499-1f23-92c2-8792-812ae60d9c49"}

我的URL没有问题 用的是官方样例的URL

new Media(

MimeTypeUtils.IMAGE_PNG,

new URI("https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg").toURL()

)

实际的报错原因是:正确使用多模态模型:qwen-vl-max-latest。且开启multi-model: true。感觉配置有点多余。而且这报错和实际错误相差太远了

复制代码
  ai:
    # 阿里灵积
    dash-scope:
      api-key: sk-a4a1d7c881e44c32a31b9c210deb0086
      chat:
        options:
          model: qwen-vl-max-latest
          multi-model: true

org.springframework.ai.retry.NonTransientAiException: 400 {"code":"InvalidParameter.DataInspection","message":"The media format is not supported or incorrect for the data inspection.","request_id":"bc43b28b-2a90-9456-8c3b-2f679ee330c6"}

试了一下官方提供的图片 URL可以解析成功
new Media( MimeTypeUtils.IMAGE_PNG, new URI("https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg").toURL() )

使用本地花生壳映射出去的地址失败

改成Resource的形式,就不报错了。也是替代方案吧

复制代码
 new Media(new MediaType(MimeTypeUtils.IMAGE_PNG)
, new InputStreamResource(new FileInputStream(localFile)));
相关推荐
考虑考虑19 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯19 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路1 天前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还1 天前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev1 天前
GreenDAO → Room
android·java·kotlin
亦暖筑序1 天前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏1 天前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev1 天前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还2 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩2 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构