【dify—10】工作流实战——文生图工具

目录

一、创建工作流 应用

二、安装硅基流动

三、配置硅基流动

 四、API测试

(1)进入API文档

 (2)复制curl代码

(3)Postman测试API

五、 建立文生图工作流

(1)建立http请求

 (2)配置http请求信息​编辑

(3)提示词prompt自定义

(4)添加结束回复节点

(5)测试运行

​编辑 (6)调整json格式

 (7)运行成功​编辑

 (8)查看图片

六、提取json中url数据

(1)添加参数提取器 

 (2)配置信息​编辑

 (3)运行测试

​编辑

(4)添加代码执行

 (5)输出参数

(6)运行

 七、发布为工具


第一部分:【dify+docker安装教程】-CSDN博客

第二部分:【dify—2】docker重装-CSDN博客

第三部分:【dify—3】拉取镜像、本地访问dify-CSDN博客

第四部分:【dify—4】安装Ollama,部署Deepseek-R1模型-CSDN博客

第五部分:【dify—5】Dify关联Ollama-CSDN博客

第六部分:【dify—6】聊天模型应用实践-CSDN博客

第七部分:【dify—7】文本生成应用实战——学员周报生成-CSDN博客

第八部分:【dify—8】Agent实战——占星师-CSDN博客

第九部分:【dify—9】Chatflow实战——博客文章生成器-CSDN博客

本文主要介绍了通过创建工作流 完成了一个文生图的简单流程。讲解了从配置硅基流动,Postman测试API,代码执行提取url地址到实现发布的全流程。


一、创建工作流应用

 

二、安装硅基流动

 


三、配置硅基流动


 四、API测试

(1)进入API文档

回到硅基流动,进入生图模型的API文档

 (2)复制curl代码

(3)Postman测试API

注意:需要先下载一个Postman

打开Postman

 ​​​​

 

  • 重点参数介绍

    • image_size:控制参数的图像分辨率,API请求时候,可以自定义多种分辨率。

    • num_inference_steps:控制图像生成的步长。

    • batch_size:一次生成图像的个数,默认值是1,最大值可以设置为4

    • negative_prompt:这里可以输入图像中不想出现的某些元素,消除一些影响影响因素。

    • seed:如果想要每次都生成固定的图片,可以把seed设置为固定值。

 ​​​​​


五、 建立文生图工作流

(1)建立http请求

 (2)配置http请求信息

让API不以明文显示

 

 

添加成功

 

(3)提示词prompt自定义

 

 

 

(4)添加结束回复节点

 

(5)测试运行

报错,这里是json数据格式会出现问题,需要处理一下

 (6)调整json格式

 在线插件json数据格式处理:爬虫工具库-spidertools.cn

 (7)运行成功

 (8)查看图片

 

 

 查看图片

通过上面的步骤可以发现,要提取图片信息时,会掺杂很多其他数据,下面我们将对json数据去进行精化。 


六、提取json中url数据

HTTP请求提取的参数

{
    "status_code": 200,
    "body": "{\"images\":[{\"url\":\"https://sc-maas.oss-cn-shanghai.aliyuncs.com/outputs%2F20250502%2F4hzjp4jat8.png?Expires=1746182680&OSSAccessKeyId=LTAI5tQnPSzwAnR8NmMzoQq4&Signature=zRJQ6o8%2B%2B8PcATDCn2okk5SkbU8%3D\"}],\"timings\":{\"inference\":0.907},\"seed\":4999999999,\"shared_id\":\"0\",\"data\":[{\"url\":\"https://sc-maas.oss-cn-shanghai.aliyuncs.com/outputs%2F20250502%2F4hzjp4jat8.png?Expires=1746182680&OSSAccessKeyId=LTAI5tQnPSzwAnR8NmMzoQq4&Signature=zRJQ6o8%2B%2B8PcATDCn2okk5SkbU8%3D\"}],\"created\":1746179081}\n",
    "headers": {
        "date": "Fri, 02 May 2025 09:44:41 GMT",
        "content-type": "application/json; charset=utf-8",
        "content-length": "497",
        "connection": "keep-alive"
    },
    "files": []
}

(1)添加参数提取器 

 (2)配置信息

 

 (3)运行测试

复制url中的地址信息,访问即可

 

通过上面步骤,json数据已经进一步简化,但我们最终要的是只输出图片地址,接下来将通过代码对json数据做进一步处理。 

(4)添加代码执行

 

url提取代码

from typing import Any, Uniondef main(data: Any) -> str:"""从复杂数据结构中安全提取第一个URL(优化版):param data: 支持 dict/list/str 的任意嵌套数据结构:return: 总是返回字符串类型,找不到时返回空字符串"""def extract_url(value: Union[dict, list, str]) -> str:""" 递归提取的核心逻辑 """if isinstance(value, str):return value if value.startswith(('http://', 'https://', 'data:image')) else ''if isinstance(value, dict):# 优先检查单数形式字段for field in ['url', 'image', 'link', 'src']:if field in value:found = extract_url(value[field])if found: return found# 检查复数形式字段for list_field in ['urls', 'images', 'links', 'sources']:if isinstance(value.get(list_field), list):found = extract_url(value[list_field])if found: return found# 深度搜索字典值for v in value.values():found = extract_url(v)if found: return foundif isinstance(value, list):for item in value:found = extract_url(item)if found: return foundreturn ''return {"result":extract_url(data)}

 (5)输出参数

(6)运行

 

 


 七、发布为工具

通过发布为工具后,如果我们在后续需要做更完善的文生图的项目时,可以直接导入调用该工具,节省开发步骤。

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

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

相关文章

Rust将结构导出到json如何处理小数点问题

简述 标准的 serde_json 序列化器不支持直接对浮点数进行格式化限制。如果将浮点数转换成字符串,又太low逼。这里重点推荐rust_decimal。 #[derive(Serialize)] pub struct StockTickRow {datetime: NaiveDateTime,code: String,name: String,#[serde(serialize_w…

openEuler 22.03 安装 Redis 6.2.9,支持离线安装

目录 一、环境检查1.1 必要环境检查1.2 在线安装(有网络)1.3 离线安装(无网络) 二、下载Redis2.1 在线下载2.2 离线下载 三、安装Redis四、配置Redis服务五、开机自启服务六、开放防火墙端口七、常用命令 一、环境检查 1.1 必要环…

MySQL基本查询(二)

文章目录 UpdateDelete插入查询结果(select insert)聚合函数分组聚合统计 Update 1. 语法: set后面加列属性或者表达式 UPDATE table_name SET column expr [, column expr …][WHERE …] [ORDER BY …] [LIMIT …] 案例 将孙悟空同学的…

Android Framework学习二:Activity创建及View绘制流程

文章目录 Window绘制流程Window Manager Service(WMS)SurfaceSurfaceFlinger 安卓View层次结构ActivityPhoneWindowActivity与PhoneWindow两者之间的关系ViewRootImplDecorViewDecorView 的作用DecorView 的结构总结 Activity创建流程View invalidate调用…

基于ssm的智慧养老平台(全套)

一、系统架构 前端:jsp | js | jquery | css 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat 二、代码及数据库 三、功能介绍 01. 登录 02. 管理员-主页 03. 管理员-个人中心 04. 管理员-…

计算机视觉技术的发展历程

计算机视觉技术的发展历程可以分为以下几个阶段: 早期探索阶段(1960s-1980s) 1960年代:计算机视觉的概念开始形成,研究者尝试让计算机识别和理解图像,主要集中在基础的图像处理,如边缘检测和特…

2025五一杯B题五一杯数学建模思路代码文章教学: 矿山数据处理问题

完整内容请看文章最下面的推广群 问题1. 根据附件1中的数据和,建立数学模型,对数据A进行某种变换,使得变换后的结果与数据尽可能接近。计算变换后的结果与数据的误差,并分析误差的来源(如数据噪声、模型偏差等&#xf…

.NET 平台详解

什么是 .NET? .NET 是一个由微软开发的跨平台、开源的开发者平台,用于构建多种类型的应用程序。它提供了一致的编程模型和丰富的类库,支持多种编程语言(如 C#、F#、Visual Basic)。 .NET 的核心组成 运行时环境 CLR …

ICRA 2025 基于触觉反馈的闭环分层控制框架——开放环境下通用门开启的智能规划与操作

在机器人领域,让机器人在开放环境中与日常物品交互一直是个难题,其中开门任务极具挑战性。门的设计、机械结构和推拉方式多种多样,现有方法存在诸多局限。基于运动学的方法依赖已知门模型,面对未知门时难以发挥作用;几…

阿里云服务迁移实战: 07-其他服务迁移

概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的就是其他服务了。 短信网关 短信模板只能一个个创建,不能批量操作。但是可以使用以下方式优化操作。 在原账号导出模板列表 概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的…

(六——下)RestAPI 毛子(Http resilience/Refit/游标分页/异步大文件上传)

文章目录 项目地址一、Refit1.1 安装需要的包1.2 创建接口IGitHubApi1.3 创建RefitGitHubService1. 实现接口2. 注册服务 1.4 修改使用方法 二、Http resilience2.1 安装所需要的包2.2 创建resilience pipeline简单版2.3 创建全局的resilience处理1. 创建清理全局ResilienceHan…

leetcode 977. Squares of a Sorted Array

题目描述 双指针法一 用right表示原数组中负数和非负数的分界线。 nums[0,right-1]的是负数&#xff0c;nums[right,nums.size()-1]是非负数。 然后用合并两个有序数组的方法。合并即可。 class Solution { public:vector<int> sortedSquares(vector<int>&…

在 API 模拟阶段:Apipost vs. Faker.js vs. Postman —— 为什么 Apipost 是最优选择

在构建 API 的过程中&#xff0c;模拟数据的能力至关重要。就像你在做饭时等待食材送达一样——没有原料&#xff0c;菜也没法完成。 但是&#xff0c;当你的后端还在开发中&#xff0c;而前端又急需真实的 API 响应进行开发时&#xff0c;该怎么办&#xff1f;这时候&#xf…

一种快速计算OTA PSRR的方法(Ⅰ)

序言:最近碰到了一道有趣的习题&#xff0c;让我重新思考了下如何计算运放的PSRR&#xff0c;再结合相关论文&#xff0c;现将所思所想分享出来&#xff0c;欢迎大家讨论。 1.从Razavi的一道习题引入 题目要求计算电路的PSRR&#xff0c;已知PSRR定义为信号增益除以电源增益&am…

第十二届蓝桥杯 2021 C/C++组 空间

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; 思路详解&#xff1a; 代码&#xff1a; 代码详解&#xff1a; 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 空间 - 蓝桥云课 思路&#xff1a; 思路详解&#…

TensorFlow深度学习实战——基于循环神经网络的情感分析模型

TensorFlow深度学习实战——基于循环神经网络的情感分析模型 0. 前言1. 数据处理2. 模型构建与训练3. 模型评估相关链接 0. 前言 情感分析 (Sentiment Analysis) 是自然语言处理中的一项技术&#xff0c;旨在识别和提取文本中的情感信息&#xff0c;通常是分析一段文本中是否存…

eslint相关报错收集

[vue/no-multiple-template-root]The template root requires exactly one element.eslint-plugin-vuejsx报错&#xff1a;jsx报错Parsing error: Unexpected token &#xff1c;eslint&#xff1b;ts报错&#xff1a;Parsing error: Unexpected token {eslintmodule报错 ‘mod…

【论文推荐】深度学习赋能地质灾害分析:数据、模型、应用与机遇(用于地质灾害分析的深度学习:数据源)

【论文推荐】深度学习赋能地质灾害分析&#xff1a;数据、模型、应用与机遇&#xff08;用于地质灾害分析的深度学习&#xff1a;数据源&#xff09; 【论文推荐】深度学习赋能地质灾害分析&#xff1a;数据、模型、应用与机遇&#xff08;用于地质灾害分析的深度学习&#xf…

判断用户选择的Excel单元格区域是否跨页?

VBA应用程序开发过程中&#xff0c;经常需要处理用户选中的单元格区域&#xff0c;有的应用场景中&#xff0c;需要限制用户选中区域位于同一页中&#xff08;以打印预览显示的分页划分&#xff09;&#xff0c;但是VBA对象模型中并没有提供相应的接口&#xff0c;用于快速查询…

题解:洛谷 CF2091E Interesting Ratio

思路推导 我们先对 32 32 32 和 96 96 96 进行二进制拆分。 相同部分&#xff08;用 α \alpha α 表示&#xff09;&#xff1a; 5 5 5 个 2 2 2。 不同部分&#xff08;用 β \beta β 表示&#xff09;&#xff1a; 1 1 1 和 3 3 3。 gcd ⁡ ( 32 , 96 ) \gcd(32,9…