重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。

image.png

本文作者系阿里云云原生微服务技术负责人,Spring AI Alibaba 发起人彦林,望陶和隆基对可观测和 RocketMQ 部分内容亦有贡献。


摘要


随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。


因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。


01 应用框架发展趋势


应用架构历经了单体架构、LAMP 架构、SOA 架构、微服务架构、云原生架构。


下图左边是典型的云原生应用架构,采用了容器 、微服务和声明式 API 技术。其中,微服务按照业务模块进行拆分,架构做无状态改造,将存储下沉到数据库;微服务跑在容器上进行按量伸缩,从而把研发效率和运维发挥到极致。

image.png

右图的 AI 原生应用架构,则是基于大模型(大脑),Agent 驱动(手脚)进行构建。其中,Agent 有三个架构原则:


  • API First,开放协同:OpenAI 作为全球最大售卖 API 公司,通过 API 快速构建了生态和营收,加速创新,大模型企业无不例外通过 API 来向外提供服务。
  • 事件驱动,提升吞吐:不同于经典应用,大模型处理速度慢,长链接流式推送消耗大,因此需要消息解耦,提升吞吐。
  • AIOps,一键诊断:相比经典应用,大模型失败率更高,定位难度更大,因此需要更智能的诊断工具。


AI Agent 框架发展趋势

AI Agent 的发展大致可以分为以下 3 个阶段:


  • 第一阶段:2022 年 ,ChatGPT 3.0 发布,震惊世界,但是当时数据幻觉,数据质量,数据格式问题非常多,很快行业推出了 LangChain 试图来解决这些问题;但是随着模型能力的增强,原有的问题逐步得到解决,但是由于大模型迭代迅速,Langchain 的过度封装,反而没有减少工程师们的代码量,额外带来了复杂度。
  • 第二阶段:2023 年,随着 ChatGPT 4.0 / LIama 3.0 / Qwen 2.5 的推出,模型能力进一步提升,早期提示词的价值逐步弱化,LlamaIndex 因其更简单的体系抽象,更加符合当前的需求。
  • 第三阶段:2024 年,随着多模态发展,模型能力持续突破,在过去的两年框架以 Python 为主,但是对于中国 42.9% 的 Java 开发者会选择是什么来构建 AI 应用呢?写 Python?写 Java 版 Langchain / LlamaIndex ?还是基于 Spring 体系进行构建?

image.png

02 Spring AI Alibaba 重磅发布


随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,它们为 Python 开发者提供了方便的 API 抽象。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发,一步迈入 AI 原生时代。

image.png

同时,我们发布了配套组件,更完整的帮助 Java 开发者简化 AI 应用的开发。


  • Higress:作为 AI 网关,支持多模型适配、流式输出、请求/Tokens 限流防护、长连接无损热更新,支持最小请求数负载均衡,并借助丰富的 AI 插件,帮助开发者零代码构建 AI 应用,守住安全合规底线。
  • OTel:基于开源 Open Telemetry Python SDK 进行了扩展,发布可观测探针,为 GenAI 应用可观测而生,能自动获取大模型调用各个阶段的数据,全面提升 LLM 应用的可观测性。
  • Apache RocketMQ:支持主动 POP 消费模式,自适应负载均衡,动态消费超时时长,适应不同算力消耗的请求,实时数据驱动 RAG 架构,提升吞吐量和实时性。
  • Nacos Python SDK:提升灵活性,动态调整提示词模版、算法、相关度等参数。


这一套开源矩阵具备“自用、开源、商业”三位一体的优势,包括:


  • 阿里内部大规模验证,通义 / PAI / 百炼长期打磨。
  • 具备完整的生态和组件,覆盖应用开发的主链路。
  • 支持主流大模型,低代码、甚至无代码构建企业级 AI 应用。
  • 深度集成阿里云百炼、云原生应用开发平台 CAP,开箱即用。


Spring AI Alibaba 已完整提供 Model、Prompt、RAG、Tools 等 AI 应用开发所需的必备能力,将兼具提示词模板、函数调用、格式化输出等低层次抽象,以及 RAG、智能体、对话记忆等高层次抽象。


项目地址:https://github.com/alibaba/spring-ai-alibaba

image.png

Higress:零代码构建 AI 应用

我们可以很快构建 AI 应用,但是如何确保上线后不出问题呢?


  • 相比 Web 应用,LLM 应用的内容生成时间更长,对话连续性对用户体验至关重要,如何避免后端插件更新导致的服务中断?Higress 使用 Envoy 作为数据面,对网关配置、和连接无关的配置做了合理抽象,并通过 WASM 插件形式实现了热更新,避免后端插件更新导致的服务中断。
  • 相比传统 Web 应用,LLM 应用在服务端处理单个请求的资源消耗会大幅超过客户端,来自客户端的攻击成本更低,后端的资源开销更大,如何加固后端架构稳定性?Higress 提供了 Token 流控能力,并且集成 WAF 插件,在入口建立安全防线。
  • 不同于传统 Web 应用基于信息的匹配关系,LLM 应用生成的内容则是基于人工智能推理,如果保障生产内容的合规和安全?例如近期有两家公司因为内容合规问题导致股市大跌,Higress 通过滤网插件,帮助用户在流量入口处守住了合规底线。
  • 当接入多个大模型 API 时,如何屏蔽不同模型厂商 API 的调用差异,来提升单一大模型的调用失败率?Higress 提供了 AI Proxy 插件,构建高可用 AI 服务,如通义 2.5 失败,Failover 到通义 2.0;或者自建大模型失败,Failover 到通义模型等。


此外,为了解决 RT 问题,Higress 在入口构建缓存(对接 Redis),RAG 能力(对接向量数据库),降低 RT,降低了大模型的调用成本。

image.png

OTel:提升大模型应用可观测性

大模型失败率较高,数据幻觉需要检测,对输出进行评估等。为了解决这个挑战,我们基于 OTel Python 探针构建了阿里云 OTel python 发行版,增加了常见的大模型的埋点,以更好的观测和大模型的交互过程,预计在 9 月正式上线。


在构建的过程中我们也看到 OTel 社区正在讨论中的 GenAI 语义约定,因此我们的发行版也严格的遵循了最新 GenAI 语义约定,同时支持了常见的大模型框架例如 LlamaIndex,Langchain,PromtFlow 以及通义千问 2,OpenAI 等大模型。


在社区 GenAI 规范的基础上,我们还增加了额外的精细化的埋点和 Attribute,能够观测到更加细节的交互过程,包括支持 session_id 在多个 traceId 之前进行传播,以方便在一个会话中关联多个调用链。有了这些埋点之后,客户可以方便的在专属大模型视图中查看与大模型交互的信息,包括各种 RAG 的过程,调用大模型的入参出参,消耗的 token 等等,这些增强我们也计划贡献给社区。

image.png

Nacos:提升 Agent 灵活性

模型上线后,我们为了不断提升效果,需要不断优化各种参数和配置。传统做法是改一个参数就重启发布一次;这样效率低下,且发布对业务业务流量有损。


因此,我们把提示词模版/相关的参数存储在在 Nacos 配置中心,通过动态配置可以实时修改,无需重启就能发布应用;为了满足安全合规要求,把对大模型调用过程中定义的脱敏规则、密钥,以及数据源外置到 Nacos 配置中心;最后,为了提升模型的稳定性,需要做好 A/B 测试,可以把模型版本、参数、流控规则,也存储在 Nacos 配置中心。


可见,通过 Nacos 可以大幅提升 Agent 的灵活性。

image.png

Apache RocketMQ:提升 AI 应用吞吐量和实时性

在推理场景,私域数据向量化后,提供给 AI 应用搜索增强,但是这个模式私域数据不能及时更新,为了提升整体链路实时性,可以通过事件流集成关键事件,实时 Embedding 向量数据库、更新私有数据存储,全面提升 AI 应用实时性、个性化和准确度。


AI 原生应用请求往往耗时过久,全面采用同步调用会使得系统性能急剧恶化,响应慢,影响客户体验。通过引入RocketMQ 事件驱动架构、解耦快慢服务,能显著提升性能和体验。面临 AI 应用请求耗时方差大,资源消耗不均匀的特点,RocketMQ 支持主动 Pop 消费模式,动态消费超时时长,能够实时结合模型实例负载和推理请求特点,自适应负载均衡。

image.png

03 Java AI 开发框架的落地&实践


相信通过上面的介绍,大家对于构建生成式 AI 应用已经跃跃欲试了,但是选择哪些场景投入产出比较高呢?下面简单分享一下我们的思路。


AI 落地场景

是不是所有的业务都能用 AI 解决呢?目前看不是的。那 AI 适合做什么场景呢?目前看,适合容错性高、结构化强的场景。


我们在做开源社区的时候发现社区的 Issue 非常多,但是无法响应开发者需求,因此我们想如果构建一个 AI 答疑专家,帮助开发者解决场景问题,构建新型开源社区协作模式,这个就非常有价值。


因此我们落地第一个场景是 AI 答疑专家,解决开源社区答疑问题,提升开源社区活跃度。

image.png

AI 技术选型

我们在技术上有三个技术选型 :Prompt / RAG / 微调。


  • Prompt:效果略有提升,但是不能带来本质改变;
  • 微调:成本比较高,我们的数据还不断迭代过程中无法承受;
  • RAG:无论是成本、效果,还是可持续迭代性,都是目前最高投入产出比模式,因此我们采用了 RAG 为主的技术方案。

image.png

AI 应用实践

AI 答疑专家-实践

AI 答疑专家基于百炼的通义 2.5 模型,将开源文档、电子书、常见问题灌入百炼数据中心,进行了向量化;通过 Spring AI Alibaba 对接通义模型和 RAG 能力,搜索到了 TOP3 的相关度信息,进行压缩提炼。并通过 Higress 将服务发布到开源官网和钉钉机器人,在入口构建安全合规防线。最后通过 AI 答疑专家不断与开发者沟通,收集反馈。通过 Chat-Admin 处理反馈差的信息,补充文档,优化数据。

image.png

AI 答疑专家-落地效果

落地效果非常显著,开源官网的流量提升了 20%,人工答疑成本降低 20%,准确率可达 90%+,并且完成了私域数据、AI 专家反馈机制、人工订正的正循环。

image.png

AI 答疑专家-AIPaaS 雏形

最后我们构建了 AI 行业专家解决方案,沉淀了 AIPaaS 的雏形,以模型未核心,Agent 驱动,充分挖掘私域数据,打造行业 AI 专家!

image.png

未来,我们将提供 Spring AI Alibaba 和阿里巴巴整体开源生态的深度适配,包括 Prompt Template 管理、事件驱动的 AI 应用程序、更多 Vector Database 支持、函数计算等部署模式、可观测性建设、AI 代理节点开发能力,如绿网、限流、多模型切换和开发者工具集,旨在构建业内最完整的 AI 驱动的 Java 开发框架生态。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
DiffSensei:AI 漫画生成框架,能生成内容可控的黑白漫画面板,支持多角色和布局控制
DiffSensei 是一个由北京大学、上海AI实验室及南洋理工大学共同推出的AI漫画生成框架,能够生成可控的黑白漫画面板。该框架整合了基于扩散的图像生成器和多模态大型语言模型(MLLM),支持多角色控制和精确布局控制,适用于漫画创作、个性化内容生成等多个领域。
69 18
DiffSensei:AI 漫画生成框架,能生成内容可控的黑白漫画面板,支持多角色和布局控制
|
5天前
|
机器学习/深度学习 人工智能
Leffa:Meta AI 开源精确控制人物外观和姿势的图像生成框架,在生成穿着的同时保持人物特征
Leffa 是 Meta 开源的图像生成框架,通过引入流场学习在注意力机制中精确控制人物的外观和姿势。该框架不增加额外参数和推理成本,适用于多种扩散模型,展现了良好的模型无关性和泛化能力。
39 11
Leffa:Meta AI 开源精确控制人物外观和姿势的图像生成框架,在生成穿着的同时保持人物特征
|
5天前
|
机器学习/深度学习 人工智能 算法
AI框架的赢者法则:生态繁荣的昇思MindSpore,成为大模型时代的新选择
2024年被视为大模型应用的元年。昇思MindSpore AI框架凭借其强大的开源社区和技术创新,在全球范围内迅速崛起。截至2024年11月,该框架的下载量已超过1100万次,覆盖130多个国家和地区的2400多个城市,拥有3.7万名贡献者。昇思MindSpore不仅在人才培养和社区治理方面表现出色,还在大模型的开发、训练和应用中发挥了关键作用,支持了50多个主流大模型,覆盖15个行业。随着其市场份额预计达到30%,昇思MindSpore正逐步成为行业共识,推动大模型在各领域的广泛应用。
32 12
|
3天前
|
人工智能 计算机视觉
幻觉不一定有害,新框架用AI的幻觉优化图像分割技术
在图像分割领域,传统方法依赖大量手动标注数据,效率低下且难以适应复杂场景。为解决这一问题,研究人员提出了“任务通用可提示分割”方法,利用多模态大型语言模型(MLLM)生成实例特定提示。然而,MLLM常出现幻觉,影响分割精度。为此,研究团队开发了“Prompt-Mask Cycle”(ProMaC)框架,通过迭代生成和验证提示及掩码,有效利用幻觉信息,提高了分割精度和效率。实验结果表明,ProMaC在多个基准数据集上表现出色,为图像分割技术的发展提供了新思路。
15 6
|
5天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
24 5
|
3天前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 框架之争
本文介绍了AI框架在数学上对自动微分的表达和处理,以及其在多线程算子加速、GPU/NPU支持、代码编译优化等方面的技术挑战。文章详细梳理了AI框架的发展历程,从萌芽阶段到深化阶段,探讨了不同阶段的关键技术和代表性框架。同时,文章展望了AI框架的未来趋势,包括全场景支持、易用性提升、大规模分布式支持和科学计算融合。
21 0
|
SpringCloudAlibaba 网络协议 Cloud Native
Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)
Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。
8686 2
Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)
|
Java Nacos Sentinel
Spring Cloud Alibaba学习指南
由于在2018年Netflix公司宣布对其核心组件Hystrix、Ribbon、zuul、Eureka等进入维护状态,也就是Spring Cloud Netflix系列。由此Spring Cloud Alibaba就诞生了,值得注意的是Spring Cloud Alibaba完全兼容了Spring Cloud Netflix中的Ribbon、Feign、Eureka等组件,所以基于Spring Cloud Netflix的项目可以无缝迁移到Spring Cloud Alibaba。
560 0
|
敏捷开发 运维 资源调度
Spring Cloud Alibaba学习之开幕
Spring Cloud Alibaba学习之开幕
|
Java Nacos Sentinel
spring coud alibaba与云服务学习
在学习分布式过程中用到spring cloud alibaba以及云服务的相关内容
下一篇
DataWorks