spring AI调用发生NonTransientAiException: HTTP 400 - {“object“:“error“,“message“:“[{‘type‘: ‘missing‘异常
使用Spring Boot 3.4.7和JDK21开发AI项目时,调用本地大模型出现HTTP 400错误。通过调试发现默认的WebClient实现存在问题,将其替换为HTTP_COMPONENTS实现后问题解决。
·
使用spring boot
3.4.7版本搭建AI项目,用的jdk21,调用本地的大模型,使用的是Open AI接口格式。调用的时候出现HTTP 400 - {"object":"error","message":"[{'type': 'missing', 'loc': ('body',), 'msg': 'Field required', 'input': None}]","type":"BadRequestError","param":null,"code":400}
异常。但是我这个模型用langchain4j都能调通的。
debug发现发送http
使用的是webClient
对象,底层是jdk的实现,然后就换了一个实现,发现可以正常调用。
换成HTTP_COMPONENTS
之后正常调用,需要加上maven依赖
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
也是通过下面配置发现有这么多类型的客户端可以配置,实测发现,不配置下面的factory
,只要引入httpclient5
依赖,会自动使用HTTP_COMPONENTS
。如果配置了,但是没有引入依赖,会提示类找不到。
spring:
http:
client:
factory: http_components

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)