当前位置: 首页 > 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.jsqmd.com/news/104019/

相关文章:

  • 天津滨海新区全域口碑第一!佰瑞20年专攻汉沽老房/大港海景房,装修零踩坑 - 品牌智鉴榜
  • 【Java毕设源码分享】基于springboot+小程序的宿舍管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • vue基于springboot的连锁超市销售商城 进销存员工与分析系统的设计与实现
  • 【Java毕设源码分享】基于springboot+vue的数据库课程在线教学平台设计与实现(程序+文档+代码讲解+一条龙定制)
  • 题解:qoj15309 Dumb Problem II
  • 边缘设备部署挑战:内存占用与算力需求平衡
  • 46_Spring AI 干货笔记之 ZhiPuAI 嵌入模型
  • AI语音伦理讨论:EmotiVoice的声音克隆是否安全?
  • 【Java毕设源码分享】基于springboot+vue的实验室安全考试系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2025年户县最好的全屋定制直销厂家口碑推荐榜,背景墙/铝镁合金瓦/基础/砖混/榻榻米/天沟排水/院墙/小红砖/全屋定制品牌口碑排行榜 - 品牌推荐师
  • Jenkins自动化构建与CI/CD流水线实战
  • 【Java毕设源码分享】基于springboot+vue的家政服务系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • vue基于springboot的连锁超市门店销售管理系统可视化大屏数据分析系统
  • EmotiVoice语音合成模型的热更新与无缝切换机制设计
  • 【Java毕设源码分享】基于springboot+vue的幼儿园管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • Android selinux 权限 修复 avc: denied
  • 第35章 Shell 结合curl实现接口测试:GET/POST请求+响应解析
  • 【Java毕设源码分享】基于springboot+vue的敦煌文化旅游管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 智慧水务|供排水解决方案
  • 《60天AI学习计划启动 | Day 33: 前端 AI 状态管理 缓存(会话 / 历史 / 本地持久化)》
  • 系统设计:高并发企业级限流方案+原理
  • Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
  • 【Java毕设源码分享】基于springboot+vue的宠物猫售卖管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • Docker 开发与使用教程 - Ubuntu 24.04 完整指南
  • 天津市自建房设计公司哪家强?2025 最新评测排行榜 + 5 星企业推荐 - 苏木2025
  • 架构设计:Rocketmq - 消息0丢失企业级实践
  • 【2025市场分析】沸腾干燥机高精度实力厂家哪家好/行业领先企业定制推荐 - 品牌推荐大师
  • 【Java毕设源码分享】基于springboot+vue的少数民族音乐网站的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2025年质量好的金蝶印刷ERP行业口碑榜 - 行业平台推荐
  • watch 防抖设计