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

47_Spring AI 干货笔记之图像模型 API

一、图像模型 API

Spring 图像模型 API 旨在提供一个简单且可移植的接口,用于与专注于图像生成的各种 AI 模型 交互,使开发人员能够以最少的代码更改在不同图像相关模型之间切换。这种设计符合 Spring 的模块化和可互换性理念,确保开发人员能够快速调整其应用程序以适应与图像处理相关的不同 AI 能力。

此外,借助 ImagePrompt(用于输入封装)和 ImageResponse(用于输出处理)等辅助类的支持,图像模型 API 统一了与专注于图像生成的 AI 模型的通信。它管理了请求准备和响应解析的复杂性,为图像生成功能提供了直接且简化的 API 交互。

Spring 图像模型 API 构建于 Spring AI 通用模型 API 之上,提供了图像特定的抽象和实现。

二、API 概述

本节提供了 Spring 图像模型 API 接口及相关类的指南。

三、图像模型

以下是 ImageModel 接口定义:

@FunctionalInterfacepublicinterfaceImageModelextendsModel<ImagePrompt,ImageResponse>{ImageResponsecall(ImagePromptrequest);}

3.1 ImagePrompt

ImagePrompt 是一个 ModelRequest,它封装了 ImageMessage 对象列表和可选的模型请求选项。以下列表显示了 ImagePrompt 类的简化版本,省略了构造函数和其他实用方法:

publicclassImagePromptimplementsModelRequest<List<ImageMessage>>{privatefinalList<ImageMessage>messages;privateImageOptionsimageModelOptions;@OverridepublicList<ImageMessage>getInstructions(){...}@OverridepublicImageOptionsgetOptions(){...}// 构造函数和实用方法已省略}

3.2 ImageMessage

ImageMessage 类封装了要使用的文本以及该文本在影响生成图像时应具有的权重。对于支持权重的模型,权重可以是正值或负值。

publicclassImageMessage{privateStringtext;privateFloatweight;publicStringgetText(){...}publicFloatgetWeight(){...}// 构造函数和实用方法已省略}

3.3 ImageOptions

表示可以传递给图像生成模型的选项。ImageOptions 接口扩展了 ModelOptions 接口,用于定义一些可以传递给 AI 模型的可移植选项。

ImageOptions 接口定义如下:

publicinterfaceImageOptionsextendsModelOptions{IntegergetN();StringgetModel();IntegergetWidth();IntegergetHeight();StringgetResponseFormat();// openai - url 或 base64 : stability ai byte[] 或 base64}

此外,每个特定模型的 ImageModel 实现都可以有自己的选项,这些选项可以传递给 AI 模型。例如,OpenAI 图像生成模型有自己的选项,如质量、风格等。

这是一个强大的功能,允许开发人员在启动应用程序时使用特定于模型的选项,然后在运行时使用 ImagePrompt 覆盖它们。

3.4 ImageResponse

ImageResponse 类的结构如下:

publicclassImageResponseimplementsModelResponse<ImageGeneration>{privatefinalImageResponseMetadataimageResponseMetadata;privatefinalList<ImageGeneration>imageGenerations;@OverridepublicImageGenerationgetResult(){// 获取第一个结果}@OverridepublicList<ImageGeneration>getResults(){...}@OverridepublicImageResponseMetadatagetMetadata(){...}// 其他方法已省略}

ImageResponse 类保存 AI 模型的输出,每个 ImageGeneration 实例包含由单个提示产生的多个可能输出中的一个。

ImageResponse 类还携带一个 ImageResponseMetadata 对象,该对象保存有关 AI 模型响应的元数据。

3.5 ImageGeneration

最后,ImageGeneration 类从 ModelResult 扩展而来,表示输出响应以及与此结果相关的元数据:

publicclassImageGenerationimplementsModelResult<Image>{privateImageGenerationMetadataimageGenerationMetadata;privateImageimage;@OverridepublicImagegetOutput(){...}@OverridepublicImageGenerationMetadatagetMetadata(){...}// 其他方法已省略}

四、可用实现

为以下模型提供商提供了 ImageModel 实现:

  • OpenAI 图像生成

  • Azure OpenAI 图像生成

  • QianFan 图像生成

  • StabilityAI 图像生成

  • ZhiPuAI 图像生成

五、API 文档

您可以在此处找到 Javadoc。

六、反馈与贡献

该项目的 GitHub 讨论区 是发送反馈的好地方。

http://www.cnnetsun.cn/news/100314.html

相关文章:

  • AI率一夜飙红后,我用这套方法把论文拉回安全线(降AI率实测版)
  • vue基于springboot的基于建筑物识别的无人驾驶车辆路径规划系统
  • 启天 M 系列 Smart Power On/Fast boot 置灰?2 步解锁修改权限!
  • 告别繁琐问卷设计!百考通AI智能助手,5分钟生成专业调研问卷
  • 百考通AI:你的智能学术助手,让毕业论文写作化繁为简
  • IntelliJ IDEA 2025.3 正式发布
  • MyBatis-Flex 来了!完爆MyBatis-Plus?
  • 神经紧张素受体SORT1
  • 高盐高铵根工业废水去除重金属
  • 某211高校讲师晒工资条,网友:公积金数额令人瞩目...
  • Nature Electronics 一种用于多模态皮肤信号监测的柔性触觉接口
  • 小鼠T细胞激活:如何系统解析其发育分化与免疫功能表征?
  • 基于springboot和vue的民航飞机票务管理系统设计与实现
  • 2025年12月-2026年4月,计算机领域涵盖的前言学术会议推荐!
  • 基于单片机的智能镜子系统设计(有完整资料)
  • 国产化替代SSD的标杆之路:天硕TOPSSD以自主可控存储解决方案重塑高端工业存储格局
  • EmotiVoice本地化部署优势:数据安全与响应效率兼得
  • 【Java毕设全套源码+文档】基于springboot的数据库课程在线教学系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Java毕设全套源码+文档】基于springboot的实验室安全考试系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 基于QT(C++)实现的翻金币游戏
  • 基于 Spring·Boot和 Vue 框架的校园快递代领系统设计与实现
  • NVIDIA设置疑难杂症诊所:万字终极实战指南
  • 边缘Agent的Docker监控实践(资源利用率提升90%的秘密)
  • 揭秘Docker Scout漏洞导出功能:如何快速获取镜像安全报告
  • 【云原生Agent资源调度实战】:Docker环境下高效分配CPU与内存的5大黄金法则
  • 增长有毒?流血三闯港股!希迪智驾带病叩钟:115亿市值撑得住“白条狂欢”吗?
  • 多模态Agent性能骤降?可能是Docker网络隔离没做好(附诊断清单)
  • 为什么你的Docker镜像总被攻破?:可能是扫描频率设置错了
  • 背胶条分类识别:基于计算机视觉的修复状态差异检测与质量评估系统
  • 【新】基于SSM的高校实验室管理系统【包括源码+文档+调试】