Spring AI常用类

Spring AI 是 Spring 生态面向生成式 AI 的官方框架,旨在让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用56。根据框架的设计,其常用类可以按照核心功能划分为以下几个主要类别:

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