首页 > 其他分享 >【semantic Kernel】文转图

【semantic Kernel】文转图

时间:2024-11-07 17:43:22浏览次数:1  
标签:Kernel semantic kernel await localPath static 文转图 var

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 SKEXP0010
        var builder = Kernel.CreateBuilder()
        .AddOpenAITextToImage(Config.OpenAiKey, modelId: "dall-e-2");
#pragma warning restore SKEXP0010

        var kernel = builder.Build();
        var prompt1 = $"背景是白色,用墨水,画一匹腾空跃起的骏马。要求马位中图的中央,显示完整。"; 
        await CreateImageAsync(kernel,prompt1);
        Console.ReadKey();
    }
    private static async Task CreateImageAsync(Kernel kernel,string prompt)
    {
#pragma warning disable SKEXP0001
        var 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)

标签:Kernel,semantic,kernel,await,localPath,static,文转图,var
From: https://www.cnblogs.com/fanfan-90/p/18533661

相关文章

  • 【Semantic Kernel】RAG(检索增强生成)
    RAG(Retrieval-AugmentedGeneration)是一种结合信息检索和生成模型的自然语言处理方法。它通过检索相关文档片段作为生成模型的上下文,提高生成文本的准确性和相关性。RAG广泛应用于问答系统、对话系统和文本摘要等领域,兼具高效性和灵活性。公司的客户机器人都特别适合。下面的案例......
  • 服务器上mysqld,java的进程Out of Memory,被kernel kill 掉了
    /var/log/messages里面日志如下Aug1019:47:16VM-0-7-centoskernel:8936totalpagecachepagesAug1019:47:16VM-0-7-centoskernel:0pagesinswapcacheAug1019:47:16VM-0-7-centoskernel:Swapcachestats:add0,delete0,find0/0Aug1019:47:16VM-0......
  • 【semantic Kernel】如何让其他模型也能在SemanticKernel中调用本地函数
    参考:https://mp.weixin.qq.com/s/swPPTyIJa-2OJcyycBVJNQ代码://接入星火AIvarhttpClient=newHttpClient(newXinghuoOpenAIHttpClientHandler());varbuilder=Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId:"generalv3.5","tHQoTStMXIMXmmFwr......
  • centos7-kernel-upgrade-内核升级
    CentOS7升级内核版本yum安装参考1参考2参考3首先查看当前系统的内核版本uname-rs导入ELRepo仓库的公钥信息rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装指令#RHEL-7,SL-7orCentOS-7yuminstallhttps://www.elrepo.org/elrepo-release-7.e......
  • 【semantic Kernel】依赖注入
    参考:https://www.cnblogs.com/ruipeng/p/18241147代码///<summary>///依赖注入案例///</summary>publicstaticclassDependencyInjectionSample{publicstaticasyncTaskExec(){ServiceCollectionservices=newServiceCollection();......
  • 【semantic Kernel】Semantic Kernel Tools(VS Code插件)
    2023年4月13日,Microsoft发布了一个SemanticKernel的VSCode插件,SemanticKernelTools,用于进行SemanticFunction的开发和调试工作。SemanticKernelTools的安装只需要VSCode即可,不需要额外的其他的环境。在VSCode的扩展中搜索SemanticKernelTools,点击Install即......
  • Jupyter Notebook添加kernel的解决方案
      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学......
  • kernel-learn:msgrcv源码解读
    笔者最近复现CVE中时常用到msgrcv,由于对某些细节不了解,卡了很久,所以解读一下源码。msg.c-ipc/msg.c-Linuxsourcecodev5.11.22-Bootlin这是网址,有兴趣的可以自己看看。这是msgrcv的flag/*msgrcvoptions*/#defineMSG_NOERROR010000/*noerrorifmessa......
  • 开发 react 技术栈的前台项目,选用 semantic-ui-react 组件库是否是较好的选择
    在前端开发中,合适的UI组件库的选择至关重要,它能在保证交互和视觉一致性的同时,大大提升开发效率。Semantic-UI-React是React技术栈中备受关注的UI组件库之一,以其丰富的组件和友好的API受到了许多开发者的欢迎。然而,是否选择它作为项目的UI组件库需结合多个因素综合考虑......
  • 聚类算法——Kernel K-Means (核K-均值聚类)聚类算法详解
    KernelK-Means聚类算法详解目录引言聚类算法概述K-Means算法回顾KernelK-Means算法概述KernelK-Means的工作原理核心思想与标准K-Means的区别KernelK-Means的算法步骤初始化计算核矩阵簇分配质心更新迭代与收敛数学基础目标函数核技巧(KernelTrick)特征映......