【semantic Kernel】文转图

news/2025/3/12 22:34:10/文章来源:https://www.cnblogs.com/fanfan-90/p/18533661

SK也对应了文生图的功能,本文中分别使用的是GPT的DALL·E 2和DALL·E 3来生成图版,虽然不如专业的文生图那么专业,但提示词到位,在一些场景中还是可用的。

下面是最简单的文生图的代码实现,通过TextToImage服务来完成生成,GPT中生成图的尺寸要求是:256x256, 512x512, 1024x1024, 1024x1792,'1792x1024]
代码:


public static class TextToImageSample
{public static async Task Exec(){
#pragma warning disable SKEXP0010var builder = Kernel.CreateBuilder().AddOpenAITextToImage(Config.OpenAiKey, modelId: "dall-e-2");
#pragma warning restore SKEXP0010var kernel = builder.Build();var prompt1 = $"背景是白色,用墨水,画一匹腾空跃起的骏马。要求马位中图的中央,显示完整。"; await CreateImageAsync(kernel,prompt1);Console.ReadKey();}private static async Task CreateImageAsync(Kernel kernel,string prompt){
#pragma warning disable SKEXP0001var dallE = kernel.GetRequiredService<ITextToImageService>();    var imageUrl = await dallE.GenerateImageAsync(prompt, 1024, 1024);    await DownLoadImageAsync(imageUrl);}private static async Task DownLoadImageAsync(string imageUrl){    var localPath = "downloaded_image.jpg";    using (var client = new HttpClient())    {        var response = await client.GetAsync(imageUrl);        response.EnsureSuccessStatusCode();        var imageBytes = await response.Content.ReadAsByteArrayAsync();        await File.WriteAllBytesAsync(localPath, imageBytes);        Console.WriteLine("图片下载成功,保存在:" + localPath);    }    Process.Start(new ProcessStartInfo(localPath) { UseShellExecute = true });}}

生成图片:

接下来把上面代码第10行修改成DALL·E 3,来看一下效果:

.AddOpenAITextToImage(key,modelId: "dall-e-3)

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

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

相关文章

docker实现redis集群

1.主从模式(Master-Slave) 1.1主从复制原理 主从复制是redis的一种基本的集群方式,它通过将一个Redis节点(主节点)的数据复制到一个或多个其他Redis节点来实现数据的冗余和备份 主节点负责处理客户端的写操作,同时从节点回自动同步主节点的数据。客户端可以从从节点读取数…

PA3 - 穿越时空的旅程: 批处理系统

PA3 - 穿越时空的旅程: 批处理系统 穿越时空的旅程 概览 需求 程序内部的执行流切换:函数A和函数B可以简单地通过call/jal指令实现; 程序之间的执行流切换:因为安全问题,程序Prog1和程序Prog2的执行流切换只能交给操作系统和硬件来共同实现。 为了满足程序之间的执行流切换…

更快更强 | HP15加热台新品78折!Max温度350度,200度只需60秒!30~150W功率可调,恒温加热和回流焊双模式!

【新品优惠】正点原子HP15加热台更快更强!新品首发78折!最高温度可达350度,200度只需60秒!30~150W功率可调,恒温加热和回流焊双模式!HP15是正点原子全新推出的迷你恒温加热台,设备支持30~150W功率可调,在150W功率下从室温升至200度仅需60秒,可控温度高达350度,同时支…

MySQL登录报socket错误

现象 MySQL本地无法登录报错如下# mysql -uroot -p ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock修复方法 查看my.cnf配置文件确认mysql.sock位置带socket登录# mysql -uroot -p --socket=/var/lib/mysql/mysql.sock

Linxu 安装 Redis

1、下载redis 官网地址:https://redis.io/downloads/#redis-stack-downloads 或wget直接获取:wget https://download.redis.io/redis-stable.tar.gz 2、安装(不清楚linux命令的可以自行查询,make编译源文件,make install安装)1 # mkdir /usr/local/redis 2 # tar xf redis-…

调度算法的评价指标

调度算法的评价指标 ‍ ​​ ‍一、CPU利用率 CPU工作的时间占总时间的比例。 $$ CPU利用率=\frac{CPU工作时间}{总时间} $$ 计算某种设备的利用率类似。 ​​ ‍ 二、系统吞吐量 单位时间内完成作业的数量 $$ 系统吞吐量=\frac{总共完成的作业数}{总时间} $$ ​​ ‍ 三、周转…

进程调度的时机、方式、切换与过程

进程调度的时机、方式、切换与过程 (理解) ​​ ‍一、进程调度的时机 ​​ 有的系统中,只允许进程主动放弃处理机。 有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)。 ‍ ​​ 对2.的补充: ——临界资源: 一个时间段内…

Acunetix v24.9 发布下载,新增功能概览

Acunetix v24.9 (Linux, Windows) - Web 应用程序安全测试Acunetix v24.9 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。 作者主页:sysi…

线程的实现方式和多线程模型

线程的实现方式和多线程模型 ‍ ​​ ‍一、线程的实现方式 (一)用户级线程 ​​ ‍ (二)内核级线程 ​​ ‍ 二、多线程模型 在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分不同的多线程模型 (一)一对一模型 ​​ ‍ (二)多对一模型 和上…

分享一个替代ping的小工具Hping3

在网络故障排查中,ping 命令是最基础也是最常用的工具,然而,它的功能相对简单,局限性明显。对于复杂的网络环境,使用更强大的工具显得尤为重要。在这方面,Hping3无疑是一个出色的选择。本文将详细介绍Hping3的功能、应用场景以及与Ping的对比,帮助网络工程师更有效地排查…

进程的状态与转换、进程的组织

进程的状态与转换、进程的组织 一、进程的状态与转换 理解: 某项进程的运行一方面需要CPU处理器的资源,一方面可能还需要其他系统资源。 拥有其他系统资源,仅等待CPU的时间片分配,此状态为就绪态。 进程运行过程中使用“系统调用”的方式获取其他系统资源,但并未马上获得,…