
什么是LangChain4J要想知道LangChain4j是什么就要知道LangChain。「LangChain 是一个开源框架用于构建基于大语言模型LLM的智能应用」。它由 Harrison Chase 于 2022 年创建现已成为 LLM 应用开发的事实标准之一。「LangChain4j」是「LangChain 的官方 Java 实现」由 LangChain 核心团队支持专为「Java 和 JVM 开发者」设计用于构建基于大语言模型LLM的智能应用如 RAG检索增强生成、Agent智能体、对话系统等。LangChain4j 官网https://docs.langchain4j.dev/「LangChain 与 LangChain4j 的核心区别在于它们是同一理念在不同编程语言生态中的官方实现」。LangChain 最初是「Python 版本」而「LangChain4j 是其官方 Java/JVM 实现」由 LangChain 团队支持专为 Java 开发者设计。阿里百炼大模型申请阿里百炼大模型来对接qwen 大模型。https://bailian.console.aliyun.com/登录阿里云账号进入模型服务选择qwen-max模型点击进入API参考页面自行申请api-key即可api-key配置页面整合SpringBoot基础对话问答「引入langchain、百炼大模型依赖」propertiesjava.version17/java.versionlangchain4j.version1.0.0-beta1/langchain4j.version/propertiesdependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-community-dashscope-spring-boot-starter/artifactId/dependencydependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j/artifactIdversion${langchain4j.version}/version/dependencydependencyManagementdependenciesdependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-community-bom/artifactIdversion${langchain4j.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement「选择qwen-max」接入后我们需要加载依赖到springboot项目中搜索 dashscope-spring-boot-starter 找到AutoConfig在配置文件中进行配置api-key、model-name信息langchain4j.community.dashscope.chat-model.api-key${apiKey} # 阿里百炼大平台申请apiKey #langchain4j.community.dashscope.chat-model.model-nameqwen-max「测试AI基础问答」Resource QwenChatModel qwenChatModel; RequestMapping(/chat) public String test(RequestParam(defaultValue你是谁) String message) { String chat qwenChatModel.chat(message); return chat; }「效果」流式对话加入依赖dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-webflux/artifactId/dependency增加代码ResourceStreamingChatLanguageModel qwenStreamingChatModel;RequestMapping(value /stream_chat,produces text/stream;charsetUTF-8)publicFluxStringstreamChat(RequestParam(defaultValue你是谁)String message){returnFlux.create(sink - { qwenStreamingChatModel.chat(message,newStreamingChatResponseHandler() {OverridepublicvoidonPartialResponse(String partialResponse){ sink.next(partialResponse);// 逐次返回部分响应}OverridepublicvoidonCompleteResponse(ChatResponse completeResponse){ sink.complete();// 完成整个响应流}OverridepublicvoidonError(Throwable error){ sink.error(error);// 异常处理} }); }); }「测试效果」结语LangChain4J是Java程序员面向AI应用开发的必备技能通过此示例我们可以基本的了解到在SpringBoot项目中如何对接AI来对自己的业务系统进行升级。 未来Java AI应用开发是一个大趋势作为Java程序员AI是必备技能。