【大模型部署】在C# Winform中使用文生图Stable Diffusion XL 模型

news2024/11/17 9:27:32

【大模型部署】在C# Winform中使用文生图Stable Diffusion XL 模型

前言

整了一个在C# Winform中调用文生图Stable Diffusion XL的小程序,基于百度智能云千帆平台
请添加图片描述

步骤

  1. 如何注册百度智能云和创建应用,获取API 密钥等和在之前的博客中基本相同,不再赘述了
    【大模型部署】在C# Winform中使用文心一言ERNIE-3.5 4K 聊天模型
  2. 代码接入

步骤1-注册百度智能云

https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application
按提示注册即可

代码接入

定义AK和SK
// 您的AccessKey ID
const string API_KEY = "qSXXXXXXXXXXXXXXXXQ";
// 您的AccessKey Secret
const string SECRET_KEY = "Kb8XXXXXXXXXXXXXXXXXX24ZH";
定义发送和回传的数据结构
public class ImageGenerationRequest
{
        public string Prompt { get; set; }
        public string Size { get; set; }
        public int N { get; set; }
        public int Steps { get; set; }
        public string SamplerIndex { get; set; }
}
ImageGenerationRequest imageGenerationRequest = new ImageGenerationRequest();

public class ImageData
{
        [JsonProperty("id")]
        public string Id { get; set; }
        [JsonProperty("object")]
        public string Object { get; set; }
        [JsonProperty("created")]
        public long Created { get; set; }
        [JsonProperty("data")]
        public ImageDataDetail[] Data { get; set; }
        [JsonProperty("usage")]
        public Usage Usage { get; set; }
}

// 嵌套的Image数据类  
public class ImageDataDetail
{
        [JsonProperty("object")]
        public string Object { get; set; }
        [JsonProperty("b64_image")]
        public string B64Image { get; set; } // 这里假设Base64字符串可能很长,因此使用string类型  
        [JsonProperty("index")]
        public int Index { get; set; }
}

// 使用类  
public class Usage
{
        [JsonProperty("prompt_tokens")]
        public int PromptTokens { get; set; }
        [JsonProperty("total_tokens")]
        public int TotalTokens { get; set; }
}
定义生成函数
private ImageData Generate(ImageGenerationRequest generationRequest)
{
        var client = new RestClient($"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/sd_xl?access_token={GetAccessTokenMethod()}");
        client.Timeout = -1;
        var request = new RestRequest(Method.POST);
        request.AddHeader("Content-Type", "application/json");
        request.AddHeader("Accept", "application/json");
        var body = JsonConvert.SerializeObject(generationRequest, Formatting.None);
        //var body = @"{""prompt"":""棕色小熊"",""size"":""768x768"",""n"":1,""steps"":20,""sampler_index"":""Euler a""}";
        request.AddParameter("application/json", body, ParameterType.RequestBody);
        IRestResponse response = client.Execute(request);
        ImageData? result = JsonConvert.DeserializeObject<ImageData>(response.Content);
        return result;
}
完整代码

完整代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单日收益1000+看了就会的项目,最新灵异短视频项目,简单好上手可放大操作

各位好友&#xff0c;佳哥在此与大伙儿聊聊一项神秘莫测的短视频项目。你或许会想&#xff0c;“又是一个视频创作项目&#xff1f;” 但别急&#xff0c;这个项目与众不同&#xff0c;日入千元不再是梦&#xff0c;而且它的易用性让人惊喜&#xff0c;无论你是初学者还是资深玩…

面向对象------多态

1.多态的定义 通俗来说&#xff0c;当同一种行为或者事情发生在不同的对象上&#xff0c;这些行为或者事情最终得到的结果不同。 注意&#xff1a;多态要发生在继承的基础上。 例如&#xff1a;彩色打印机和黑白打印机。 彩色打印机和黑白打印机是不同的对象&#xff0c;但…

兵器室管控系统|DW-306是一套成熟系统

概述 智慧兵器室管理系统&#xff08;DW-S306&#xff09;是依托互3D技术、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 本解决方案利用现有内部网络&#xff0c;部署部队智能兵器室管理系统&#xff…

Python并发编程学习记录

1、初识并发编程 1.1、串行&#xff0c;并行&#xff0c;并发 串行(serial)&#xff1a;一个cpu上按顺序完成多个任务&#xff1b; 并行(parallelism)&#xff1a;任务数小于或等于cup核数&#xff0c;多个任务是同时执行的&#xff1b; 并发(concurrency)&#xff1a;一个…

小浪助手下载学浪视频的简单步骤

你是否想轻松下载学浪高清视频&#xff1f;快来尝试小浪助手&#xff0c;这是你不可错过的下载神器&#xff01;简单几步操作&#xff0c;即可轻松下载你所需的学浪视频&#xff0c;节省时间&#xff0c;提高效率&#xff01; 首先我已经打包好了小浪助手&#xff0c;有需要的…

DOS学习-目录与文件应用操作经典案例-attrib

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 DOS系统中的attrib命令是一个用于显示或更改文件&#…

内网渗透—SMB隧道正反向连接防火墙规则绕过CS上线

1、前言 这篇文章主要是说一下这个用于横向移动的SMB隧道&#xff0c;已经如何使用smb隧道去进行横向移动。 2、实验环境 实验环境和上一篇的差不多&#xff0c;主要是加了个防火墙。 windows server2012 192.168.145.131&#xff08;外网&#xff09; 192.168.22.134&…

【NumPy】关于numpy.flatten()函数,看这一篇文章就够了

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

头晕、心悸…你们小年轻配不上张俊杰的霸王茶姬,还要奔上市

近日&#xff0c;有多名网友在社交平台反映称&#xff0c;自己在喝了霸王茶姬的新品“万里木兰”奶茶后&#xff0c;出现了失眠、头晕、心悸等不同程度的不适症状&#xff0c;霸王茶姬方面则表示“可能是茶多酚过敏”。 而就在几天前举行的“2024年国际茶日现代东方茶创新论坛…

全局光照技术在AI去衣中的革命性角色

引言&#xff1a; 随着计算机视觉和深度学习技术的飞速发展&#xff0c;AI去衣技术已经逐渐成为图像处理和计算机图形学领域的一个热门话题。这种技术旨在通过算法模型去除或替换图像中的衣物&#xff0c;以服务于娱乐、电子商务、虚拟试衣等多种应用场景。而在实现高质量、真实…

getters的使用

getters的使用 如果state中的数据需要经过处理再使用&#xff0c;就可以利用getters函数

django在线考试系统-计算机毕业设计源码78268

摘 要 本论文主要论述了如何使用python语言、Django框架开发一个在线考试系统&#xff0c;本系统将严格按照软件开发流程&#xff0c;进行各个阶段的工作&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述该系统的当前背景以及系统开发的目的&#xf…

VMware虚拟机上安装麒麟V10操作系统

一、安装VMware 在前面的文章中我有具体介绍过如何安装VMware软件&#xff0c;这里就不具体介绍了&#xff0c;需要的同学可以点下面的连接进行下载安装。 玩转Linux—如何在Linux环境中部署MySQL、Redis和nginx_linux系统mysql、redis 主备怎么做-CSDN博客文章浏览阅读1k次&a…

每日百万交易的支付系统,如何设置JVM堆内存大小?

每日百万交易的支付系统,如何设置JVM堆内存大小? 1、支付背景的引入2、支付的核心业务流程3、每日百万交易支付系统的压力在哪里?4、支付系统每秒钟需要处理多少笔支付单5、每个支付订单处理需要耗时多久6、每个支付订单大概需要多大的内存空间7、每秒发起的支付请求对内存的…

c#核心学习1

一、面向对象的概念 1.面向过程编程 2.面向对象编程 3.为什么要学习面向对象编程 提高代码复用率、提高开发效率、提高程序可拓展性、清晰的逻辑关系 4.如何学习 二、面向对象--封装 1&#xff09;类和对象 1.什么是类 2.类申明在哪里 类一般声明在namespace语句块中 3.…

电商API接口(api商品数据)【电商商品实时数据采集API接口】

众多品牌选择电商API实时数据采集接口进行采购&#xff0c;主要是出于以下几个重要原因&#xff1a; 第一&#xff0c;高效便捷。比价工具通过自动化的方式获取价格信息&#xff0c;避免了繁琐的人工操作&#xff0c;大大节省了时间和精力。 第二&#xff0c;精准比较。API比价…

AIGC 003-Controlnet升级你的SD让图像生成更加可控!

AIGC 003-Controlnet升级你的SD让图像生成更加可控&#xff01; 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 ControlNet 论文 (Adding Conditional Control to Text-to-Image Diffusion Models) 提出了一种名为 ControlNet 的神经网络结构&#xff0c;旨在为大型文本到图…

IEDA常用快捷键(后续更新ing)

1. 快速生成语句 1.快速生成main()方法 psvm或者main回车 2.快速生成输出语句 sout,回车 3.快速生成for循环 fori或者itar,回车 2.快捷键 含义操作查找文本CtrlF替换文本CtrlR单行注释Ctrl/多行注释CtrlShift/格式化CtrlAltL复制当前内容至下一行CtrlD补全代码Alt/快速生成…

实战复盘:内网环境渗透ms-SQL数据库

渗透环境&#xff1a;如下图所示&#xff0c;web服务器、ms-SQL服务器、PC客户端在同一个网络中&#xff0c;彼此之间&#xff0c;没有路由器或防火墙的隔离&#xff0c;这是一种危险的网络结构&#xff0c;入侵ms-SQL服务器&#xff0c;非常容易。&#xff08;实战中&#xff…

【C++】二分查找算法

1.题目 2.算法思路 暴力解法&#xff1a;可以将数组遍历一遍&#xff0c;就可以找到。时间复杂度为O(n)。不算太差&#xff0c;可以接受。 但是有更优秀的解法&#xff1a; 就是二分查找算法。 算法的特点&#xff1a;我们所查找的“数组”具有二段性。这里的二段性不一定有…