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

52_Spring AI 干货笔记之 ZhiPuAI 图像生成

一、ZhiPuAI 图像生成

Spring AI 支持智谱 AI 的 CogView 图像生成模型。

二、先决条件

您需要创建一个智谱 AI 的 API 来访问智谱 AI 的语言模型。

在智谱 AI 注册页面 创建账户,并在 API 密钥页面 生成令牌。

Spring AI 项目定义了一个名为 spring.ai.zhipuai.api-key 的配置属性,您应将其设置为从 API 密钥页面获得的 API 密钥值。

您可以在 application.properties 文件中设置此配置属性:

spring.ai.zhipuai.api-key=<your-zhipuai-api-key>

为了在处理像 API 密钥这样的敏感信息时增强安全性,您可以使用 Spring 表达式语言(SpEL)引用自定义环境变量:

# 在 application.yml 中spring:ai:zhipuai:api-key:${ZHIPUAI_API_KEY}
# 在您的环境变量或 .env 文件中exportZHIPUAI_API_KEY=<your-zhipuai-api-key>

您也可以在应用程序代码中以编程方式设置此配置:

// 从安全来源或环境变量中检索 API 密钥StringapiKey=System.getenv("ZHIPUAI_API_KEY");

2.1 添加仓库和 BOM

Spring AI 的构件发布在 Maven Central 和 Spring Snapshot 仓库中。请参阅 构件仓库 部分,将这些仓库添加到您的构建系统中。

为便于依赖管理,Spring AI 提供了 BOM(物料清单),以确保在整个项目中使用统一版本的 Spring AI。请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建系统中。

三、自动配置

Spring AI 的自动配置和启动器模块的构件名称发生了重大变化。更多信息请参阅升级说明。

Spring AI 为 ZhiPuAI 聊天客户端提供了 Spring Boot 自动配置。要启用它,请在项目的 Maven pom.xml 文件中添加以下依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-zhipuai</artifactId></dependency>

或在您的 Gradle build.gradle 构建文件中添加:

dependencies{implementation'org.springframework.ai:spring-ai-starter-model-zhipuai'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

3.1 图像生成属性

现在通过前缀为 spring.ai.model.image 的顶级属性来配置图像自动配置的启用和禁用。

  • 启用:spring.ai.model.image=zhipuai(默认已启用)

  • 禁用:spring.ai.model.image=none(或任何与 zhipuai 不匹配的值)

此项更改是为了支持配置多个模型。

前缀 spring.ai.zhipuai.image 是用于配置智谱 AI 的 ImageModel 实现的属性前缀。

3.2 连接属性

前缀 spring.ai.zhipuai 用作属性前缀,用于连接到智谱 AI。

3.3 配置属性

重试属性

前缀 spring.ai.retry 用作属性前缀,用于配置 ZhiPuAI 图像客户端的重试机制。

四、运行时选项

ZhiPuAiImageOptions.java 提供模型配置,例如要使用的模型、质量、尺寸等。

在启动时,可以使用 ZhiPuAiImageModel(ZhiPuAiImageApi zhiPuAiImageApi) 构造函数和 withDefaultOptions(ZhiPuAiImageOptions defaultOptions) 方法来配置默认选项。或者,使用前面描述的 spring.ai.zhipuai.image.options.* 属性。

在运行时,您可以通过向 ImagePrompt 调用添加新的、特定于请求的选项来覆盖默认选项。例如,要覆盖智谱 AI 特定的选项,如质量和要创建的图像数量,请使用以下代码示例:

ImageResponseresponse=zhiPuAiImageModel.call(newImagePrompt("A light cream colored mini golden doodle",ZhiPuAiImageOptions.builder().quality("hd").N(4).height(1024).width(1024).build()));

除了特定于模型的 ZhiPuAiImageOptions,您还可以使用可移植的 ImageOptions 实例,该实例通过 ImageOptionsBuilder#builder() 创建。

http://www.jsqmd.com/news/141004/

相关文章:

  • 48、几何非线性控制:理论、方法与应用
  • Vetur与Prettier整合格式化超详细版
  • fastbootd在A/B分区系统中的角色分析:系统启动必看
  • Dify在舆情监控系统中的关键技术实现
  • 安装Flume
  • 项目应用:基于Altium Designer的蓝牙模块PCB布局实例
  • 温度传感器偏置误差成因解析:硬件补偿技术应用实例
  • 一文说清高速信号在PCB布局中的串扰抑制方法
  • 35、微分几何与非线性系统线性化:理论、方法与应用
  • 通俗解释Elasticsearch数据如何在Kibana中展示
  • 36、状态反馈线性化控制全解析:从SISO到MIMO系统
  • WinDbg Preview调试会话初始化过程深度剖析
  • LED亮度调节实战:使用PWM实现平滑调光的完整示例
  • 科研人员如何用Dify加速论文撰写过程?
  • 37、MIMO系统线性化与鲁棒控制技术解析
  • 一文说清Scanner类的next与nextLine区别:通俗解释
  • es连接工具通过Kibana实现数据查询实战
  • 泛函分析与偏微分方程(四):弱拓扑的三个基本性质
  • ES6模块化详解:深度剖析import与export语法规范
  • Dify平台的响应延迟优化策略研究
  • 38、非线性系统控制方法:滑模控制与非最小相位系统跟踪
  • AD导出Gerber文件常见问题快速理解
  • Dify平台支持的语音识别与合成集成方案
  • 5、使用 Ruby 进行桌面应用开发与 GUI 创建
  • 39、连续时间非线性系统的输入 - 输出线性化及相关问题研究
  • Dify镜像资源占用优化技巧分享
  • Dify如何保证多租户环境下的隔离安全性?
  • 40、线性化设计实例:球与梁系统控制解析
  • 基于Dify的语音助手前端+后端整合方案
  • 零基础学Keil4:单片机开发环境安装教程