当前位置: 首页 > news >正文

理解Spring AI Message API

理解Spring AI Message API

c547cc89-81ad-4f54-b057-213ac86157ce

要理解这张 Spring AI Message API 的类图,我们可以从核心组件、继承关系、功能划分三个维度逐一拆解:

1. 图例与基础概念

左上角的图例说明:

  • 箭头表示继承关系IS A)或聚合关系HAS A);
  • 矩形框代表类(CLASS)

2. 核心组件:Message 体系的分层

整个 API 围绕「消息(Message)」展开,分为内容层、消息类型层、具体消息实现层

(1)内容层:ContentMediaContent

  • Content

    是文本内容的核心载体,包含两个方法:

    • getContent():获取主要文本内容;
    • getMetadata():获取可选的元数据(以键值对 Map 形式存储)。
  • MediaContent

    处理多模态输入(如图片、音频等),通过getMedia()方法获取Media集合。

(2)消息基类:AbstractMessage

它是所有具体消息的抽象父类,继承自 Content,封装了通用属性:

  • textContent:文本内容;
  • messageType:消息类型(关联 MessageType 枚举);
  • metadata:元数据。

(3)消息类型枚举:MessageType

定义了四种消息角色,是 AbstractMessage 的类型标记:

  • SYSTEM:系统消息(用于配置 AI 行为);
  • USER:用户消息(用户输入);
  • ASSISTANT:助手消息(AI 输出);
  • TOOL:工具消息(工具调用或工具返回结果)。

(4)具体消息实现:四种子类

每个子类对应一种 MessageType,并扩展了专属功能:

  • SystemMessage

    类型固定为 SYSTEM,用于传递系统级指令(如 AI 的人设、规则)。

  • UserMessage

    类型固定为 USER,支持多模态输入 —— 通过 media() 方法关联 Media 集合(如用户发送的图片)。

    • Media

      表示多媒体附件,包含:

      • getMimeType():多媒体类型(如 image/png);
      • getData():多媒体数据(可以是原始数据或资源 URL)。
  • AssistantMessage

    类型固定为 ASSISTANT,支持工具调用—— 通过 toolCalls 关联 ToolCall 集合。

    • ToolCall

      表示对外部工具的调用,包含:

      • id:调用唯一标识;
      • type:工具类型;
      • name:工具名称;
      • arguments:调用参数。
  • ToolResponseMessage

    类型固定为 TOOL,承载工具返回结果—— 通过 responses 关联 ToolResponse 集合。

    • ToolResponse

      表示工具的返回数据,包含:

      • id:与 ToolCall 对应的标识;
      • name:工具名称;
      • responseData:工具返回的具体数据。

3. 整体流程逻辑

结合这些组件,Spring AI 的消息流转可以理解为:

  1. 用户侧:通过 UserMessage 发送文本或多媒体(Media);
  2. 系统侧:通过 SystemMessage 配置 AI 行为;
  3. AI 侧:通过 AssistantMessage 生成响应,若需要工具调用则生成 ToolCall
  4. 工具侧:执行调用后,通过 ToolResponseMessage 返回 ToolResponse
  5. AI 侧:基于工具结果继续生成最终响应(AssistantMessage)。

这张图清晰地展现了 Spring AI 中「消息」的分层设计和角色分工,帮助开发者理解不同类型消息的职责与交互逻辑。

http://www.rkmt.cn/news/53215.html

相关文章:

  • 2025年眼镜护理液批发厂家权威推荐榜单:硬性隐形眼镜护理液/隐形眼镜护理液/硬镜护理液源头厂家精选
  • 2025北京专门做马来西亚留学机构
  • 2025年lora传感器定做厂家权威推荐榜单:lora组网/lora通信/lora网关源头厂家精选
  • 2025年房梁装修生产商权威推荐:房梁定制厂家/房梁打孔/房梁装饰源头厂家精选
  • AI元人文价值原语化理论体系深度研究报告
  • javascript的版本
  • 2025 滑轨品牌口碑排行榜:权威测评!炬森五金登顶,6 大热门品牌实力对决
  • 基于深度学习计算机视觉的风格迁移高效的技术原理与经典完成解析
  • 2025 年 11 月热电偶厂家推荐排行榜,热电偶感温线,针式热电偶,扣式热电偶,高精度测温设备公司推荐
  • 2025 年 11 月电热管厂家推荐排行榜,不锈钢/单头/空气干烧/浸入式/分流板/热流板/翅片/铁氟龙/工业电热管,电热圈,半导体电热,反应釜电热公司推荐
  • MATLAB实现高光谱分类算法
  • 2025年苏州地区PLC控制柜生产厂家深度推荐
  • Spring Boot 实现 DOCX 转 PDF(基于 docx4j 的轻量级开源方案) - 教程
  • 逻辑芯片 - 电子开关
  • 2025 最新压花辊源头厂家权威推荐榜:国际协会测评认证,覆盖多材质适用场景的品质厂商精选布料压花辊 / 木材压花辊 / 真皮压花辊 / 铝膜压花辊 / 珍珠棉压花辊 / 薄膜压花辊公司推荐
  • CPP 格式化文件 .clang-format
  • 通过SSH转发端口
  • CVPR 2024 目标检测!开放词汇
  • linux apache 解析php
  • linux apache 的日志
  • 权威发布:2025年度MES系统综合排名,聚焦实用功能与选型避坑指南
  • 2025年遗产继承咨询律师权威推荐榜单:遗产继承/婚姻诉讼/财产纠纷律师精选
  • 2025年11月合肥抗衰老公司排名情况
  • LINUX在线扩文件系统(/目录)
  • 18new - when
  • linux apache 服务器搭建
  • 2025杭州最好的留学中介是哪家公司
  • 2025年11月国内PMS酒店管理系统公司排行榜:智能化升级的十大优选方案
  • 687
  • 视频汇聚平台EasyCVR构筑新时代边防哨所的“智能视觉防线”