Java程序员AI开发新姿势!LangChain4j零基础入门+SpringBoot实战
我们是由枫哥组建的IT技术团队成立于2017年致力于帮助IT从业者提供实力成功入职理想企业我们提供一对一学习辅导由知名大厂导师指导分享Java技术、参与项目实战等服务并为学员定制职业规划全面提升竞争力过去8年我们已成功帮助数千名求职者拿到满意的OfferIT枫斗者、IT枫斗者-Java面试突击。01 引言提起大模型LLM应用开发绝大多数开发者第一时间想到的都是Python。Python凭借丰富的AI生态成为LLM开发的主流选型。虽然Spring AI已经正式推出补齐了Java生态的AI开发短板但在使用体验、生态适配、灵活性上始终差强人意。很多Java开发者不想跨语言、不想脱离熟悉的Java/Spring技术栈却一直没有一款轻量化、原生适配的LLM开发框架。LangChain4j的出现完美解决了这个问题今天带大家从零上手解锁Java程序员接入AI大模型的全新姿势零基础实现大模型快速接入与业务开发。02 LangChain4j 核心简介LangChain4j 是官方 LangChain 的Java/JVM 原生版本核心目标是让Java开发者无需切换技术栈即可像Python开发者一样便捷、高效地搭建LLM驱动的AI应用。它并非简单的Python代码翻译移植而是基于Java思想从零设计深度适配Spring Boot、Quarkus、Helidon等主流Java生态完美兼容依赖注入、动态代理、注解开发等Java核心特性上手门槛极低。核心能力亮点统一API适配一套API对接OpenAI、谷歌Gemini、通义千问、智谱等主流大模型同时兼容Milvus、Pinecone、Chroma等向量数据库无需适配各家差异化SDKJava原生设计依托接口、注解、泛型、依赖注入等Java原生特性贴合Java开发者编码习惯分层抽象设计底层提供ChatModel、ChatMessage等基础组件满足高度定制化需求上层封装AI Services、RAG等高阶能力大幅精简业务代码版本适配最低支持 JDK17适配现阶段主流Java项目版本官方地址官网docs.langchain4j.devGitHubgithub.com/langchain4j03 快速入门基础环境搭建推荐使用Maven BOM统一管理版本避免版本冲突这是企业级项目的最佳实践。3.1 引入Maven依赖先在项目中配置BOM版本管理统一约束LangChain4j版本dependencyManagementdependenciesdependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-bom/artifactIdversion1.15.0/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependencies!-- OpenAI 适配依赖 --dependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-open-ai/artifactId/dependency!-- 核心基础依赖 --dependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j/artifactId/dependency/dependencies3.2 极速体验OpenAI在线模型测试没有私有API Key也能快速体验LangChain4j官方提供免费Demo密钥仅支持 gpt-4o-mini 模型适合新手快速验证环境。importdev.langchain4j.model.openai.OpenAiChatModel;publicclassLangChain4jTest{publicstaticvoidmain(String[]args){OpenAiChatModelmodelOpenAiChatModel.builder().baseUrl(http://langchain4j.dev/demo/openai/v1).apiKey(demo).modelName(gpt-4o-mini).build();// 调用大模型对话Stringanswermodel.chat(Java如何快速接入AI大模型);System.out.println(大模型回复answer);}}运行代码即可拿到模型返回结果无需复杂配置极简接入3.3 本地部署接入Ollama私有大模型除了在线大模型LangChain4j完美适配本地Ollama部署的私有模型数据不上云、安全性更高适配内网项目开发。1引入Ollama专属依赖dependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-ollama/artifactId/dependency2完整测试案例根据自己本地Ollama部署的模型名称、IP端口修改配置importdev.langchain4j.model.ollama.OllamaChatModel;importorg.junit.jupiter.api.Test;publicclassOllamaModelTest{TestvoidtestOllamaChat(){// 构建本地Ollama大模型实例OllamaChatModelmodelOllamaChatModel.builder().baseUrl(http://10.100.213.26:11434)// 本地Ollama服务地址.modelName(modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF:latest)// 本地模型名.build();// 对话调用Stringresponsemodel.chat(你是什么模型);System.out.println(本地模型回复response);}}核心优势纯Java独立运行不依赖Spring生态普通Java项目、工具类均可直接使用灵活性拉满04 核心进阶AI Services 高阶抽象AI Services是 LangChain4j 最核心、体验最佳的高阶能力也是区别于其他AI框架的核心亮点。4.1 核心设计思路借鉴Spring Data JPA、Retrofit的经典思想仅需定义业务接口框架通过动态代理自动生成实现类。开发者无需手动处理Prompt拼接、模型调用、结果解析等底层逻辑专注业务开发即可。4.2 基础接口调用1定义AI业务接口publicinterfaceAssistant{// 通用对话方法Stringchat(Stringmessage);}2通过AiServices创建代理实例并调用importdev.langchain4j.service.AiServices;importorg.junit.jupiter.api.Test;publicclassAiServiceTest{TestvoidtestAiServiceChat(){// 初始化本地模型OllamaChatModelmodelOllamaChatModel.builder().baseUrl(http://10.100.213.26:11434).modelName(modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF:latest).build();// 动态代理生成接口实现类AssistantassistantAiServices.create(Assistant.class,model);// 直接调用方法对话Stringresponseassistant.chat(hello介绍一下LangChain4j);System.out.println(response);}}4.3 角色设定SystemMessage注解通过SystemMessage注解可快速给AI注入角色、行为规范、业务定位无需每次对话重复传参全局生效。1带角色设定的AI接口importdev.langchain4j.service.SystemMessage;publicinterfaceFriend{// 定义AI角色情绪价值陪伴助手SystemMessage(你是我的专属朋友性格温柔总能给我提供满满的情绪价值语言通俗易懂。)Stringchat(StringuserMessage);}2调用测试TestvoidtestRoleChat(){OllamaChatModelmodelOllamaChatModel.builder().baseUrl(http://10.100.213.26:11434).modelName(modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF:latest).build();FriendfriendAiServices.create(Friend.class,model);Stringresponsefriend.chat(我最近压力很大心情很差);System.out.println(response);}运行后AI会严格按照设定的角色回复精准实现定制化AI能力05 SpringBoot 一站式集成实战LangChain4j 官方提供SpringBoot专属启动器无缝适配Spring生态支持自动注入、配置化管理适配企业级项目开发。5.1 引入SpringBoot Starter依赖!-- LangChain4j SpringBoot核心启动器 --dependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-spring-boot-starter/artifactId/dependency!-- Ollama SpringBoot适配启动器 --dependencygroupIddev.langchain4j/groupIdartifactIdlangchain4j-ollama-spring-boot-starter/artifactId/dependency5.2 改造AI接口自动注入Bean使用AiService注解框架自动将接口注册为Spring Bean无需手动创建代理对象直接注入使用即可。importdev.langchain4j.service.AiService;importdev.langchain4j.service.SystemMessage;AiServicepublicinterfaceFriend{SystemMessage(你是我的专属朋友性格温柔总能给我提供满满的情绪价值语言通俗易懂。)Stringchat(StringuserMessage);}5.3 配置文件参数绑定在application.yml或application.properties中配置Ollama模型参数统一管理环境配置# Ollama大模型配置 langchain4j.ollama.chat-model.base-urlhttp://10.100.213.26:11434 langchain4j.ollama.chat-model.model-namemodelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF:latest5.4 单元测试调用importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.junit.jupiter.api.Test;SpringBootTestpublicclassBootLangChain4jTests{// 自动注入AI服务BeanAutowiredprivateFriendfriend;TestvoidtestChat(){Stringresponsefriend.chat(我失恋了心情很不好);System.out.println(AI回复response);}}启动测试即可正常调用本地大模型全程零冗余代码企业级开发直接落地06 总结LangChain4j 彻底解决了Java开发者AI开发跨语言、生态不适配、开发繁琐的痛点相比Spring AI它更轻量化、更贴合Java原生思想、上手成本更低。核心优势总结纯Java原生生态无需切换Python老Java项目无缝接入AI能力统一API适配多厂商大模型灵活切换云端/本地模型AI Services动态代理抽象极简代码实现复杂AI业务完美集成SpringBoot适配企业级工程化开发⭐️推荐:Offer训练营介绍Java 面试 后端通用面试八股文Java后端企业级实战面试Java后端校招算法学习