众所周知,SpringBoot3不支持JDK17以下的JDK版本。同时升级SpringFramework与JDK版本,考虑到系统稳定性,在中型项目中几乎不可能推进。
最近遇到一个需要用到大模型的需求,需在Java系统的原有功能里,利用大模型的判断确定内容关联性。
尝试了SpringAI,LangChain4j等等SDK,发觉几乎所有AI工具链在SpringBoot生态中,都只从SpringBoot3.x.x开始提供支持。
只为这个功能,就重构/单开出一个Python系统显然不可能,而又面临SpringBoot版本无法升级的困境,只能寻求迂回方案。
当然,我们可以通过Rest API请求对应的接口,以调用AI能力,但一来Java的原生HTTP请求写起来实在麻烦,二来自行对照SDK写HTTP请求,还要封装的漂亮,工作量也决不少。
好在,经过测试,虽然 lang chain4j spring boot starter不支持SpringBoot2.x;但langchain4j本身还是支持JDK8的,因此可以自行集成langchain4j。
pom.xml中,添加:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.35.0</version