企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Spring AI 项目介绍

wudianyun 2025-08-03 08:52:43 精选文章 3 ℃

Spring AI 是一个为开发 AI 应用程序提供 Spring 友好的 API 和抽象层的项目。它将 Spring 生态系统的设计原则(如可移植性和模块化设计)应用到 AI 领域,并促进使用 POJO 作为 AI 应用程序的构建块。

核心理念

在其核心,Spring AI 解决了 AI 集成的根本挑战:将您的企业「数据」「API」「AI 模型」连接起来。

技术架构层次


快速开始(以Ollma为例) 1. 添加依赖 <dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
2. 使用 OllamaChatModel package cn.jishuba;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.ollama.api.OllamaApi;
import org.springframework.ai.ollama.api.OllamaOptions;

public class App
{
public static void main( String[] args )
{
// 指定Ollama API的地址
OllamaApi ollamaApi = OllamaApi.builder()
.baseUrl("http://localhost:11434")
.build();
// 创建Ollama聊天模型
ChatModel model = OllamaChatModel.builder()
.defaultOptions(OllamaOptions.builder()
.model("qwen2.5:latest")
.build())
.ollamaApi(ollamaApi)
.build();
// 创建聊天客户端
ChatClient chatClient = ChatClient.builder(model)
.build();
String response = chatClient.prompt()
.user("你好,讲个关于Java的笑话")
.call()
.content();
System.out.println(response);
}
}

整体架构

主要功能模块

1. AI 模型支持

支持的模型类型

  • 「聊天完成」 (Chat Completion)
  • 「嵌入」 (Embedding)
  • 「文本转图像」 (Text to Image)
  • 「音频转录」 (Audio Transcription)
  • 「文本转语音」 (Text to Speech)
  • 「内容审核」 (Moderation)

支持的提供商



2. 向量数据库支持

支持的向量数据库



3. 核心功能组件

ChatClient API

  • 流式 API,类似于 WebClient 和 RestClient
  • 支持同步和异步调用
  • 内置对话记忆管理
  • 支持 RAG (检索增强生成)

Advisors API

  • 封装常见的生成式 AI 模式
  • 转换发送到/从语言模型的数据
  • 提供跨不同模型的可移植性

工具/函数调用

  • 允许模型请求执行客户端工具和函数
  • 访问实时信息
  • 扩展 AI 应用的功能边界

观测性

  • 提供 AI 相关操作的洞察
  • 监控模型性能和使用情况
  • 集成 Spring Boot Actuator

4. 数据处理

ETL 框架

  • 文档注入 ETL 框架
  • 数据工程支持
  • 文档读取器:
  • jsoup-reader - HTML 解析
  • markdown-reader - Markdown 文档
  • pdf-reader - PDF 文档
  • tika-reader - 多格式文档

结构化输出

  • AI 模型输出到 POJO 的映射
  • 类型安全的响应处理

模块关系图


主要特性

可移植性

  • 统一的 API 抽象,轻松切换不同的 AI 提供商
  • 标准化的配置方式

Spring 集成

  • 完整的 Spring Boot 自动配置
  • 依赖注入支持
  • Spring 生态系统兼容

可扩展性

  • 模块化设计,按需选择组件
  • 插件式架构,易于扩展

企业级

  • 完整的观测性支持
  • 错误处理和重试机制
  • 生产就绪的特性

多语言支持

  • 不仅限于 Python 开发者
  • Java 生态系统的完整支持

总结

Spring AI 为 Java 开发者提供了一个强大、灵活、易于使用的 AI 应用开发框架。通过其模块化设计和 Spring 生态系统的深度集成,开发者可以快速构建生产级的 AI 应用程序,同时保持代码的可维护性和可扩展性。

无论您是要构建聊天机器人、知识问答系统、还是复杂的 AI 工作流,Spring AI 都为您提供了必要的工具和抽象层,让您专注于业务逻辑的实现,而不是底层的 AI 模型集成细节。

最近发表
标签列表