Dify调用本地Stable Diffusion API的工作流搭建指南

核心架构
Dify应用
HTTP请求节点
本地SD API
图片生成
结果返回
详细步骤
  1. 准备Stable Diffusion API服务

    • 确保本地已部署SD WebUI(如Automatic1111)
    • 启动API服务:
      python launch.py --api --port 7860
      
    • 验证API可用性:
      curl -X POST http://localhost:7860/sdapi/v1/txt2img -H 'Content-Type: application/json' -d '{"prompt":"test"}'
      
  2. 在Dify中创建应用

    • 新建工作流类型应用
    • 添加「HTTP请求」节点
    • 配置节点参数:
      {"url": "http://localhost:7860/sdapi/v1/txt2img","method": "POST","headers": {"Content-Type": "application/json"},"body": {"prompt": "{{input}}","steps": 20,"width": 512,"height": 512}
      }
      
  3. 数据处理配置

    • 添加「变量提取」节点处理API响应:
      import base64def process(data):image_b64 = data['images'][0]return {"image": f"data:image/png;base64,{image_b64}","info": data['info']}
      
  4. 输出节点配置

    • 设置返回数据结构:
      {"image_url": "{{image}}","generation_info": "{{info}}"
      }
      
完整工作流示例
# Dify工作流伪代码
def main(input_text):# 构造SD API请求payload = {"prompt": input_text,"negative_prompt": "ugly, blurry","cfg_scale": 7}# 调用本地APIresponse = requests.post("http://localhost:7860/sdapi/v1/txt2img",json=payload)# 解析响应result = response.json()image_data = result['images'][0]# 返回结果return {"image": f"data:image/png;base64,{image_data}","parameters": result['parameters']}
关键注意事项
  1. 网络配置

    • 确保Dify服务与SD API在同一网络域
    • 若跨域访问需配置CORS:
      export COMMANDLINE_ARGS="--api --cors-allow-origins=*"
      
  2. 安全加固

    • 添加请求频率限制(建议使用Dify的速率限制中间件)
    • 在SD API端设置身份验证:
      # webui.py修改
      app.add_middleware(AuthMiddleware, token="YOUR_SECRET")
      
  3. 性能优化

    • 启用SD的--xformers加速
    • 设置Dify超时参数:
      # dify配置
      request_timeout: 300  # 单位秒
      
调试技巧
  1. 使用Postman测试API端点:

    POST http://localhost:7860/sdapi/v1/options
    Body: {"sd_model_checkpoint": "v2-1_768-ema-pruned.safetensors"}
    
  2. 查看SD日志定位问题:

    tail -f ~/stable-diffusion-webui/logs/api.log
    
  3. Dify调试模式启用:

    • 工作流编辑页开启「调试输出」
    • 查看每个节点的输入/输出数据

提示:首次运行时建议使用简单提示词(如"a red apple")测试基础功能,逐步增加复杂度。当处理1024×10241024\times10241024×1024以上分辨率时,需调整显存设置:--medvram-sdxl

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

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

相关文章

【Web后端】Django、flask及其场景——以构建系统原型为例

一、Django 和 Flask 简介 Django 是一个高级 Python Web 框架,提供了完整的“开箱即用”功能,包括 ORM、认证、管理后台等,便于快速开发安全且可维护的网站。Flask 是一个轻量级 Python Web 框架,核心功能比较简单,但…

飞算JavaAI:从智能调度到出行服务的全链路技术升级

免责声明:此文章所有内容都是实验测试数据 目录一、智慧交通核心场景的技术突破1.1 交通态势感知与智能预警系统1.2 公共交通智能调度系统1.3 一体化出行服务系统二、智慧交通系统效能升级实践2.1 交通数据中台构建结语:重新定义智慧交通技术边界一、智慧…

vscode的wsl环境,ESP32驱动0.96寸oled屏幕

注意大小写,wsl(也就是linux环境)严格区分大小写。有帮助记得订阅专栏点赞,当前不定期持续更新。 一、文件夹格式: project/ # 项目根目录 ├─ main/ # 主程序文件夹 │ ├─ mai…

CodeBuddy AI Coding 企业场景落地实践与思考

👉目录1 引言2 诊断团队研发流程3 选择合适的 AI CODING 工具4 团队 AI 研发流程落地实践5 全面 CodeBuddy ,深入 CodeBuddy6 诚邀共建在 AI 浪潮席卷全球的今天,AI CODING 已经不是企业研发团队的可选项,而是必选项。如果你是企业…

windows下hashcat使用gpu破解execl打开密码

需要的软件 1.hashcat :https://hashcat.net 2.john the ripper :https://www.openwall.com 获取execl加密文件的Hash PS G:\dl\john-1.9.0-jumbo-1-win64\john-1.9.0-jumbo-1-win64\run> python .\office2john.py .\test6.xlsx test6.xlsx:$office$*…

SpringCloud -- Nacos详细介绍

5. Nacos 5.1 Nacos介绍 Nacos 可以理解为微服务的“电话簿 遥控器”。它是阿里巴巴开源的一个核心工具,主要解决微服务架构中的两大问题: 5.1.1 服务注册与发现(电话簿) 服务注册:当某个微服务(比如“订单…

【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)

​​​​​本篇带大家探究的是SPFA算法;从基本理解,画图分析展示,再到最后的代码实现,以及为何要这样实现代码,等一些细节问题做解释,相关题型应用,非常值得哟,尤其是刚入门的小白学…

webrtc网页一对一通话

基于flutter-webrtc-server做的更改,只使用网页实现语音和视频一对一通话,不支持多对多。 项目地址: https://github.com/chging/rtc-server

Java调用bat执行python脚本

1、问题概述?在windows环境中可以通过Java调用bat执行文件,从而调用python脚本,使用起来方便。2、实现方式?2.1、核心代码bat文件可以在任意位置//获取文件在项目中的文职 String batFilePathSystem.getProperty("user.dir&q…

JavaWeb 欢迎页设置详解

JavaWeb 欢迎页设置详解 欢迎页&#xff08;Welcome Page&#xff09;是用户访问 Web 应用根目录时自动展示的默认页面。在 JavaWeb 中有多种配置方式&#xff1a;一、配置方式 1. 通过 web.xml 配置&#xff08;传统方式&#xff09; <web-app><!-- 配置欢迎页列表 -…

反射和类加载机制

一 类加载机制 1.1 加载机制简介 Java程序从编写到运行这个过程大致可以分为两个阶段&#xff1a;编译阶段和运行阶段。 编译阶段指的是&#xff0c;java源代码文件**(*.java)被java编译器&#xff08;javac&#xff09;编译成字节码文件(*.class)**的过程。这个过程不需要直接…

在CentOS 7 上安装 MySQL 数据库

文章目录前言一、使用官方 MySQL 仓库安装 MySQL1.1 下载并安装 MySQL 官方 YUM 仓库1.2 安装 MySQL YUM 仓库1.3 安装 MySQL1.3.1 补充&#xff1a;1.4 启动 MySQL 服务1.5 设置 MySQL 服务开机启动1.6 获取临时 root 密码1.7 配置 MySQL1.7.1 注意事项1.8 完成安装二、使用默…

Linux:套接字

从进程的视角来看&#xff0c;网络通信就是一个主机上的进程和另外一个主机上的进程进行信息传递&#xff0c;因此对于操作系统而言&#xff0c;网络通信就是一种进程间通信的方式。不过这种进程间通信有特殊之处&#xff1a;同一台主机下可以通过进程ID来标识一个唯一的进程&a…

Android init.rc详解3

关于Android Init的详解&#xff0c;关于Action&#xff0c;Service&#xff0c;Trigger的请参考Android init.rc详解1&#xff0c;关于Options的请参考Android init.rc详解2&#xff0c;本章将介绍常见的Commands。 1 Commands bootchart [start|stop] 启动或停止bootcharti…

Sentinel原理之规则管理

文章目录1. 基础知识2. 数据源使用2.1 RedisDatasource2.2 ZookeeperDatasource1. 基础知识 流量控制规则&#xff08;FlowRule&#xff09;&#xff1a; 阈值类型grade&#xff1a; 0&#xff08;并发线程数&#xff09;&#xff1a;限制同时处理请求的线程1&#xff08;QPS…

系统时钟配置

STM32F103C8T6的系统时钟配置成72MHZ1. 什么是 STM32 系统时钟系统时钟&#xff08;System Clock&#xff09;是整个 MCU&#xff08;微控制器&#xff09;运行的“节拍信号”&#xff0c;所有 CPU 指令执行、外设操作、定时器计时、总线数据传输等&#xff0c;都依赖这个时钟频…

Al大模型-本地私有化部署大模型-大模型微调

魔塔社区 魔塔社区平台介绍 https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct 申请免费的试用机器 如果自己没有机器 &#xff0c;从这里申请机器 。 下载大模型 pip install modelscope 下载到当前目录 mkdir -p /root/autodl-tmp/demo/Qwen/Qwen2.5-0.5B-Ins…

国内著名AI搜索优化专家孟庆涛发表《AI搜索内容可信度评估综合指南》

近日&#xff0c;国内著名AI搜索优化专家、中国GEO生成式引擎优化领域的开拓者与实践专家孟庆涛正式发布《AI搜索内容可信度评估综合指南》&#xff0c;针对当前AI生成内容&#xff08;AIGC&#xff09;在搜索场景中可信度参差不齐的痛点&#xff0c;首次提出覆盖"技术-内…

ruoyi-flowable系统防xss攻击配置(使用富文本的方式)

背景。开发小程序过程中。用户使用富文本的方式比较多。但在传输后发现如上传到系统中的图片链接地址被清空了。问题&#xff1a;想要使用富文本。还需要开启xss过滤。有什么好的解决方案吗&#xff1f;解决方案&#xff08;我比较倾向的&#xff09;&#xff1a;通过对富文本内…

【opencv-Python学习笔记(2): 图像表示;图像通道分割;图像通道合并;图像属性】

目标&#xff1a;1.学会图像的通道分割与合并2.学会图像的的常规操作##一些概念&#xff1a;二值图像&#xff1a;只包含黑色和白色两种颜色的图像&#xff0c;1为白色&#xff0c;0为黑色灰度图像&#xff1a;计算机会将灰度处理为256个灰度级&#xff0c;用区间[0,255]来表示…