Spring AI常用类
Spring AI 是 Spring 生态面向生成式 AI 的官方框架,旨在让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用56。根据框架的设计,其常用类可以按照核心功能划分为以下几个主要类别:
- 核心对话与交互类
ChatClient:流式 API 的封装类,提供了流式对话、函数调用、记忆管理等高级能力,是业务开发的首选26。
ChatModel:大模型对话能力的顶层接口,定义了 call 方法,接收 Prompt 对象并返回 ChatResponse 对象,屏蔽了不同大模型的 SDK 差异24。
Prompt:用户输入的完整提示词对象,包含一个或多个 Message 对象24。
PromptTemplate:模板化提示词引擎,支持动态变量注入、多模态输入适配,可生成标准化的提示内容35。 - 消息体系类 (Message)
Message:对话消息的基础对象。根据角色不同,具体细分为:
SystemMessage:系统消息,用于定义角色、任务、约束和输出格式1。
UserMessage:用户消息,即用户的实际输入12。
AssistantMessage:AI 历史回复消息1。
FunctionMessage (Tool消息):工具调用的结果消息12。
ChatResponse:大模型返回的完整响应对象,包含生成的文本、Token 消耗、结束原因等信息24。 - RAG(检索增强生成)相关类
EmbeddingClient (EmbeddingModel):将文本、图像等非结构化数据转换为高维向量,核心用于 RAG 检索增强场景13。
VectorStore:统一的向量数据库接口,对接各类向量库(如 PGVector、Milvus 等),提供向量的增删改查和相似检索能力13。 - 多模态处理类
ImageModel (ImageClient):接收用户文本输入,并将模型生成的图片作为输出返回(文生图)4。
AudioModel (SpeechClient):处理语音相关任务,包括文本生成语音(TTS)以及录音文件生成文字(语音转文本)34。 - 高级扩展与工具类
@Tool / @Parameter:用于定义和描述工具,支持模型请求执行客户端工具(Function Calling / 工具调用),从而访问必要的实时信息16。
Advisors API:封装了常见的生成式 AI 模式,通过装饰器模式增强对话能力,转换发送给 LLM 及来自 LLM 的数据16。
这些常用类共同构成了 Spring AI 的分层抽象架构,使得开发者只需修改配置即可在不同大模型提供商(如 OpenAI、通义千问、Ollama 等)之间无缝切换,而无需改动核心业务代码

浙公网安备 33010602011771号