通义千问1.5-1.8B-Chat-GPTQ-Int4快速上手:ComfyUI可视化工作流搭建

你是不是也遇到过这样的情况?看到别人用大模型做各种酷炫的应用,自己也想试试,但一看到复杂的代码和命令行就头疼。或者,你想把文本对话和图片生成结合起来,做一个能根据聊天内容自动画图的智能助手,却不知道从哪里开始拼接这些模块。

别担心,今天我们就来解决这个问题。我将带你用一种完全不需要写代码的方式,把通义千问这样的对话大模型,轻松接入到强大的ComfyUI可视化界面中。你只需要像搭积木一样拖拽节点、连接线条,就能构建出属于自己的智能应用工作流。无论你是设计师、内容创作者,还是对AI感兴趣的爱好者,都能在10分钟内上手。

1. 为什么选择ComfyUI来玩转大模型?

在开始动手之前,我们先花一分钟聊聊,为什么ComfyUI是连接大模型和可视化创作的神器。

你可能用过一些在线的AI聊天或画图工具,它们很方便,但往往功能固定,没法按照你的想法进行深度定制。比如,你想让模型先和你聊几句,根据聊天的关键词自动去生成一张图,再把图返回给你看——这种跨模态的连贯工作流,在大多数现成工具里很难实现。

ComfyUI则完全不同。它本质上是一个可视化编程环境。所有功能,无论是加载模型、处理文本,还是生成图片,都被封装成一个个独立的“节点”。你可以自由地拖拽这些节点,用线把它们按照逻辑连接起来,从而定义出任意复杂的工作流程。这意味着,你拥有了无限的组合可能

把通义千问这样的对话模型接入ComfyUI,就像是给你的智能工厂增加了一个“大脑”。这个大脑可以理解你的指令(文本),然后指挥其他的“工人”(如图像生成节点)去完成任务。整个过程清晰可见,完全可控。

2. 准备工作:安装与基础环境

好了,心动不如行动。我们先把需要的“积木”准备好。整个过程非常简单,跟着步骤走就行。

2.1 获取通义千问模型文件

首先,你需要一个量化过的通义千问模型文件。我们这里以 Qwen1.5-1.8B-Chat-GPTQ-Int4 这个版本为例。它模型小,对硬件要求低,在消费级显卡上也能流畅运行,非常适合学习和快速实验。

  1. 模型来源:你可以在一些主流的模型分享社区(如Hugging Face)搜索这个模型名称。通常,GPTQ量化格式的模型会包含以下几个关键文件:

    • config.json (模型配置文件)
    • model.safetensorsmodel-00001-of-00001.safetensors (主要的模型权重文件)
    • tokenizer.json 或相关文件 (分词器文件)
  2. 下载与存放:将下载好的整个模型文件夹(例如命名为 Qwen1.5-1.8B-Chat-GPTQ-Int4),放到ComfyUI的模型目录下。通常路径是:

    ComfyUI/models/llm/
    

    如果 llm 文件夹不存在,就新建一个。这样ComfyUI就能在后续步骤中识别到它了。

2.2 安装必要的ComfyUI自定义节点

ComfyUI本身专注于图像生成,要处理大语言模型,我们需要安装一个扩展插件。目前,ComfyUI-Impact-Pack 子项目中的 Impact-Multiline 节点套件对大语言模型的支持比较友好,也相对稳定。

安装方法很简单:

  1. 打开你的ComfyUI安装目录。
  2. 进入 custom_nodes 文件夹。
  3. 在这个文件夹里打开终端(命令行),执行以下命令来克隆该节点包:
    git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
    
  4. 重启ComfyUI。重启后,你应该能在节点列表里看到新增的节点类别,比如 Impact 或者 Multiline

现在,我们的“积木箱”里就有了处理文本对话的核心模块了。

3. 第一步:在ComfyUI中加载你的对话模型

启动ComfyUI,你会看到一个空白的画布。我们从最核心的一步开始:把通义千问模型请进来。

  1. 找到加载节点:在画布上右键,打开节点搜索菜单。输入 LoadLLM 相关的关键词,比如搜索 Load LLM。如果你安装了上一步的Impact-Pack,可能会找到名为 Load LLM (HuggingFace) 或类似名称的节点。点击它,将其添加到画布上。

  2. 配置模型路径:点击这个新添加的加载节点,在右侧的属性面板中,你需要告诉它模型在哪里。通常会有一个 model_name_or_path 的输入框。这里不要直接填模型在Hugging Face上的名称,而是填写你本地存放的绝对路径。 例如:C:\Users\YourName\ComfyUI\models\llm\Qwen1.5-1.8B-Chat-GPTQ-Int4 小提示:你也可以点击输入框旁边的文件夹图标,从图形化界面里浏览选择。

  3. 加载分词器:同样地,搜索并添加一个 Load Tokenizer 节点。将其 model_name_or_path 指向同一个模型文件夹路径。然后用一条线,将 Load LLM 节点和 Load Tokenizer 节点的 model 输出端口连接起来。这确保了分词器和模型使用相同的词汇表。

完成这一步后,你的画布上应该有两个连接的节点,它们代表了你已经成功将通义千问模型“安装”到了工作流中。你可以把这个组合想象成插上了电源的“AI大脑”。

4. 第二步:搭建一个简单的对话循环

有了“大脑”,我们接下来给它搭建一个“嘴巴”和“耳朵”,让它能听、能说、能思考。我们来创建一个包含用户输入、模型回复和对话历史的基本循环。

  1. 创建对话输入:搜索并添加一个 Multiline Text 节点(可能叫 Text MultilineString)。这个节点就是你输入问题的地方。在它的属性框里,你可以预先写点内容,比如“你好,请介绍一下你自己。”

  2. 创建历史记录:对话模型需要上下文才能进行连贯交流。添加一个 Make LLM Conversation History 节点(名称可能略有不同)。这个节点用来初始化或承载多轮对话的历史记录。第一次运行时,历史通常是空的。

  3. 组装对话处理器:搜索并添加一个核心的 LLM Simple PromptLLM Chat Prompt 节点。这个节点是负责组织对话格式、调用模型生成回复的核心。

    • Load Tokenizer 节点的 tokenizer 输出,连接到这个Prompt节点的 tokenizer 输入。
    • Load LLM 节点的 model 输出,连接到Prompt节点的 model 输入。
    • Multiline Text 节点的文本输出,连接到Prompt节点的 promptuser_input 输入。
    • Make LLM Conversation History 节点的 history 输出,连接到Prompt节点的 history 输入。
  4. 输出与更新历史

    • Prompt节点会有一个 text 输出,这就是模型的回复。连接一个 Show TextPreview Text 节点到这里,以便在ComfyUI界面中看到回复内容。
    • 为了让对话能继续,我们需要把本轮对话加入到历史中。Prompt节点通常还会有一个 updated_history 输出。用一条线将它连接回 Make LLM Conversation History 节点的 history 输入,这样就形成了一个“历史更新”的循环。

现在,点击“Queue Prompt”按钮运行一下。你应该能在输出节点看到通义千问对你问候的回复了!这已经是一个最基础的、可运行的对话工作流。

5. 第三步:进阶玩法——连接图像生成模块

只聊天不过瘾?我们来点更酷的:让通义千问根据聊天内容,指挥一个文生图模型来画画。这里以连接SDXL Turbo模型为例,展示如何构建跨模态工作流。

  1. 解析聊天内容:假设我们想让模型在对话中提取出“画一幅画:XXX”这样的指令。我们可以在Prompt节点后,添加一个 Text Conditional 或正则表达式匹配节点(可能需要其他自定义节点,如 WAS Node Suite 中的文本处理节点)。这个节点用于判断回复中是否包含绘画指令,并提取出关键词。

  2. 连接文生图管线:在ComfyUI画布的另一块区域,搭建一个标准的文生图工作流。包括:

    • Checkpoint Loader 加载一个画图模型(如SDXL)。
    • CLIP Text Encode 节点用于编码正向和反向提示词。
    • KSampler 节点用于调度和生成。
    • VAE DecodeSave Image 节点用于输出图片。
  3. 传递提示词:这是关键的一步!将第一步中提取出的“绘画描述关键词”,连接到文生图流程中 CLIP Text Encode (Positive) 节点的 text 输入。这样,对话模型输出的文本,就直接变成了图像生成的指令。

  4. (可选)条件判断:如果你想做得更智能,可以添加一个 Conditioning 节点。只有当对话内容包含绘画指令时,才触发图像生成流程;否则,就只进行文本回复。这需要用到 Impact 包中的逻辑判断节点,比如 AnySwitch 节点,来控制流程的分支。

完成连接后,你可以尝试输入:“我想画一只在星空下奔跑的机械猫。” 工作流会先将这句话发送给通义千问,模型可能会回复一段描述,然后你设定的规则会从中提取出“星空下奔跑的机械猫”这个核心描述,并自动发送给SDXL模型,最终生成一张对应的图片。整个过程完全自动化,可视化。

6. 实用技巧与常见问题

搭建过程中,你可能会遇到一些小麻烦。这里分享几个实用的技巧和常见问题的解决方法。

  • 节点太多,连线太乱? 善用 Ctrl+G 来创建节点组。你可以把“语言模型加载部分”、“对话处理部分”、“图像生成部分”分别打成组,并给组命名、上色,这样画布会清晰很多。
  • 想保存自己的工作流? ComfyUI支持将整个画布保存为 .json 文件。点击菜单栏的 Save 即可。下次直接 Load 这个json文件,所有节点和连接都会恢复。
  • 运行时报错“CUDA out of memory”? 这说明显存不够了。对于1.8B的模型,通常6GB显存足够。如果不够,可以尝试在 Load LLM 节点的设置中,找到 device_mapload_in_4bit/8bit 等选项,尝试以更低精度加载模型。
  • 模型回复速度慢? 首次加载模型需要时间,后续推理会快很多。确保你的 max_new_tokens(生成最大长度)设置得合理,不要过长(比如64-256之间通常够用)。过长的生成会显著增加时间。
  • 找不到某个节点? 确保自定义节点已正确安装并重启了ComfyUI。有时节点名称会有变化,多尝试几个相关的关键词搜索。

7. 总结

跟着上面的步骤走一遍,你应该已经成功在ComfyUI里搭建了一个既能聊天又能触发画图的智能工作流了。整个过程就像在玩一个高级版的流程图设计软件,每一步都看得见、摸得着。

最大的感受就是,可视化搭建真的极大地降低了操作门槛。你不需要去理解复杂的API调用和线程管理,只需要关注“我想让数据怎么流动”。通义千问模型负责理解和生成文本,ComfyUI负责调度和呈现,这种组合让创意实现的路径变得非常直观。

你可以在这个基础上尽情发挥想象力:比如,把图像生成换成语音合成,做一个聊天讲故事并配上语音的电台;或者接入一个文本摘要节点,让模型帮你分析长文档并可视化核心观点。ComfyUI的可扩展性几乎是无限的。

下一步,我建议你多逛逛ComfyUI的社区,那里有很多人分享他们搭建的奇妙工作流。从模仿开始,慢慢加入自己的创意,你会发现,构建属于自己的AI智能体,原来可以这么简单和有趣。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐