Semantic Kernel:文转图

news/2025/3/4 6:09:32/文章来源:https://www.cnblogs.com/axzxs2001/p/18746014

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

  项目引用的是当前最新的SK包,1.18.0-rc:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net9.0</TargetFramework><RootNamespace>Demo07_TextToPicture</RootNamespace><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable></PropertyGroup><ItemGroup><PackageReference Include="Microsoft.SemanticKernel" Version="1.18.0-rc" /></ItemGroup>
</Project>

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

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.TextToImage;
using System.Diagnostics;
using System.Xml.Linq;Console.WriteLine("开始生成……");
#pragma warning disable SKEXP0010
var key = File.ReadAllText(@"C:\GPT\key.txt");
var kernel = Kernel.CreateBuilder().AddOpenAITextToImage(key,modelId: "dall-e-2)
    .Build();
var prompt1 = $"背景是白色,用墨水,画一匹腾空跃起的骏马。要求马位中图的中央,显示完整。";
await CreateImageAsync(prompt1);async Task CreateImageAsync(string prompt)
{
#pragma warning disable SKEXP0001var dallE = kernel.GetRequiredService<ITextToImageService>();var imageUrl = await dallE.GenerateImageAsync(prompt, 1024, 1024);await DownLoadImageAsync(imageUrl);
}
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 });
}

分别用DALL·E 2,3生成图例效果如下,优劣自行判断:

   (DALL·E 2生成图例一)

   (DALL·E 2生成图例二)

   (DALL·E 2生成图例三)

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

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

   (DALL·E 3生成图例一)

   (DALL·E 3生成图例二)

   (DALL·E 3生成图例三)

  文章来源微信公众号

  想要更快更方便的了解相关知识,可以关注微信公众号 

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

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

相关文章

Semantic Kernel:图识文

多模态是每个LLM具有的能力,图片又是最常见的信息载体,GPT对图片的识别也很早就有了,随着GPT版本的迭代,效果越来越好。SK也是在很多就适配了图识文,只不过最近版本才支持本地图片的上传。(有点晚) 图片场景识别:using Microsoft.SemanticKernel.ChatCompletion; using…

002.Gitlab基础使用

gitlab基础使用 设置语言 gitlab社区版同样支持直接配置为简体中文,可能适配率暂不支持100% 。 点击头像,Preferences——>Preferences——>Localization 。 Language设置为简体中文,save changes。 使用介绍 gitlab的基础应用主要包括项目创建、组管理、issue等功能。…

【PHP安全】无参数命令执行学习

免责声明: 由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!文章作者:先知社区(Atkx) 文章来源:https://xz.aliyun.com/ne…

分享4款.NET开源、免费、实用的商城系统

前言 今天大姚给大家分享4款.NET开源、免费、实用的商城系统,希望可以帮助到有商城系统开发需求的同学。 nopCommerce nopCommerce是一个.NET开源功能丰富、免费、灵活且可定制的开源电子商务解决方案(大家假如有商城需求可以直接使用该项目进行二次开发,省时省力) ,具备商城…

总结:单调栈

\(\texttt{单调栈}\) \(\texttt{单调栈学习笔记}\) 今天学习的是 数据结构:单调栈。 (n 久之前了……) \(\texttt{数据结构讲解}\) \(\texttt{单调栈的类型}\)单调递增栈单调递减栈单调递增栈:指的是一个栈中的元素都是单调递增的。 单调递减栈:指的是一个栈中的元素都是单…

基于ThreeJs的大屏3D地图(二)——气泡图、渐变柱体与热力图

前提 上一篇文章中我们完成了地图区块模型的渲染,在此基础之上本篇来讲解气泡图、3D柱形图以及3D热力图的实现方式。 首先,为了更好的关注点分离及与地图渲染模块的解耦,我们可以把所有类型的可视化元素抽象出一个图层基类BaseLayer: /*** 图层基类*/ abstract class BaseL…

揭露GPT幻觉只需一个提示

把像GPT这样的超大语言模型投入真实世界应用时,最大挑战之一就是经常说的幻觉。这就是说这些模型会开始编造一些根本不对的事实。最麻烦的地方是你可能根本不会发现,因为这些文字放在上下文里听起来很自然。 这对那些需要事实核查,或者某种形式的事后验证才能信任LLM回答的关…

如何使用ChatGPT画流程图

如何使用ChatGPT画流程图 MermaidMermaid 是一款基于 JavaScript 的图表绘制工具,使用 Markdown 风格的文本定义和渲染器来创建和修改复杂图表。Mermaid 的主要目的是帮助文档跟上开发的步伐。使用示例将ChatGPT回复的代码粘贴到下面的网站上 https://mermaid.live/

成都控制板定制:常见的MAX485芯片型号和后缀的含义

我处承接提供优质的单片机系统开发、电路板PCB设计、控制器研发控制箱定制、电子产品、硬件开发、工控测控传感自动化PLC系统设计、仪器定制仪表订做、信号采集器研发、物联网、软件EXE编程、安卓APP等开发定制加工优质服务(www点yonko-tech点com),在项目时会经常用到485通信…

震撼揭秘:LLM幻觉如何颠覆你的认知!

LLM幻觉 把幻觉理解为训练流水线中的一种涌现认知效应 Prashal RuchirangaRobina Weermeijer 在 Unsplash 上的照片介绍 在一个名为《深入剖析像ChatGPT这样的LLM》的YouTube视频里,特斯拉前AI资深总监Andrej Karpathy探讨了大型语言模型(LLM)的心理现象,把它看作是训练流水…

Windows 10 Hyper-V 安装不了 统信UOS Server 解决方案

如果一直停留在上面的页面,删除虚拟机,记得创建虚拟机,不要选择2代CPU。

Windows下DeepSeek R1简单搭建

目录安装 Ollama简介安装运行模型选择嵌入模型(Embedding)安装和使用Cherry Studio配置Cherry Studio配置使用本地模型知识库配置 安装 Ollama 简介 Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 提供了一个简…