核心特性
- 支持所有主流 AI 模型厂商,包括 Anthropic、OpenAI、微软、亚马逊、谷歌、Ollama 等;支持的模型类型涵盖:
对话补全(Chat Completion)
向量嵌入(Embedding)
文生图(Text to Image)
语音转文字(Audio Transcription)
文字转语音(Text to Speech)
内容合规审核(Moderation)
为各家 AI 厂商提供可移植统一 API,同步支持同步调用与流式调用,同时也可访问各模型厂商的专属特性。
结构化输出:可将 AI 模型返回结果直接映射为 Java POJO 对象。
支持所有主流向量数据库:Apache Cassandra、Azure 向量检索、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、Weaviate 等。
向量存储层提供跨厂商可移植 API,同时内置类 SQL 元数据过滤接口。
工具 / 函数调用:允许大模型主动调用客户端工具与自定义函数,按需获取实时业务数据。
可观测性:全方位监控、洞察 AI 相关运行链路与操作行为。
面向数据工程的文档注入 ETL 框架。
AI 模型评估:提供工具集,用于评估大模型生成内容、防范幻觉回答问题。
ChatClient API:流式风格接口,用于对接对话大模型,设计风格与 Spring 的 WebClient、RestClient 保持一致,符合 Spring 开发习惯。
Advisors 顾问接口:封装生成式 AI 通用经典流程,对出入大模型的数据做统一编排与处理,实现跨模型、跨业务场景的代码可移植。
原生支持会话记忆与检索增强生成(RAG)。
为所有 AI 模型和向量库提供 Spring Boot 自动配置与场景启动器,可通过 [start.spring.io](start.spring.io) 按需选择所需模型或向量库快速集成。
快速入门
创建 Spring Boot Web 应用,并引入 Spring AI OpenAI 场景启动器依赖。 可通过 Spring Initializr 链接一键生成工程(在 [start.spring.io](start.spring.io) 中可自由选择需要的任意 AI 模型、向量库)。
在
application.properties中配置 OpenAI 密钥:
spring.ai.openai.api-key=<你的 OpenAI 密钥>
在启动类
SpringAiDemoApplication中添加如下代码片段:
@Bean
public CommandLineRunner runner(ChatClient.Builder builder) {
return args -> {
ChatClient chatClient = builder.build();
String response = chatClient.prompt("讲个笑话").call().content();
System.out.println(response);
};
}运行应用:
./mvnw spring-boot:run
关键术语注解
POJO:普通 Java 对象
Portable API:可移植统一 API
Structured Outputs:结构化输出
Function Calling:函数调用 / 工具调用
Observability:可观测性
ETL:抽取、转换、加载
Hallucinated response:大模型幻觉 / 虚构回答
Fluent API:流式链式接口
Advisors:顾问拦截器(Spring AI 专属概念)
RAG:检索增强生成
Auto Configuration:自动配置
Starters:场景启动器