Java中的5大AI框架!

news2026/3/31 22:30:13
前言在AI技术爆发的这两年里我一直在思考一个问题Python有LangChainJavaScript有LangChain.js我们Java开发者拿什么来构建AI应用这个问题在2024-2025年终于有了答案。随着Spring AI的1.0 GA发布、LangChain4j的持续迭代、阿里云开源Spring AI Alibaba和AgentScope-Java以及微软的Semantic Kernel加入战局Java生态终于形成了完整的AI开发版图。今天这篇文章就专门跟大家一起聊聊Java中的5大AI框架希望对你会有所帮助。一、为什么要了解Java AI框架有些小伙伴可能觉得不就是调用个API吗我写个RestTemplate不就搞定了但现实远比想象复杂。一个完整的企业级AI应用需要处理多轮对话记忆维护会话上下文让AI记住刚才说了什么RAG检索增强从向量数据库中检索相关文档让AI基于事实回答Tool Calling让AI调用外部API查询天气、查订单、发邮件智能体编排多个AI协同工作完成复杂任务可观测性监控AI调用的延迟、成功率、Token消耗模型切换同一套代码支持OpenAI、通义千问、文心一言等多种模型安全沙箱限制AI执行敏感操作防止安全风险这些能力如果全部自己实现工作量巨大。而AI框架的价值就是把这些复杂性封装起来让开发者专注于业务逻辑。 欢迎加入小哈的星球你将获得:专属的项目实战多个项目 / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论新项目《Spring AI 项目实战》正在更新中..., 基于 Spring AI Spring Boot 3.x JDK 21;《从零手撸仿小红书微服务架构》 已完结基于 Spring Cloud Alibaba Spring Boot 3.x JDK 17..., 点击查看项目介绍演示地址http://116.62.199.48:7070/《从零手撸前后端分离博客项目全栈开发》2期已完结,演示链接http://116.62.199.48/;专栏阅读地址https://www.quanxiaoha.com/column截止目前累计输出 100w 字讲解图 4013 张还在持续爆肝中..后续还会上新更多项目目标是将 Java 领域典型的项目都整一波如秒杀系统, 在线商城, IM 即时通讯Spring Cloud Alibaba 等等戳我加入学习解锁全部项目已有4500小伙伴加入二、五大AI框架介绍Java AI框架生态概览框架与设计理念映射框架与核心能力映射五大框架的定位差异框架定位设计理念适用场景Spring AISpring生态AI集成轻量便捷标准企业应用LangChain4j模块化AI工具包灵活组装复杂AI应用Spring AI AlibabaSpring AI 阿里云生态Workflow编排企业级业务系统AgentScope-Java阿里通义多智能体Agentic优先高可靠生产部署Semantic Kernel微软AI编排框架Kernel编排Azure生态集成三、Spring AISpring生态的官方答案3.1 项目概况一句话定位Spring官方出品的AI应用开发框架2025年5月20日Spring AI 1.0 GA版本正式发布标志着Spring生态在AI领域的重要突破。该框架由Spring官方团队维护旨在将Spring的设计原则可移植性、模块化设计应用到AI领域。开源地址https://github.com/spring-projects/spring-ai3.2 核心架构Spring AI的设计理念是POJO优先通过熟悉的依赖注入方式将AI能力注入应用Configuration public class SpringAIConfig { Bean public ChatClient chatClient(ChatClient.Builder builder) { return builder .defaultSystem(你是一个专业的客服助手) .defaultOptions(ChatOptions.builder() .temperature(0.7) .maxTokens(500) .build()) .build(); } }3.3 核心功能模型抽象层统一支持OpenAI、Anthropic、Azure、Google Gemini、Amazon Bedrock等主流模型MCP协议支持全面支持Model Context Protocol可同时构建MCP客户端和服务器RAG支持提供完整的检索增强生成功能Spring Boot集成自动配置和Starter简化集成3.4 代码示例RestController RequestMapping(/api/ai) publicclass AIController { privatefinal ChatClient chatClient; public AIController(ChatClient.Builder builder) { this.chatClient builder.build(); } GetMapping(/chat) public String chat(RequestParam String message) { return chatClient.prompt() .user(message) .call() .content(); } GetMapping(value /stream, produces MediaType.TEXT_EVENT_STREAM_VALUE) public FluxString stream(RequestParam String message) { return chatClient.prompt() .user(message) .stream() .content(); } }只需几行代码一个AI对话接口就完成了这就是Spring AI的魅力。3.5 优缺点分析优点与Spring生态无缝集成自动配置、依赖注入一应俱全统一的API抽象切换模型提供商只需修改配置内置可观测性支持Micrometer追踪全链路官方支持版本稳定缺点需Java 17不兼容Java 8Agent能力相对较弱多智能体编排需自行实现功能迭代速度比LangChain4j慢适用场景已有Spring Boot技术栈的团队需要快速集成基础AI能力的项目轻量级AI应用开发四、LangChain4j最灵活的纯Java AI工具包4.1 项目概况一句话定位Java版的LangChain模块化AI工具包LangChain4j是目前Java生态中最成熟、功能最丰富的大语言模型应用开发框架。它始于2023年初旨在填补Java生态中缺乏与Python和JavaScript同等水平LLM库的空白。开源地址https://github.com/langchain4j/langchain4j4.2 核心架构LangChain4j采用模块化设计提供两层API高层APIAiService声明式接口类似MyBatis或Spring Data JPA低层APIChatModel、EmbeddingStore等核心抽象4.3 核心功能A. 声明式AI服务AiService——最杀手级的特性// 1. 定义接口无需实现类 interface Assistant { SystemMessage(你是一个专业的客服助手) String chat(UserMessage String userMessage); MemoryId String chatWithMemory(MemoryId String userId, UserMessage String message); } // 2. 创建实例 Assistant assistant AiServices.builder(Assistant.class) .chatModel(chatModel) .chatMemory(chatMemory) .build(); // 3. 直接调用 String response assistant.chat(你好我想退货);这种声明式风格对Java开发者来说极其亲切对比Spring AI的链式调用各有千秋。B. 强大的工具调用Component public class WeatherService { Tool(description 查询指定城市的天气) public String getWeather(P(城市名称) String city) { return weatherApi.get(city); } }C. 多模型支持LangChain4j支持20个LLM提供商、30个向量数据库是Java生态中集成最广泛的框架。4.4 优缺点分析优点功能最丰富RAG/Agent能力最强模块化设计按需引入依赖无框架依赖可在任何Java环境运行Spring、Quarkus、纯Java SE社区活跃迭代速度快GitHub Stars远超Spring AI缺点学习曲线较陡概念多无官方背书企业支持需自行维护缺少企业级安全沙箱等生产特性适用场景需要强大Agent和RAG能力的复杂AI应用非Spring技术栈的项目追求功能极致和架构灵活性的团队五、Spring AI AlibabaSpring AI 阿里云生态5.1 项目概况一句话定位连接阿里云AI能力与Spring生态的企业级框架Spring AI Alibaba由阿里云开源团队正是当年开源Apache Dubbo和Spring Cloud Alibaba的同一批人。该项目基于Spring AI构建向上做了大量抽象和功能增强于2024年9月开源。开源地址https://github.com/alibaba/spring-ai-alibaba5.2 核心架构Spring AI Alibaba的核心差异化能力是Graph多智能体框架侧重Workflow形态的工作流编排5.3 核心功能A. Graph多智能体框架StateGraphMyState graph new StateGraph(MyState.class) .addNode(analyze, new LlmNode()) .addNode(search, new ToolNode()) .addNode(confirm, new HumanNode()) .addConditionalEdge(analyze, condition) .build();B. MCP Gateway零代码转换存量应用Spring AI Alibaba MCP Gateway基于Nacos提供的MCP server registry实现将Nacos中注册的服务信息转换成MCP协议的服务器信息无需对原有业务代码进行改造。C. 企业级生态集成DashScope集成通义千问系列模型原生支持Nacos MCP Registry支持MCP Server分布式部署与负载均衡Higress AI网关提供模型代理、流量管控ARMS可观测性自动埋点兼容OpenTelemetry5.4 优缺点分析优点深度集成阿里云生态国内开发者友好Graph工作流编排能力强适合企业级业务场景MCP Gateway实现零代码存量应用转换与Spring生态无缝集成缺点与阿里云服务耦合较重需Java 17社区规模相对较小适用场景阿里云技术栈的企业需要工作流编排的复杂业务系统对数据安全有要求、需要私有化部署的场景六、AgentScope-Java企业级多智能体框架6.1 项目概况一句话定位阿里巴巴通义实验室开源的面向企业级生产部署的多智能体框架AgentScope-Java于2025年12月正式发布1.0版本是阿里通义实验室在Python版AgentScopeGitHub 1.5w stars基础上推出的Java版本。开源地址https://github.com/modelscope/agentscope-java6.2 核心架构AgentScope-Java采用ReActReasoning-Acting范式作为核心架构这是一种推理与行动相结合的智能体模式6.3 核心功能A. ReAct范式原生支持AgentComponent public class OrderRefundAgent { ReasonStep public Plan reason(UserRequest request) { // LLM生成任务计划查订单→验风控→执行退款 } ActStep public ActionResult act(Plan plan) { // 调用工具执行 } }B. 安全沙箱机制AgentScope-Java提供了开箱即用的安全沙箱文件系统隔离仅允许读写/tmp/agentscope/{agentId}/目录网络访问控制通过白名单控制可调用的内部API高危操作隔离Shell/Python脚本在Docker容器中执行C. 多智能体协作A2AAutowired private AgentClient agentClient; public void handleRefund(String orderId) { RiskAssessmentAgent riskAgent agentClient.find(risk-assessment); boolean safe riskAgent.evaluate(orderId); if (safe) { FinanceAgent finance agentClient.find(finance-agent); finance.refund(orderId); } }6.4 优缺点分析优点原生支持多智能体协作和A2A协议内置安全沙箱适合金融、政务等高安全场景可观测性强支持断点调试、状态回放、人工介入阿里云通义实验室官方支持缺点需Java 17社区尚在成长中文档相对较少适用场景金融、政务等安全合规要求严格的场景需要多个智能体协同工作的复杂业务企业级生产环境AI应用七、Semantic Kernel微软的AI编排框架7.1 项目概况一句话定位微软出品的AI应用编排框架支持多语言.NET、Python、JavaSemantic Kernel是微软在2024年推出的AI框架采用独特的Kernel编排理念。开源地址https://github.com/microsoft/semantic-kernel7.2 核心架构Semantic Kernel的核心是Kernel对象它充当所有模型、插件、工具和内存存储的编排器public class MathPlugin implements SKPlugin { DefineSKFunction(description Adds two numbers) public int add(int a, int b) { return a b; } } // 创建Kernel Kernel kernel Kernel.builder() .withAIService(OpenAIChatCompletion.class, chatService) .withPlugin(plugin) .withMemoryStorage(memoryStore) .build(); // 执行 KernelFunctionString prompt KernelFunction.fromPrompt(Some prompt...).build(); FunctionResultString result prompt.invokeAsync(kernel) .withToolCallBehavior(ToolCallBehavior.allowAllKernelFunctions(true)) .block();7.3 核心功能Kernel编排统一管理所有AI组件插件化工具通过DefineSKFunction注册工具内存存储支持向量数据库集成Azure深度集成Azure Cognitive Search、Azure OpenAI、Azure Active Directory无缝集成7.4 优缺点分析优点微软官方支持与Azure生态深度集成Kernel概念统一编排适合复杂工作流支持Project Reactor适合响应式应用缺点Java版本功能相对不完整图像生成、语音等能力在Python/.NET中更完善社区较小约30名贡献者功能迭代慢无Spring Boot Starter集成需手动配置强依赖Project Reactor对非响应式项目有额外复杂度适用场景微软Azure技术栈的项目需要复杂AI工作流编排的场景响应式编程应用八、五大框架对比总结8.1 功能矩阵对比维度Spring AILangChain4jSpring AI AlibabaAgentScope-JavaSemantic Kernel设计理念轻量集成模块化组装Workflow编排Agentic优先Kernel编排Spring集成⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Agent能力⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐RAG能力⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐多智能体❌⚠️ 需自行实现✅✅ 原生支持❌安全沙箱❌❌❌✅ 内置❌工具调用✅✅✅✅✅可观测性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐学习曲线平缓中等中等中等较陡版本要求JDK 17JDK 8JDK 17JDK 17JDK 178.2 如何选择框架8.3 场景化选型建议场景1Spring Boot标准企业应用推荐Spring AI 理由生态一致配置简单快速集成基础AI能力场景2需要复杂Agent和RAG的应用推荐LangChain4j 理由功能最丰富AiService声明式开发灵活组装组件场景3阿里云技术栈企业推荐Spring AI Alibaba 理由深度集成阿里云服务MCP Gateway零代码转换Graph工作流编排场景4金融、政务等高安全场景推荐AgentScope-Java 理由内置安全沙箱多智能体协作可观测性强适合生产部署场景5微软Azure生态项目推荐Semantic Kernel 理由微软官方支持Azure服务深度集成总结Java生态的AI框架经过两年发展已经形成了清晰的格局Spring AI是Spring生态的官方选择优雅但Agent能力有待加强LangChain4j是功能最强大的模块化工具包社区活跃是Java AI的事实标准Spring AI Alibaba将阿里云生态与Spring AI结合提供Workflow编排能力AgentScope-Java是阿里通义实验室的企业级多智能体框架内置安全沙箱适合生产部署Semantic Kernel是微软的AI编排框架与Azure生态深度绑定最新趋势很多团队开始采用混合模式——使用Spring Boot作为基础框架引入LangChain4j的AiService来利用其强大的RAG和Agent能力两者并不互斥。 欢迎加入小哈的星球你将获得:专属的项目实战多个项目 / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论新项目《Spring AI 项目实战》正在更新中..., 基于 Spring AI Spring Boot 3.x JDK 21;《从零手撸仿小红书微服务架构》 已完结基于 Spring Cloud Alibaba Spring Boot 3.x JDK 17..., 点击查看项目介绍演示地址http://116.62.199.48:7070/《从零手撸前后端分离博客项目全栈开发》2期已完结,演示链接http://116.62.199.48/;专栏阅读地址https://www.quanxiaoha.com/column截止目前累计输出 100w 字讲解图 4013 张还在持续爆肝中..后续还会上新更多项目目标是将 Java 领域典型的项目都整一波如秒杀系统, 在线商城, IM 即时通讯Spring Cloud Alibaba 等等戳我加入学习解锁全部项目已有4500小伙伴加入1. 我的私密学习小圈子从0到1手撸企业实战项目~ 2. 同事一个比喻让我搞懂了 Docker 和 k8s 的核心概念 3. 字节一面Redis 和 Caffeine 的区别是什么 4. 从夯到拉锐评13个 Java Web 框架最近面试BAT整理一份面试资料《Java面试BATJ通关手册》覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。 获取方式点“在看”关注公众号并回复 Java 领取更多内容陆续奉上。PS因公众号平台更改了推送规则如果不想错过内容记得读完点一下“在看”加个“星标”这样每次新文章推送才会第一时间出现在你的订阅列表里。 点“在看”支持小哈呀谢谢啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2469903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…