Spring AI 接入OpenAI实现文字生成图片功能

Spring AI 框架集成的图片大模型

2022年出现的三款文生图的现象级产品,DALL-E、Stable Diffusion、Midjourney。

  • OpenAI
    • dall-e-3
    • dall-e-2
  • Auzre OpenAI
    • dall-e-3
    • dall-e-2
  • Stability
    • stable-diffusion-v1-6
  • ZhiPuAI
    • cogview-3

OpenAI 与 Auzer OpenAI 使用的图片大模型都是 dall-e 系列的。还有一些其它图片大模型,Spring AI 框架并未支持集成,如:Midjourney 发布的 Midjourney 模型。

一探文生图大模型的技术核心

关键词:Diffusion模型、CLIP 模型、热平衡、熵驱动、马尔可夫链。

Diffusion模型

Diffusion模型亦即扩散模型,最早是2015年在《基于非平衡热力学的深度无监督学习》(Deep Unsupervised Learning using Nonequilibrium Thermodynamics)论文中提出的。作者受统计热力学的启发,开发了一种新的生成模型。想法其实很简单:首先向训练数据集中的图像不断加入噪声,使之最终变成一张模糊的图像,这个过程就类似于向水中加入一滴墨水,墨水扩散,水变成淡蓝色,然后教模型学习如何逆转这一过程,将噪声转化为图像。

扩散模型的算法实现分为两个过程:

  • 正向扩散过程可以描述为逐渐将高斯噪声应用于图像,直到图像变得完全无法识别。整个过程可以描述为正向过程的马尔可夫链(描述从一个状态到另一个状态的转换的随机过程)。同理我们可以将每一张图片定义为一个状态,那每一张图片是什么样子只跟上一张图片有关
  • 逆向扩散过程通过神经网络学习的方式近似计算逆向过程的概率分布。

image.png

CLIP 模型

CLIP全称为contrastive language-image pre-training,即基于对比学习的大规模图文预训练模型。CLIP模型不仅有着语义理解的功能,还有将文本信息和图像信息结合,并通过注意力机制进行耦合的功能。

我们看一下 Stability AI 公司开发的 Stability AI 模型,其中就使用了CLIP 模型,首先看下其实现架构;

  • 文本编码器:将语义转化为计算机可以处理的语言,文本编码器就是使用了CLIP模型,对文本进行编码处理
  • 图像生成器:将编码后的结果转换为符合语义的图像

CLIP模型就是在从网上收集到的4亿张图片和它们对应的文字描述基础上训练出来的。其训练过程如下;

image.png

CLIP模型在Stable Diffusion的文本编码器部分发挥了最核心的作用。 该部分内容参考丁磊·生成式人工智能

Spring AI 接入OpenAI实现文生图

代码实现

package org.ivy.controller;import jakarta.annotation.Resource;
import org.springframework.ai.image.Image;
import org.springframework.ai.image.ImagePrompt;
import org.springframework.ai.image.ImageResponse;
import org.springframework.ai.openai.OpenAiImageModel;
import org.springframework.ai.openai.OpenAiImageOptions;
import org.springframework.ai.openai.api.OpenAiImageApi;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ImageController {@Resourceprivate OpenAiImageModel openAiImageModel;/*** 根据提示词生成图片,并返回图片的URL** @param prompt 提示词* @return 图片的URL*/@GetMapping("/image")public String image(String prompt) {ImageResponse imageResponse = openAiImageModel.call(new ImagePrompt(prompt, OpenAiImageOptions.builder() // 默认model为 dall-e-3.withModel(OpenAiImageApi.ImageModel.DALL_E_2.getValue()).withResponseFormat("url") // url or base.build()));Image image = imageResponse.getResult().getOutput();return String.format("<img src='%s' alt='%s'>", image.getUrl(), prompt);}
}

浏览器测试结果

image.png

使用的dall-e-2模型生成,看着生成的小狗还是比较丑的。

OpenAiImageOptions 参数说明

spring.ai.openai.image.options.n:一次生成图片的张数,dell-e-2时n为1~10, dell-e-3时,n只能为1

spring.ai.openai.image.options.model:指定的模型,默认dell-e-3

spring.ai.openai.image.options.quality:图片生成的质量,只对dell-e-3模型生效

spring.ai.openai.image.options.response_format:图片返回的方式,url和b64_json两种

spring.ai.openai.image.options.size:图片生成的尺寸,dell-e-2只能是 256x256, 512x512, 1024x1024 ,dell-e-3只能是1024x1024, 1792x1024,1024x1792

那么,我们该如何学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/349370.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FreeRTOS】创建任务-声光色影

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 目录 1 基本概念2 任务创建与删除2.1 什么是任务2.2 创建分配内存2.2.1 动态任务2.2.1 静态分配内存 2.3 示例1: 创建任务2.3.1 声2.3.1.1 music.c2.3.1.2 music.h2.3.1.4 硬件接线 2.3.2 光2.3.3 色2.3.4 影 在本章中&a…

DC12V升压24V/5A电流 布控球产品应用 升压恒压SL4010耐压40V芯片

随着科技的不断发展&#xff0c;布控球作为一种高效、精准的安全监控设备&#xff0c;被广泛应用于公安、消防、交通等多个领域。然而&#xff0c;布控球在工作过程中需要稳定的电源供应&#xff0c;以保证其正常运行和长期稳定性。因此&#xff0c;一款性能优良的升压恒压芯片…

WindTerm使用SSH密钥连接阿里云实例,服务器设置SSH密钥登录

安装Windterm 地址https://github.com/kingToolbox/WindTerm/releases 下载完放到文件夹就可以打开 阿里云开启密钥对 打开阿里云ecs控制台 https://ecs.console.aliyun.com/keyPair/region/cn-wulanchabu 网络与安全->密钥对&#xff0c;创建密钥对&#xff0c;创建成…

《现代通信原理与技术》--数字信号的最佳接收实验报告

《现代通信原理与技术》 数字信号的最佳接收实验报告 实 验&#xff1a;数字信号的最佳接收实验报告 目录 摘要......................................................................................................3 引言........................................…

R语言绘制三变量分区地图

参考资料&#xff1a; https://mp.weixin.qq.com/s/5c7gpO2mJ2BqJevePJz3CQ tricolore包教程&#xff1a;https://github.com/jschoeley/tricolore 学习笔记&#xff1a;Ternary choropleth maps 1、测试实例 代码&#xff1a; library(ggplot2) library(rnaturalearthdata) …

探索AI视频生成技术的原理

探索AI视频生成技术的原理 随着人工智能技术的迅猛发展&#xff0c;AI在视频生成领域的应用已经引起了广泛关注。从娱乐、广告到教育和科学研究&#xff0c;AI视频生成技术正在彻底改变我们制作和消费视频内容的方式。本文将深入探讨AI视频生成技术的原理&#xff0c;解析其背…

【Kadane】Leetcode 918. 环形子数组的最大和【中等】

环形子数组的最大和 给定一个长度为 n 的环形整数数组 nums &#xff0c;返回 nums 的非空 子数组 的最大可能和 。 环形数组 意味着数组的末端将会与开头相连呈环状。形式上&#xff0c; nums[i] 的下一个元素是 nums[(i 1) % n] &#xff0c;nums[i] 的前一个元素是 nums…

安鸾学院靶场——安全基础

文章目录 1、Burp抓包2、指纹识别3、压缩包解密4、Nginx整数溢出漏洞5、PHP代码基础6、linux基础命令7、Mysql数据库基础8、目录扫描9、端口扫描10、docker容器基础11、文件类型 1、Burp抓包 抓取http://47.100.220.113:8007/的返回包&#xff0c;可以拿到包含flag的txt文件。…

【车载音视频电脑】嵌入式AI分析车载DVR,支持8路1080P

产品特点 采用H.265 & H.264编解码&#xff0c;节约存储空间、传输流量&#xff1b; 高分辨率&#xff1a;支持8路1080P*15FPS/4路1080P*30FPS、720P、D1等编解码&#xff1b; 支持1张SATA硬盘&#xff0c;取用方便&#xff0c;满足大容量存储要求&#xff1b; 支持1个…

Stable-Diffusion-WebUI 常用提示词插件

SixGod提示词插件 SixGod提示词插件可以帮助用户快速生成逼真、有创意的图像。其中包含,清空正向提示词”和“清空负向提示词、提示词起手式包含人物、服饰、人物发型等各个维度的提示词、一键清除正面提示词与负面提示词、随机灵感关键词、提示词分类组合随机、动态随机语法…

【CTF Web】CTFShow 数据库恶意下载 Writeup(目录扫描+mdb文件泄露+Access脱库)

数据库恶意下载 10 mdb文件是早期aspaccess构架的数据库文件&#xff0c;文件泄露相当于数据库被脱裤了。 解法 用 dirsearch 扫描。 dirsearch -u 4b9b415f-4062-4bba-a6f5-3b107804043f.challenge.ctf.show找到一个 db 目录。 扫描 db 目录。 dirsearch -u 4b9b415f-4062-…

商标撤三申请成功,为商标申请扫除障碍!

最近去年帮一个主体做的商标连续三年使用撤销申请下来了&#xff0c;成功撤销掉目标商标&#xff0c;普推商标老杨看到对方在规定时间内没有提供使用证据进行答辩&#xff0c;这样基本上就会被撤销掉。 现在有效商标注册量很高&#xff0c;许多想到的商标名称基本上都有相同或高…

opencv_特征检测和描述

理解特征 寻找独特的特定模式或特定特征&#xff0c;可以轻松跟踪和比较。 拼图&#xff1a;在图像中搜索这些特征&#xff0c;找到它们&#xff0c;在其他图像中查找相同的特征并对齐它们。而已。 基本上&#xff0c;角被认为是图像中的好特征。 在本单元中&#xff0c;我…

【全开源】ChatGPT 机器人公众号小程序h5源码开源交付支持二开

AI机器人系统对接OPENAI&#xff1a;智能互联的无限可能 &#x1f310; 一、引言&#xff1a;AI机器人系统与OPENAI的碰撞 在科技日新月异的今天&#xff0c;AI机器人系统正逐渐渗透到我们生活的各个角落。而当这一智能系统与全球领先的OPENAI技术相结合&#xff0c;又将擦出…

Guitar Pro 8中文版安装包下载及安装教程

Guitar Pro是一款倍受吉他手喜爱的吉他和弦、六线谱、BASS四线谱绘制、打印、查看、试听软件&#xff0c;它也是一款优秀的MIDI音序器&#xff0c;MIDI制作辅助工具&#xff0c;可以输出标准格式的MIDI。 GP的过人之处就在于它可以直接用鼠标和键盘按标准的六线谱、四线谱进行…

反贿赂管理体系认证:提升企业诚信与防范风险的双重利器

反贿赂管理体系认证在当今商业环境中发挥着至关重要的作用。这一认证不仅有助于提高企业的道德标准和社会责任感&#xff0c;还能有效防范商业风险&#xff0c;并提升内部管理水平和工作效率。 反贿赂管理体系认证要求企业制定和执行严格的反贿赂政策和程序&#xff0c;从而在…

数据仓库核心:事实表深度解析与设计指南

文章目录 1. 引言1.1基本概念1.2 事实表定义 2. 设计原则2.1 原则一&#xff1a;全面覆盖业务相关事实2.2 原则二&#xff1a;精选与业务过程紧密相关的事实2.3 原则三&#xff1a;拆分不可加事实为可加度量2.4 原则四&#xff1a;明确声明事实表的粒度2.5 原则五&#xff1a;避…

CV预测:快速使用LeNet-5卷积神经网络

AI预测相关目录 AI预测流程&#xff0c;包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

【CT】LeetCode手撕—21. 合并两个有序链表

目录 题目1-思路2- 实现⭐21. 合并两个有序链表——题解思路 3- ACM实现 题目 原题连接&#xff1a;21. 合并两个有序链表 1-思路 双指针&#xff1a;题目提供的 list1 和 list2 就是两个双指针 通过每次移动 list1 和 list2 并判断二者的值&#xff0c;判断完成后将其 插入…

selenium-java自动化教程

文章目录 Selenium支持语言WebDriver 开始使用chromedriver模拟用户浏览访问模拟点击事件关闭弹窗&#xff0c;选中元素并点击 获取页面文本结语 Selenium Selenium是一个自动化测试工具&#xff0c;可以模拟用户操作web端浏览器的行为&#xff0c;包括点击、输入、选择等。也可…