一、概述
Spring AI 是一款专注于人工智能工程的应用框架。该框架致力于将Spring生态系统的可移植性与模块化设计等核心理念融入人工智能领域,并提倡在该领域采用纯Java对象(POJOs)作为应用程序的基础构建单元。
Spring AI 的核心使命在于解决人工智能集成领域的根本性挑战:将企业数据及API与人工智能模型无缝连接。
二、特性
Spring AI 提供以下核心功能:
-
多模型提供商支持,全面兼容主流AI服务商(Anthropic、OpenAI、Microsoft、Amazon、Google、Ollama),支持的模型类型包括:
- 对话补全
- 向量嵌入
- 文生图
- 语音转录
- 文生语音
- 内容审核
-
跨平台可移植API,提供同步与流式API的统一接口,支持跨AI服务商的无缝切换,同时保留各模型的特有功能访问能力。
-
结构化输出 支持将AI模型输出自动映射至POJO对象。
-
向量数据库生态 兼容所有主流向量数据库(Apache Cassandra、Azure Vector Search、Chroma、Milvus、 MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、Weaviate)。
-
统一向量存储接口 提供跨数据库的可移植API,包含创新的类SQL元数据过滤接口。
-
工具函数调用 支持模型端触发客户端工具函数执行,实时获取必要信息。
-
可观测性体系 提供AI操作的全链路监控洞察。
-
文档注入ETL框架 为数据工程提供文档处理管道。
-
模型评估机制 提供内容生成质量评估工具,有效规避幻觉响应。
-
流式对话API 采用与WebClient/RestClient同源的流畅式API设计,实现与AI对话模型的交互。
-
智能顾问API 封装通用生成式AI模式,优化LLM输入输出数据处理,确保跨模型与用例的可移植性。
-
记忆增强与RAG 支持对话记忆存储与检索增强生成技术。
-
Spring Boot开箱即用 通过start.spring.io快速配置所有AI模型与向量存储依赖,提供自动化配置与启动器支持。
三、快速开始
您只需几个简单步骤即可开始:
-
创建Spring Boot应用* 通过Spring Initializr创建含Spring AI OpenAI启动器依赖的Web应用(您可在该页面选择所需的所有AI模型与向量存储组件)
-
配置API密钥 在
application.properties文件中添加:spring.ai.openai.api-key=<YOUR OPENAI KEY>
3.在您的SpringAiDemoApplication类中添加以下代码片段:
@Bean
public CommandLineRunner runner(ChatClient.Builder builder) {
return args -> {
ChatClient chatClient = builder.build();
String response = chatClient.prompt("Tell me a joke").call().content();
System.out.println(response);
};
}
4.运行应用
./mvnw spring-boot:run