自从AI火起来之后,大模型一个接一个的出现,所有的语言、工具、产品似乎都能蹭一蹭大模型的热度。
很多大模型都是 Python 实现的,假设你要玩一玩各种问答模型、文生图模型、文字转语音模型,你会发现基本上都是以 Python 为入口的。
还有很多技术博主发表「在AI的帮助下,2小时上线xxx付费产品,MRR xx 千刀」诸如此类的消息,一看背后的技术 JavaScript 一把梭,前端 js ,后端 nodejs 。
还有说:在大模型的帮助下,简单的代码可以由AI快速时间,省下的时间可以做性能优化,那些性能查的工具链、客户端可以由性能更好的 Rust 来重写了,这不,Rust 也算蹭上了。
最近,看到有开发者用 Claude.ai 设计个人简历和社交名片,一看开发者是某 Lisp 大佬,而且 prompt 也是用 Lisp 格式写的伪代码,格式确实很清晰。有评论称,原来 Lisp 才是 AI Prompt 的最终归宿。
而 Java 这边呢,好像就是一堆简单的逻辑代码,貌似只有等着被替代的份儿了。
当然了,在目前看来,这肯定还算是危言耸听,哪儿那么容易轻易就被替代,对吧?
国外和国内两大 Java 技术推动者都推出 Spring AI 框架,分别是 Spring 社区的 Spring-ai 和 阿里巴巴的 Spring AI Alibaba,这两个框架都是为了方便开发者在 AI 场景下的开发。
虽然做不了AI 的核心,但是也要抢占入口不是。
Spring-ai
官方仓库:https://github.com/spring-projects/spring-ai
Spring 社区出品,目前 star 数2.9k。
Spring AI 是一个人工智能工程应用框架,旨在将 Spring 生态系统的设计原则如可移植性和模块化设计应用于人工智能领域,推动以 POJOs 作为应用构建块。它支持多种 AI 模型提供商的聊天、文本转图像和嵌入模型,具有可移植的 API、新颖的向量存储 API、自动配置和启动器、函数调用功能、ETL 数据工程框架以及丰富的文档和示例。
图片
支持众多 AI 提供商的聊天、文本转图像和嵌入模型,包括 Amazon Bedrock、Anthropic、OpenAI 等。还支持访问数千个模型,如 HuggingFace 上的模型。
如果你看过 OpenAI 的官方文档,会发现它有问答、文生图、文字转语音等等各种各样的上百个接口。其他的模型也差不多是这个数量,如果一个应用要接入多个 AI 模型,光实现接口就得花上很多时间。有了 Spring AI ,相当于帮我们封装了一层,只要配置上参数后,就可以用统一的标准调用各个大模型了。
如果你的产品是选用 Java 技术栈的,并且要做出海的话,选择 Spring AI 能节省不少时间。
Spring AI Alibaba
官方仓库:https://github.com/alibaba/spring-ai-alibaba
这是阿里刚刚发布的,是一款 Java 语言实现的 AI 应用开发框架,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。Spring AI Alibaba 基于 Spring AI 开源项目构建,默认提供阿里云基础模型服务、开源及商业生态组件的集成与最佳实践。
图片
核心能力如下:
- 开发复杂 AI 应用的高阶抽象 Fluent API -- ChatClient
- 提供多种大模型服务对接能力,包括主流开源与阿里云通义大模型服务(百炼)等
- 支持的模型类型包括聊天、文生图、音频转录、文生语音等
- 支持同步和流式 API,在保持应用层 API 不变的情况下支持灵活切换底层模型服务,支持特定模型的定制化能力(参数传递)
- 支持 Structured Output,即将 AI 模型输出映射到 POJOs
- 支持矢量数据库存储与检索
- 支持函数调用 Function Calling
- 支持构建 AI Agent 所需要的工具调用和对话内存记忆能力
- 支持 RAG 开发模式,包括离线文档处理如 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 检索
如果你的AI产品是 Java 技术栈,而且采用国内大模型的,尤其是使用阿里通义千问的,使用Spring AI Alibaba可以节省不少时间。