ComfyUI-CrewAI 插件完整使用教程
1. 插件简介
ComfyUI-CrewAI 是一个超级厉害的插件,就像是给ComfyUI装了一个智能团队管理系统!
插件原地址: https://github.com/luandev/ComfyUI-CrewAI
这个插件能干什么?
想象一下,你有一个公司,里面有很多不同职业的员工:有写文案的、有做设计的、有做策划的。这个插件就是让你在ComfyUI里创建这样的"虚拟员工",让他们互相配合完成各种任务。
能给我们带来什么效果?
- 自动生成和优化图片描述词(提示词)
- 让多个AI智能体协作完成复杂任务
- 像搭积木一样简单地设计AI工作流程
- 不用写代码就能让AI帮你干活
2. 如何安装
方法一:自动安装(推荐新手)
- 打开ComfyUI管理器
- 搜索"ComfyUI-CrewAI"
- 点击安装即可
方法二:手动安装
- 找到ComfyUI的安装目录
- 进入
custom_nodes文件夹 - 在这里打开命令行,输入:
git clone https://github.com/luandev/ComfyUI-CrewAI.git - 进入新下载的文件夹,安装依赖:
pip install -r requirements.txt
3. 节点详细解析
3.1 📎CrewAI Agent 节点 - 创建虚拟员工
这个节点是干嘛的?
就像HR部门招聘员工一样,这个节点让你创建各种"虚拟员工"。每个员工都有自己的专长、目标和背景故事。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 角色 | role | 文本 | 根据需要填写 | 就像给员工分配职位,比如"文案写手"、"设计师" | 定义智能体在团队中的主要职责和专业领域 | 填写"专业摄影师",这个AI就会以摄影师的角度思考问题 |
| 目标 | goal | 文本 | 根据需要填写 | 告诉这个员工要完成什么任务,比如"写出吸引人的广告文案" | 设置智能体的主要目标和期望达成的结果 | 填写"创作出能让人一眼就被吸引的产品描述" |
| 背景故事 | backstory | 文本 | 根据需要填写 | 给员工编个身世,让他更像真人,比如"有10年广告经验" | 为智能体提供个性化背景,影响其思考方式和回答风格 | 填写"曾在顶级广告公司工作5年,擅长情感营销" |
| 语言模型 | llm | CREWAI_LLM | 可选 | 选择这个员工用什么"大脑"来思考 | 指定智能体使用的语言模型接口 | 连接OpenAI或其他语言模型节点 |
| 详细输出 | verbose | 布尔值 | False | 是否让这个员工汇报工作详情 | 控制智能体是否输出详细的执行日志 | 设为True可以看到AI的思考过程 |
| 允许委派 | allow_delegation | 布尔值 | True | 是否允许这个员工把任务分给别人 | 控制智能体是否可以将任务委派给其他智能体 | 设为True让AI更灵活地处理复杂任务 |
3.2 📎CrewAI Task 节点 - 分配具体任务
这个节点是干嘛的?
就像老板给员工分配具体工作任务一样,这个节点定义每个虚拟员工要做什么具体的事情。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 任务描述 | description | 文本 | 详细描述任务 | 清楚告诉员工要干什么活 | 详细说明任务的具体要求和执行步骤 | "为一款新手机写一段吸引年轻人的广告文案" |
| 预期输出 | expected_output | 文本 | 描述期望结果 | 告诉员工你希望看到什么样的结果 | 定义任务完成后应该产生的具体输出格式和内容 | "一段100字左右的广告文案,要有创意和吸引力" |
| 负责员工 | agent | CREWAI_AGENT | 选择对应员工 | 指定哪个虚拟员工来完成这个任务 | 将任务分配给特定的智能体执行 | 连接之前创建的Agent节点 |
| 上下文 | context | 任务列表 | 可选 | 告诉员工需要参考之前的工作结果 | 指定执行此任务前需要完成的前置任务 | 连接其他Task节点作为参考 |
3.3 📎CrewAI Crew 节点 - 团队管理中心
这个节点是干嘛的?
就像公司的项目经理一样,这个节点负责管理整个团队,协调所有员工和任务,确保大家按顺序完成工作。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 员工列表 | agents | CREWAI_AGENT列表 | 所有创建的员工 | 把所有招聘的虚拟员工都加入这个团队 | 指定参与协作的所有智能体 | 连接所有Agent节点 |
| 任务列表 | tasks | CREWAI_TASK列表 | 所有分配的任务 | 把所有要完成的任务都列出来 | 指定团队需要执行的所有任务 | 连接所有Task节点 |
| 执行模式 | process | 选择模式 | sequential | 选择任务执行的顺序:按顺序还是分层管理 | 定义任务执行的流程模式 | sequential是一个接一个,hierarchical是分层管理 |
| 详细输出 | verbose | 布尔值 | False | 是否显示团队工作的详细过程 | 控制是否输出详细的团队协作日志 | 设为True可以看到团队协作过程 |
| 主题 | topic | 文本 | 可选 | 给整个项目定个主题或方向 | 为整个团队协作提供统一的主题指导 | 填写"春季新品推广活动" |
3.4 📎CrewAI LLM OpenAI 节点 - OpenAI大脑
这个节点是干嘛的?
就像给员工配置"大脑"一样,这个节点让你的虚拟员工使用OpenAI的智能大脑来思考和回答问题。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model | 文本 | gpt-4 | 选择用哪个版本的OpenAI大脑 | 指定使用的OpenAI模型版本 | 填写"gpt-4"获得最佳效果 |
| API密钥 | api_key | 文本 | 你的密钥 | 你的OpenAI账户密码 | OpenAI服务的身份验证密钥 | 从OpenAI官网获取的密钥 |
| 温度 | temperature | 数字 | 0.7 | 控制AI回答的创意程度,越高越有创意 | 控制模型输出的随机性和创造性 | 0.1很保守,0.9很有创意 |
| 最大回复长度 | max_tokens | 数字 | 1000 | 限制AI回答的最大字数 | 控制模型单次输出的最大token数量 | 根据需要调整,避免过长回复 |
3.5 📎CrewAI LLM Chat GPT 节点 - ChatGPT大脑
这个节点是干嘛的?
专门用来连接ChatGPT的节点,让你的虚拟员工使用ChatGPT的强大能力。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型版本 | model | 文本 | gpt-4 | 选择ChatGPT的版本 | 指定使用的ChatGPT模型版本 | 推荐使用gpt-4获得最佳效果 |
| API密钥 | api_key | 文本 | 你的密钥 | 你的OpenAI账户密码 | OpenAI服务的身份验证密钥 | 从OpenAI官网获取 |
| 温度 | temperature | 数字 | 0.7 | 控制回答的创意程度 | 控制模型输出的随机性 | 0.1很保守,0.9很有创意 |
| 最大回复长度 | max_tokens | 数字 | 1000 | 限制回答的最大字数 | 控制单次输出的最大token数量 | 根据需要调整 |
3.6 📎CrewAI LLM Ollama 节点 - 本地大脑
这个节点是干嘛的?
让你使用本地安装的AI大脑,不需要联网就能工作,就像给员工配了一个离线版的智能助手。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model | 文本 | llama2 | 选择本地安装的AI模型 | 指定Ollama中可用的模型名称 | 填写"llama2"或"mistral" |
| 服务器地址 | base_url | 文本 | localhost:11434 | Ollama服务运行的地址 | Ollama服务的URL地址 | 通常是默认的localhost:11434 |
| 温度 | temperature | 数字 | 0.7 | 控制回答的创意程度 | 控制模型输出的随机性 | 0.1很保守,0.9很有创意 |
3.7 📎CrewAI LLM Hugging Face 节点 - 开源大脑
这个节点是干嘛的?
连接Hugging Face平台上的各种开源AI模型,就像给员工选择不同品牌的智能助手。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model | 文本 | 具体模型名 | 选择Hugging Face上的模型 | 指定Hugging Face平台上的模型标识 | 填写"microsoft/DialoGPT-medium" |
| 访问令牌 | token | 文本 | 你的令牌 | 你的Hugging Face账户令牌 | Hugging Face平台的身份验证令牌 | 从Hugging Face账户获取 |
| 温度 | temperature | 数字 | 0.7 | 控制回答的创意程度 | 控制模型输出的随机性 | 0.1很保守,0.9很有创意 |
3.8 📎CrewAI Agent List 节点 - 员工花名册
这个节点是干嘛的?
就像公司的员工花名册一样,把多个虚拟员工整理成一个列表,方便管理。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 员工1 | agent_1 | CREWAI_AGENT | 第一个员工 | 添加第一个虚拟员工 | 列表中的第一个智能体 | 连接Agent节点 |
| 员工2 | agent_2 | CREWAI_AGENT | 第二个员工 | 添加第二个虚拟员工 | 列表中的第二个智能体 | 连接Agent节点 |
| 员工3 | agent_3 | CREWAI_AGENT | 第三个员工 | 添加第三个虚拟员工 | 列表中的第三个智能体 | 连接Agent节点 |
3.9 📎CrewAI Task List 节点 - 任务清单
这个节点是干嘛的?
就像项目经理的任务清单一样,把多个任务整理成一个列表,方便统一管理。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 任务1 | task_1 | CREWAI_TASK | 第一个任务 | 添加第一个要完成的任务 | 列表中的第一个任务 | 连接Task节点 |
| 任务2 | task_2 | CREWAI_TASK | 第二个任务 | 添加第二个要完成的任务 | 列表中的第二个任务 | 连接Task节点 |
| 任务3 | task_3 | CREWAI_TASK | 第三个任务 | 添加第三个要完成的任务 | 列表中的第三个任务 | 连接Task节点 |
3.10 📎CrewAI Text 节点 - 文本显示器
这个节点是干嘛的?
就像办公室的公告板一样,用来显示和保存文本内容,方便查看AI的工作结果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本内容 | text | 文本 | 任意文本 | 显示或输入文本内容 | 用于显示和调试文本信息 | 连接Crew节点的输出查看结果 |
| 标题 | title | 文本 | 可选 | 给这段文本起个标题 | 为文本内容添加标题标识 | 填写"AI生成的文案" |
3.11 DisplayText 节点 - 文本展示板
这个节点是干嘛的?
专门用来展示文本结果的节点,就像电子显示屏一样,让你清楚看到AI的工作成果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数类型 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本输入 | text | 文本 | 连接其他节点 | 接收要显示的文本内容 | 接收并显示文本数据 | 连接Crew节点的输出 |
| 字体大小 | font_size | 数字 | 12 | 控制显示文字的大小 | 设置显示文本的字体大小 | 调整到合适的阅读大小 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先创建一个Agent,分配一个简单任务,熟悉基本流程
- 善用角色设定:给Agent设定具体的角色和背景,会让结果更专业
- 任务描述要清楚:越详细的任务描述,AI完成得越好
4.2 高级使用技巧
- 合理设置温度值:创意类任务用0.7-0.9,事实类任务用0.1-0.3
- 利用上下文:让后面的任务参考前面的结果,形成工作流
- 开启详细输出:调试时开启verbose,能看到AI的思考过程
4.3 性能优化建议
- 合理控制token数量:避免设置过大的max_tokens浪费资源
- 选择合适的模型:简单任务用小模型,复杂任务用大模型
- 批量处理:相似任务可以用一个Agent处理多个Task
5. 常见问题解答
Q1: 为什么我的Agent不工作?
A: 检查以下几点:
- 是否正确设置了LLM节点
- API密钥是否正确
- 角色和目标描述是否清楚
Q2: 如何让AI生成更好的内容?
A: 试试这些方法:
- 给Agent设定专业的背景故事
- 任务描述要具体详细
- 适当调整温度值
Q3: 可以同时使用多个不同的LLM吗?
A: 可以的!不同的Agent可以使用不同的LLM,比如一个用OpenAI,另一个用Ollama。
Q4: 如何节省API费用?
A: 建议:
- 优先使用本地模型(Ollama)
- 合理设置max_tokens
- 使用较小的模型处理简单任务
Q5: 任务执行失败怎么办?
A: 检查:
- 网络连接是否正常
- API密钥是否有效
- 任务描述是否清楚明确
6. 实际应用案例
6.1 自动生成图片描述词
创建一个"提示词专家"Agent,让它帮你优化Stable Diffusion的提示词。
6.2 内容创作团队
设置"文案写手"、"SEO专家"、"编辑"三个Agent,协作完成一篇完整的文章。
6.3 产品营销策划
组建"市场分析师"、"创意总监"、"文案策划"的团队,完成产品推广方案。
7. 总结
ComfyUI-CrewAI插件就像给你的ComfyUI装了一个智能办公室,让多个AI员工协作完成复杂任务。通过合理设置Agent的角色、目标和任务,你可以轻松搭建出强大的AI工作流,大大提升创作效率。
记住,刚开始可能会觉得复杂,但多练习几次就会发现,这个插件真的能让你的AI创作变得更加智能和高效!