NodeGPT 插件保姆级教程
1. 插件简介
插件地址: https://github.com/xXAdonesXx/NodeGPT
NodeGPT 是一个超级厉害的 ComfyUI 插件!简单来说,它就像把 ChatGPT 和其他聊天机器人搬到了 ComfyUI 里面,让你可以在做图的时候同时和 AI 聊天、让 AI 帮你写代码、甚至让多个 AI 一起讨论问题!
这个插件能给我们带来什么效果?
🤖 AI 聊天助手:
- 像和朋友聊天一样和 AI 对话
- 让 AI 帮你写代码、解决问题
- 可以连接 ChatGPT、Ollama 等各种 AI 模型
👥 多 AI 协作:
- 让多个 AI 角色一起讨论问题,就像开会一样
- 可以设置不同的 AI 角色,比如程序员、科学家、批评家等
- AI 们会互相交流,给出更全面的答案
🖼️ 图片理解:
- 上传图片让 AI 描述图片内容
- AI 可以看懂图片并回答相关问题
📝 文本处理:
- 保存 AI 对话记录
- 显示 AI 回复内容
- 加载和处理文本文件
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI Manager
- 在搜索框中输入:
NodeGPT - 找到插件后点击安装
- 重启 ComfyUI
方法二:手动安装
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行命令:
git clone https://github.com/xXAdonesXx/NodeGPT.git - 进入插件目录:
cd NodeGPT - 运行
install.bat(Windows)或手动安装依赖 - 重启 ComfyUI
重要提示:
- 需要配置 API 密钥才能使用 ChatGPT 等服务
- 建议先安装 LM Studio 来使用本地 AI 模型
3. 节点详细解析
3.1 AI 模型连接节点
3.1.1 ChatGPT 节点 - OpenAI 连接器
这个节点就像一个"电话线",帮你连接到 OpenAI 的 ChatGPT 服务,让你可以使用 GPT-4 等强大的 AI 模型。
3.1.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model | Model | 文本 | gpt-4 | 选择要使用的"AI 大脑型号" | 指定 OpenAI 模型名称 | gpt-4 最聪明但贵,gpt-3.5-turbo 便宜但稍弱 |
| API_Key | API_Key | 文本 | None | 输入你的"通行证密码",用来访问 OpenAI | OpenAI API 密钥 | 在 OpenAI 官网申请,格式像 sk-xxx |
3.1.3 Ollama 节点 - 本地 AI 连接器
这个节点就像一个"本地电话交换机",让你连接到本地运行的 Ollama AI 模型,不需要花钱就能用 AI。
3.1.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 文本 | ollama/mistral | 选择要使用的"本地 AI 型号" | Ollama 模型名称 | mistral、llama2 等免费模型 |
| api_type | api_type | 文本 | litellm | 设置"连接方式类型" | API 接口类型 | 一般用默认的 litellm |
| api_base | api_base | 文本 | http://0.0.0.0:8000 | 设置"AI 服务器地址" | Ollama 服务器地址 | 本地运行通常是这个地址 |
3.1.5 LM Studio 节点 - LM Studio 连接器
这个节点就像一个"本地 AI 工作室连接器",让你使用 LM Studio 软件运行的 AI 模型。
3.1.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 文本 | local-model | 设置"模型名称标识" | LM Studio 中的模型标识 | 通常用 local-model 或具体模型名 |
| api_base | api_base | 文本 | http://localhost:1234/v1 | 设置"LM Studio 服务地址" | LM Studio 的 API 地址 | 默认是 localhost:1234 |
3.2 AI 角色节点
3.2.1 Assistant 节点 - AI 助手
这个节点就像创建一个"AI 助手角色",你可以给它起名字、设定性格,让它专门帮你做某类事情。
3.2.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| LLM | LLM | LLM连接 | 必需连接 | 连接"AI 大脑",告诉助手用哪个 AI | 连接 AI 模型配置 | 连接 ChatGPT 或 Ollama 节点 |
| name | name | 文本 | assistant | 给你的"AI 助手起个名字" | AI 助手的名称标识 | 比如"小明"、"编程助手"等 |
| system_message | system_message | 文本 | You are a helpful assistant | 设定"AI 助手的性格和职责" | 系统提示词,定义 AI 角色 | "你是一个编程专家"、"你是一个友善的老师" |
| Seed | Seed | 整数 | 42 | 设置"随机种子",让回答更稳定 | 随机数种子,影响回答的随机性 | 相同种子会得到相似回答 |
| Temp | Temp | 整数 | 0 | 设置"创造性程度",0 最保守,1 最有创意 | 温度参数,控制回答的随机性 | 0 回答很稳定,0.7 比较有创意 |
| request_timeout | request_timeout | 整数 | 120 | 设置"等待回答的最长时间"(秒) | 请求超时时间 | 120 秒通常够用,复杂问题可以设更长 |
3.2.3 UserProxy 节点 - 用户代理
这个节点就像创建一个"用户代表",它可以代表你和 AI 对话,还能执行代码、做决定。
3.2.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| name | name | 文本 | User | 给"用户代表起个名字" | 用户代理的名称 | "用户"、"老板"等 |
| human_input_mode | human_input_mode | 文本 | TERMINATE | 设置"是否需要人工干预" | 人工输入模式 | TERMINATE 自动结束,ALWAYS 总是询问 |
| system_message | system_message | 文本 | Reply TERMINATE if... | 设置"用户代表的行为规则" | 系统消息,定义用户代理行为 | 告诉它什么时候说"结束" |
| default_auto_reply | default_auto_reply | 文本 | Reply TERMINATE if you are done | 设置"默认自动回复内容" | 默认的自动回复消息 | 当不知道说什么时的默认回答 |
| code_execution | code_execution | 文本 | True | 是否允许"执行代码" | 是否启用代码执行功能 | True 可以运行 Python 代码 |
| code_execution_dir | code_execution_dir | 文本 | coding | 设置"代码运行文件夹" | 代码执行的工作目录 | 代码文件会保存在这个文件夹 |
| MaxConsecutiveAutoReply | MaxConsecutiveAutoReply | 整数 | 10 | 设置"最多自动回复几次" | 最大连续自动回复次数 | 防止无限循环对话 |
| Terminate_Token | Terminate_Token | 文本 | TERMINATE | 设置"结束对话的关键词" | 终止对话的标识词 | 看到这个词就停止对话 |
| LLM | LLM | LLM连接 | 可选 | 可选连接"AI 大脑"给用户代表 | 可选的 AI 模型配置 | 不连接就是纯用户代表 |
3.2.5 其他专业角色节点
插件还包含多个专业角色节点,它们的参数基本相同,只是默认的性格设定不同:
- Engineer 节点 - 工程师角色,擅长编程和技术问题
- Scientist 节点 - 科学家角色,擅长研究和分析
- Critic 节点 - 批评家角色,擅长找问题和改进建议
- Planner 节点 - 规划师角色,擅长制定计划和策略
- Executor 节点 - 执行者角色,擅长具体实施任务
3.3 对话和交流节点
3.3.1 Chat 节点 - 聊天对话
这个节点就像一个"聊天室",让用户和 AI 助手进行对话交流。
3.3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Task | Task | 文本 | Task here | 输入你想"问 AI 的问题或任务" | 发送给 AI 的消息内容 | "帮我写一个 Python 函数" |
| User | User | User连接 | 必需连接 | 连接"用户代表角色" | 连接用户代理节点 | 连接 UserProxy 节点 |
| Agent | Agent | Agent连接 | 必需连接 | 连接"AI 助手角色" | 连接 AI 助手节点 | 连接 Assistant 节点 |
| Instructions | Instructions | 文本 | Instructions... | 显示"使用说明" | 操作指导信息 | 告诉你怎么使用这个节点 |
| Input | Input | 文本 | NEW | 控制"对话状态" | 对话控制指令 | NEW 开始新对话,SEND 发送消息 |
3.3.3 GroupChat 节点 - 群聊管理
这个节点就像一个"群聊管理员",可以让多个 AI 角色一起讨论问题,就像微信群聊一样。
3.3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| LLM | LLM | LLM连接 | 必需连接 | 连接"群聊管理员的 AI 大脑" | 群聊管理器的 AI 模型 | 连接 ChatGPT 节点 |
| User | User | User连接 | 必需连接 | 连接"用户代表" | 用户代理节点 | 连接 UserProxy 节点 |
| Agent | Agent | Agent连接 | 必需连接 | 连接"第一个 AI 参与者" | 第一个 AI 助手 | 连接 Assistant 节点 |
| Agent2 | Agent2 | Agent连接 | 必需连接 | 连接"第二个 AI 参与者" | 第二个 AI 助手 | 连接另一个 Assistant 节点 |
| Agent3 | Agent3 | Agent连接 | 可选 | 连接"第三个 AI 参与者" | 第三个 AI 助手 | 可以不连接 |
| Agent4 | Agent4 | Agent连接 | 可选 | 连接"第四个 AI 参与者" | 第四个 AI 助手 | 可以不连接 |
| Agent5 | Agent5 | Agent连接 | 可选 | 连接"第五个 AI 参与者" | 第五个 AI 助手 | 可以不连接 |
| max_round | max_round | 整数 | 50 | 设置"最多聊几轮" | 最大对话轮数 | 防止无限聊下去 |
| Seed | Seed | 整数 | 42 | 设置"随机种子" | 随机数种子 | 让对话结果更稳定 |
| Temp | Temp | 整数 | 0 | 设置"创造性程度" | 温度参数 | 0 保守,1 有创意 |
| request_timeout | request_timeout | 整数 | 120 | 设置"等待时间" | 请求超时时间 | 120 秒通常够用 |
3.3.5 TextGeneration 节点 - 文本生成
这个节点就像一个"简单的 AI 问答机",你问一个问题,它给你一个回答,不需要复杂的角色设定。
3.3.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| LLM | LLM | LLM连接 | 必需连接 | 连接"AI 大脑" | AI 模型配置 | 连接 ChatGPT 或 Ollama 节点 |
| use_cache | use_cache | 文本 | False | 是否"记住之前的回答" | 是否使用缓存 | True 会记住相同问题的答案 |
| timeout | timeout | 整数 | 120 | 设置"等待回答时间" | 请求超时时间 | 120 秒通常够用 |
| system_message | system_message | 文本 | You are a helpful AI assistant | 设置"AI 的基本性格" | 系统提示词 | "你是一个编程助手" |
| Prompt | Prompt | 文本 | Your Prompt | 输入你想"问 AI 的问题" | 用户输入的提示词 | "解释什么是人工智能" |
3.4 图片理解节点
3.4.1 llava 节点 - 图片描述 AI
这个节点就像一个"会看图说话的 AI",你给它一张图片,它能告诉你图片里有什么。
3.4.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片 | 必需连接 | 输入要"让 AI 看的图片" | 输入图像数据 | 连接任何图片输入 |
| Model | Model | 文本 | ggml-model-q4_k.gguf | 设置"AI 看图模型文件名" | LLaVA 模型文件名 | 需要下载对应的模型文件 |
| Clip_Model | Clip_Model | 文本 | mmproj-model-f16.gguf | 设置"图片理解模型文件名" | CLIP 模型文件名 | 配合主模型使用 |
| system_message | system_message | 文本 | You are an assistant who perfectly describes images. | 设置"AI 看图的角色" | 系统提示词 | 告诉 AI 它是图片描述专家 |
| Prompt | Prompt | 文本 | Describe this image in detail please. | 输入"你想问关于图片的什么" | 关于图片的问题 | "描述这张图片"、"图片里有什么动物" |
| models_path | models_path | 文本 | None | 设置"模型文件存放位置" | 模型文件路径 | 默认在 models 文件夹 |
| n_ctx | n_ctx | 整数 | 2048 | 设置"AI 记忆长度" | 上下文长度 | 数字越大记忆越长但越慢 |
| n_gpu_layers | n_gpu_layers | 整数 | 0 | 设置"用显卡加速的层数" | GPU 加速层数 | 有好显卡可以设大一点 |
| temp | temp | 小数 | 0.1 | 设置"回答的创造性" | 温度参数 | 0.1 很保守,0.8 很有创意 |
3.5 文本处理节点
3.5.1 DisplayText 节点 - 文本显示器
这个节点就像一个"显示屏",把 AI 的回答显示出来让你看。
3.5.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | TEXT连接 | 必需连接 | 连接"要显示的文字内容" | 文本数据输入 | 连接 Chat 或 TextGeneration 节点 |
3.5.3 TextOutput 节点 - 文本保存器
这个节点就像一个"文件保存器",把 AI 对话记录保存成文本文件。
3.5.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Output_Text | Output_Text | TEXT连接 | 必需连接 | 连接"要保存的对话内容" | 要保存的文本数据 | 连接 Chat 节点的输出 |
| filename_prefix | filename_prefix | 文本 | AutoGen | 设置"保存文件的名字前缀" | 文件名前缀 | "对话记录"、"AI回答"等 |
3.5.5 LoadTXT 节点 - 文本加载器
这个节点就像一个"文件读取器",可以读取电脑里的文本文件内容。
3.5.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| name | name | 文本 | log.txt | 设置"要读取的文件名" | 文件名 | "说明.txt"、"问题.txt"等 |
| path | path | 文本 | path | 设置"文件所在的文件夹" | 文件路径 | "C:/Documents"、"./files"等 |
3.6 配置和工具节点
3.6.1 LoadAPIconfig 节点 - API 配置加载器
这个节点就像一个"密码管理器",帮你安全地加载保存的 API 密钥。
3.6.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| API_KEY | API_KEY | 下拉选择 | 文件列表 | 选择"保存密钥的文件" | API 配置文件选择 | 选择 OpenAI.txt 等配置文件 |
3.6.3 其他工具节点
插件还包含一些辅助节点:
- DisplayTextAsImage 节点 - 把文字转换成图片显示
- Conditioning 节点 - 文本条件处理
- Output2String 节点 - 输出转字符串
- EVAL 节点 - 代码评估执行
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先试试 TextGeneration 节点,体验基本的 AI 问答
- 配置 API:准备好 OpenAI API 密钥或安装 LM Studio 使用免费模型
- 角色设定:给 AI 助手设定明确的角色,比如"编程助手"、"写作老师"
- 保存对话:使用 TextOutput 节点保存重要的对话记录
4.2 进阶使用技巧
- 多 AI 协作:使用 GroupChat 让不同角色的 AI 一起讨论复杂问题
- 代码执行:在 UserProxy 中启用代码执行,让 AI 能运行 Python 代码
- 图片分析:使用 llava 节点让 AI 理解和描述图片内容
- 工作流保存:把常用的 AI 对话流程保存成工作流模板
4.3 性能优化建议
- 本地模型:使用 Ollama 或 LM Studio 可以免费使用 AI,但速度较慢
- 云端模型:ChatGPT 等云端模型速度快质量高,但需要付费
- 合理设置:调整温度参数平衡创造性和稳定性
- 超时设置:根据网络情况调整超时时间
5. 常见问题解答
5.1 安装和配置问题
Q: 安装后节点不显示怎么办?
A:
- 检查是否正确运行了 install.bat
- 确认依赖包是否安装完整
- 重启 ComfyUI
- 查看控制台错误信息
Q: 如何配置 API 密钥?
A:
- 在 API_Configs 文件夹中创建 OpenAI.txt 文件
- 把你的 API 密钥粘贴进去
- 或者直接在 ChatGPT 节点中输入密钥
5.2 使用问题
Q: AI 不回答或报错怎么办?
A:
- 检查 API 密钥是否正确
- 确认网络连接正常
- 检查模型名称是否正确
- 调整超时时间设置
Q: 本地模型如何使用?
A:
- 安装 LM Studio 或 Ollama
- 下载对应的模型文件
- 启动本地服务
- 使用对应的连接节点
5.3 功能问题
Q: 群聊功能如何使用?
A:
- 创建多个不同角色的 Assistant 节点
- 连接到 GroupChat 节点
- 设置合适的最大轮数
- 通过 Chat 节点发起讨论
Q: 图片理解功能如何使用?
A:
- 下载 LLaVA 模型文件到 models 文件夹
- 配置正确的模型文件名
- 连接图片输入
- 设置合适的提示词
6. 实用案例
6.1 简单问答助手
- 连接 ChatGPT 节点
- 创建 Assistant 节点,设定为"友善的助手"
- 使用 TextGeneration 节点进行问答
- 用 DisplayText 显示结果
6.2 代码生成和调试
- 创建 Engineer 角色的 Assistant
- 创建支持代码执行的 UserProxy
- 使用 Chat 节点让它们协作
- AI 会写代码并自动测试
6.3 多专家讨论
- 创建多个专业角色:Engineer、Scientist、Critic
- 使用 GroupChat 让它们讨论复杂问题
- 每个 AI 会从自己的专业角度给出意见
- 最终得到全面的解决方案
6.4 图片内容分析
- 使用 llava 节点
- 输入图片和问题
- AI 会详细描述图片内容
- 可以问具体的图片相关问题
7. 总结
NodeGPT 是一个功能强大的 ComfyUI 插件,它把 AI 对话能力完美集成到了图像处理工作流中。通过27个专业节点,你可以:
核心优势:
- 🤖 多模型支持:支持 ChatGPT、Ollama、LM Studio 等多种 AI 模型
- 👥 多角色协作:可以创建不同专业角色的 AI 进行协作讨论
- 🖼️ 图片理解:AI 可以看懂图片并回答相关问题
- 💻 代码执行:AI 可以写代码并自动运行测试
- 📝 完整记录:可以保存和加载对话记录
适用场景:
- 编程学习和调试
- 创意写作和头脑风暴
- 图片内容分析
- 复杂问题的多角度讨论
- 自动化任务处理
无论你是想要一个简单的 AI 问答助手,还是需要复杂的多 AI 协作系统,NodeGPT 都能满足你的需求。它让 AI 对话变得像搭积木一样简单!