当前位置: 首页 > news >正文

【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)运行

 

 


 七、发布为工具

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

相关文章:

  • 精益数据分析(37/126):深度剖析SaaS模式下的参与度与流失率指标
  • 游戏引擎学习第254天:重新启用性能分析
  • C++析构函数详解
  • Synthesis的分类
  • cat file.tar.gz | tar -xzf - -C /target/dir两个减号之间为什么有个空格?是写错了吗?(管道命令后续)
  • JavaScript基础-赋值运算符
  • Windows 使用set和setx设置环境变量(skywalk3)
  • 区块链+IoT:创新场景落地背后的技术攻坚战
  • 驱动开发系列56 - Linux Graphics QXL显卡驱动代码分析(三)显示模式设置
  • Java 实现socket VAD通讯客户端
  • (35)VTK C++开发示例 ---将图片映射到平面2
  • 目标检测中的损失函数(三) | SIoU WIoUv1 WIoUv2 WIoUv3
  • 硬件性能与能效比竞赛:解码 PC 硬件的 “速度与激情”
  • 云计算-容器云-服务网格Bookinfo
  • 云计算-容器云-部署jumpserver 版本2
  • 推荐免费的RVC模型下载网站
  • 开源无人机地面站QGroundControl安卓界面美化与逻辑优化实战
  • 如何在NGINX中实现基于IP的访问控制(IP黑白名单)?
  • 解构区块链身份认证:从ID到零知识证明的实战指南
  • 2025年五一数学建模A题【支路车流量推测】原创论文讲解
  • “名额5分钟抢完”,一场花费上万元:越野赛凭什么这么火?
  • 人形机器人,最重要的还是“脑子”
  • AI世界的年轻人|与总书记交流过的“00后”,渴望紧握时代赋予的接力棒
  • 竞彩湃|德甲保级白热化,都灵主帅直面旧主
  • 科普|“小石头,大麻烦”,出现输尿管结石如何应对?
  • 居委业委居民群策群力,7位一级演员来到上海一小区唱戏