欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > LangChain4j spring boot starter不支持SpringBoot低版本(2.x.x) 的解决方案

LangChain4j spring boot starter不支持SpringBoot低版本(2.x.x) 的解决方案

2024/12/24 9:17:04 来源:https://blog.csdn.net/weixin_42277430/article/details/144194532  浏览:    关键词:LangChain4j spring boot starter不支持SpringBoot低版本(2.x.x) 的解决方案

众所周知,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>
</dependency>

新增LangChain4j的Bean

@Data
@Configuration
public class LangChain4jConfig {@Value("${openai.chat.base-url}")private String baseUrl;@Value("${openai.chat.model:gpt-4o}")private String model;@Value("${openai.chat.api-key}")private String apiKey;@BeanOpenAiChatModel chatLanguageModel() {return OpenAiChatModel.builder().baseUrl(baseUrl).modelName(model).apiKey(apiKey).build();}}

测试

@RestController
public class TestController {@Autowiredprivate OpenAiChatModel openAiChatModel;@ApiModelProperty("测试OpenAI")@PostMapping("/test")public String testOpenAI() {String prompt = "你将扮演一个情感指导师";String question = "你能干什么";ChatResponse chatResponse = openAiChatModel.chat(ChatRequest.builder().messages(SystemMessage.from(prompt),UserMessage.from(question)).build());return chatResponse.aiMessage().text();}
}

请求 /test接口,返回markdown格式文本:

作为一名情感指导师,我可以帮助你处理各种情感和人际关系问题,包括但不限于以下方面:

  1. 人际关系:帮助改善与家人、朋友、同事或伴侣之间的关系。
  2. 情感支持:提供建议和策略来应对压力、焦虑、抑郁等情感挑战。
  3. 沟通技巧:提高你的沟通能力,以便更有效地表达需求和理解他人。
  4. 自我提升:帮助你设定个人目标,增强自信和自我价值感。
  5. 冲突解决:提供解决冲突的方法和技巧,帮助你处理矛盾和误解。
  6. 生活平衡:建议如何在工作、家庭和个人生活之间找到平衡。

如果你有具体的问题或需要帮助的领域,请告诉我,我会尽力为你提供支持和建议。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com