Dify 保姆级教程之:零代码打造图像生成专家(下)

昨天,利用 Dify 打造了一个图像生成智能体

无奈后端调用不够丝滑,今天:将上篇的智能体,换用聊天助手-工作流编排的方式搭建,从而将图像生成专家接入微信机器人-小爱(AI),方便大家体验。

先看下搭建完成后的流程图(有需要的朋友,文末自取):

大致流程:用户输入生成生成图片的诉求,大模型LLM分析后,输出结构化的:绘图提示词图片尺寸等信息,然后通过HTTP请求调用绘图大模型,最终给出生成图片。

话不多说,上实操!

1. 聊天助手-工作流编排

Step 1: 创建应用

Step 2: 修改 LLM 节点,编写提示词如下:

根据用户聊天记录和用户输入{{#sys.query#}},生成给图像生成工具的参数:提示词和图像尺寸。
- 提示词:请从对话记录中找到和图片生成相关的词汇,生成给stable diffusion等图片生成模型的英文提示词,提示词内容尽可能丰富;
- 图像尺寸:请从对话记录中找到和图像尺寸相关的词汇,并找到和图像尺寸选项中最接近的一个,如果没有相关词汇,则默认选择1024x576。图像尺寸选项有:1024x1024, 512x1024, 576x1024, 1024x576
要求:
最终只需输出json格式的文本,内容格式如下:
{”prompt“:"english prompt", "image_size":"1024x576"}

Step 3: 添加代码执行节点,编写代码如下,把大模型的输出,变成结构化的字典:

def main(arg1: str) -> dict:
    import json
    data = json.loads(arg1)
    return {
        "prompt": data['prompt'],
        "image_size": data['image_size']
    }

这一步,我们将获得两个变量:

  • prompt:给绘画模型的英文提示词,经过了 LLM 的润色;
  • image_size:期望生成的图片尺寸,由 LLM 决策。

Step 3: 添加HTTP请求节点,和上篇一样,我们还是采用硅基的绘图API,编辑如下:

Step 4: 添加代码执行2节点,这一步是为了提取HTTP请求,也即绘图API生成的图像 url:

Step 5: 添加直接回复节点,为了在web端显示图像,需要将图像 url 转成 markdown 格式:![](url):

至此,一个完整的图像生成工作流就搭建完了,如下:

2. 效果展示

搞定工作流,我们点击预览来测试下。

第一轮:生成猫的图像

第二轮:要求尺寸9:16

第三轮:要求在草地上奔跑

因为 Dify 工作流内置了记忆,默认支持 10 轮连续对话,所以,你只需不断提需求,逐步生成你想要的图像。

3. API 调用

关于如何调用 API,可以参考之前的分享。

不过,有一点需要注意:如果要实现多轮对话,传参一定要加上:userconversation_id

conversation_id是系统在第一次对话后自动生成的UUID(Universally Unique Identifier,通用唯一识别码),不可手动传入。

为此,需要把conversation_id缓存到数据库,否则每次调用都将是一次新的对话。

大致流程,可以表示如下:

# 从数据库中获取conversion_id
conversion_id = get_conversation_id(uname=from_name, agent_name='image', start_time=start_time)
# 基于conversion_id请求绘画模型
image_url, conversion_id = generate_dify_image(text=content, user=from_name, conversation_id=conversion_id)
# 把conversion_id缓存到数据库
if conversion_id:
    add_conversation_id(conversation_id=conversion_id, uname=from_name, agent_name='image', timestamp=datetime.now().strftime("%Y%m%d%H%M%S"))

4. 接入小爱

最后,我们把做好的绘画智能体,接入到微信机器人-小爱(AI)

写在最后

本文带大家实操了Dify 搭建图像生成专家,并实现了后端调用。

如果对你有帮助,欢迎点赞收藏备用。

PS:本文工作流完整的 DSL,分享给有需要的朋友,公众号后台,发送图像生成自取。

关于 DSL 如何导入,可参考:Dify 保姆级教程之:零代码打造票据识别专家


为方便大家交流,新建了一个 AI 交流群,欢迎感兴趣的小伙伴加入。

小爱(AI)也在群里,公众号后台「联系我」,拉你进群。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值