2025最新本地部署 ComfyUI,解锁 DeepChat 【吉卜力】风格化新技能

前段时间 GPT-4o 的【吉卜力】图像风格化,真的是火出天际,那如何给 DeepChat 也添加此能力呢?

【吉卜力】图片风格化,本质还是图生图,而大模型的 function call 不能直传图片 base64,否则 token 会爆。所以与 MCP Server 交互,涉及图片最好使用 URL 或文件路径,本例使用的就是文件路径。

需要特别说明一下,DeepChat V0.0.15 版本后,才能够获取图片的文件全路径,以前版本只支持获取文件名。

实现思路大致为在 ComfyUI 基础上,打造一个通用的 ComfyUI-MCP server,它可以根据配置 ,将特定 workflow 暴露给 DeepChat 使用。

具体实现步骤如下。

本地部署 ComfyUI ,运行【吉卜力】工作流

  1. 拷贝 github.com/jax-explorer/ComfyUI-easycontrol 到 ComfyUI 自定义节点。

  2. 下载 workflow/easy_control_workflow.json 文件,然后通过 ComfyUI web 界面导入此 workflow。

  3. 等相应模型下载并加载完成,可以选择 load 图片,点击进行生图。

这里都是 ComfyUI 基本操作,只要确保 ComfyUI 能正常工作就行。

使用 comfy2go 调用 ComfyUI API 接口进行生图

因为要与 DeepChat 结合,直接使用 ComfyUI 的界面是不行的,这里我使用 github.com/richinsley/comfy2go 这个库, 它能够实现和 ComfyUI 接口交互,基于它构建统一的 ComfyUI API服务或者 MCP Server 非常方便。

这里我实现了一个统一配置,主要包括两部分,workflow 描述和workflow 对外暴露的参数,从而能够实现低代码方式,实现 ComfyUI 任意 workflow 能力暴露。

  • workflow 整体配置

img

主要是对 workflow的描述,包含基础信息,以及 workflow 的工作流json 文件( ComfyUI 界面导出)。

  • 定义 workflow 暴露的字段,并说明字段与 ComfyUI workflow 节点绑定关系。

img

根据以上两份配置,可以生成 基于 go-mcp SDK 的 Tool ,内容大致为

tool := &protocol.Tool{    Name:           "吉卜力风格化",    Description:    "输入一张照片,输出吉卜力风格化的图片",    InputSchema: protocol.InputSchema{        Type:       protocol.Object,        Properties: map[string]*protocol.Property{            "image": {                Type: "string",                Description: "请输入参考图片",            },        },        Required:   []string{"image"},    },}

该 tool 的 handler 逻辑为根据用户输入的图片文件路径,读取图片内容,然后使用 comfy2go 将图片发送给 ComfyUI,最后监听 ComfyUI 的 WS message,确保任务处理完成。

读取 ComfyUI 生成的图片,保存到一个特定目录,比如 ./pics,方便后续操作使用。

使用 go-mcp 构建 MCP Server

这里我准备使用 gin 作为 http 服务,因为经过 ComfyUI 生成的图片,需要在 DeepChat 界面直接渲染出来,最好能返回图片 UR,而用 gin 搭建一个静态资源服务器,非常方便。

那如何将 gin 与 go-mcp 结合呢,其实 go-mcp SDK 提供了对应方法来获取 SSE 的 handler,代码大致为:

sseTransport, handler, err := transport.NewSSEServerTransportAndHandler("/message")if err != nil {    log.Panicf("new sse transport and hander with error: %v", err)}
// Initialize MCP servermcpServer, err := server.NewServer(sseTransport,    server.WithServerInfo(protocol.Implementation{        Name:    "comfyui-mcp",        Version: "1.0.0",    }),)
// register tool// mcpServer.RegisterTool(tool, NewToolHandler(workflowID))
go func() {    mcpServer.Run()}()defer mcpServer.Shutdown(context.Background())
r := gin.Default()// add mcp handlerr.GET("/sse", func(ctx *gin.Context) {    mcpHandler.HandleSSE().ServeHTTP(ctx.Writer, ctx.Request)})r.POST("/message", func(ctx *gin.Context) {    mcpHandler.HandleMessage().ServeHTTP(ctx.Writer, ctx.Request)})
r.Static("/pics/", "pics")r.Run(cfg.Server.Linsten)

演示效果

触发任务

img

生成效果:

img

img

好了,到此我们演示就完成了,主要通过构建通用的 ComfyUI-MCP,快速暴露相应能力给 DeepChat,从而实现吉卜力图生图。

基于此 MCP,我们只需简单配置即可暴露更多能力,比如文生图,人物写真,去水印,图像增强等,未来我将演示更多用法。

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门AI绘画是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。

二方面是可以找到适合自己的学习方案

包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

1.stable diffusion安装包 (全套教程文末领取哈

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本。

在这里插入图片描述

2.stable diffusion视频合集

我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。

在这里插入图片描述

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

在这里插入图片描述

5.AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值