目前的Java开发社区,可接入的AI主要有 Spring AI 和 Spring AI Alibaba 两个开源AI开发框架,今天我来讲讲Spring AI的功能特性及对接实战。
Spring AI简介
Spring AI是Spring官方推出的,一个面向人工智能工程的开源框架,旨在为Java开发者提供方便的AI集成能力。推广使用 POJO 作为人工智能领域应用程序的构建块,其核心是通过抽象化和模块化设计,简化AI功能的接入步骤,同时保持与Spring生态的无缝兼容。
Spring AI提供的功能:
1,支持主流的AI供应商
Spring AI支持所有主流AI模型供应商,如:OpenAI、DeepSeek、Amazon、Google 和 Ollama等,提供标准化的接口。支持的模型类型包括:
聊天模型:
Spring AI Chat Model API
提供一个简单易用的接口;
嵌入:是将文本、图像和视频转换为浮点数数组(称为向量)。这些向量旨在捕捉文本、图像和视频的含义。嵌入数组的长度称为向量的维数。
文本转图像:
Spring Image Model API
接口旨在提供一个简洁易用的可移植接口,用于与各种专门用于图像生成的AI模型 进行交互,使开发人员能够以最少的代码更改在不同的图像相关模型之间切换。
文本转语音:Spring AI 支持 OpenAI 的 Speech API。当实现更多 Speech 提供程序时,将提取一个通用
SpeechModel
的接口。的 Transcription API。
音频转录:Spring AI 支持 OpenAI 的 Transcription API。当 Transcription 的其他提供程序实现后,
AudioTranscriptionModel
将提取一个通用接口。
适度:Spring AI API 涵盖了广泛的功能,每个主要功能都有其专门的API。如:AI模型 API、矢量存储 API、工具调用API、自动配置、ETL数据工程。
2,低代码集成
通过Spring-Boot-Starter的依赖可实现快速接入,并在配置文件中配置好AI服务即可使用。
3,可移植 API 支持及结构化输出
跨 AI 提供商的可移植 API 支持,包括同步 API 和流式 API 选项。此外,还提供特定于模型的功能访问。结构化输出- AI 模型输出到 POJO 的映射。
4,功能调用及可观察性
工具/功能调用,即允许模型请求执行客户端工具和功能,从而根据需要访问必要的实时信息。并提供对 AI 相关操作的洞察。
5,流式响应
支持Flux流式输出,适用于实时聊天等场景。
Spring AI接入DeepSeek模型
1,创建Deepseek API key。
首先,需要注册并登录DeepSeek开放平台,创建API接口key,并充值后对接使用。地址: https://platform.deepseek.com/
创建完API key后,需要充值。
2,环境准备
Java环境:Java17或更高版本;
SpringBoot: Spring Boot 3.4.x
注:我的电脑上用JDK21
3,创建并配置SpringBoot项目
1),配置maven仓库
在Maven的安装目录conf下,找到setting.xml文件,添加以下仓库。
2),创建一个Springboot项目,并配置maven
在新建的项目中,File > Setting 里配置maven。
3),配置pom文件
pom中配置Springboot版本,并添加存储库定义,依赖Spring ai依赖。
4),配置yml文件
5),编写AI测试接口
6),项目启动类
7),启动项目
8),测试
总结
今天介绍了SpringBoot项目中,对Spring AI(基于DeepSeek模型)的集成接入,整个接入过程比较简单。但在测试过程中,直接输出的,输出字符串直接展示,而对于对话流输出的,我只是测试,前端没做具体的值相应截取拼接,看起来就是Response的一堆重复Json串,但不影响测试结果。
参考资料
Spring AI官方文档: https://docs.spring.io/spring-ai/reference/1.0/index.html
下期计划对Spring AI Alibaba也做对接实战,并对Spring AI和Spring AI Alibaba做综合对比,欢迎大家关注骚扰!!!