Skip to content

Latest commit

 

History

History
233 lines (189 loc) · 23 KB

README_ZH.md

File metadata and controls

233 lines (189 loc) · 23 KB

图片

C​‎​‎‏​‍‎​‎​‎‏​‌‎​‎‍​‍‏​‍‌​‌‏omfyui_llm_party希望基于comfyui这一个极为简约的UI界面作为前端,开发一套完整的用于LLM工作流搭建的节点库。可以让用户更便捷快速地搭建自己的LLM工作流,并且更方便地接入自己的图像工作流中。

效果展示

CN.mp4

项目综述

ComfyUI LLM Party,从最基础的 LLM 多工具调用、角色设定快速搭建自己的专属AI助手、到可以行业落地的词向量RAG、GraphRAG来本地化的管理行业内知识库;从单一的智能体流水线,到复杂的智能体与智能体辐射状交互模式、环形交互模式的构建;从个人用户需要的接入自己的社交APP(QQ、飞书、Discord),到流媒体工作者需要的一站式LLM+TTS+ComfyUI工作流;从普通学生所需要的第一个LLM应用的简单上手起步,到科研工作者们常用的各类参数调试接口,模型适配。这一切,你都可以在ComfyUI LLM Party中找到答案。

最新更新

  1. 新增了GPT-sovits节点,可以调用GPT-sovits模型,将文字根据你的参考音频转换为语音,也可以将你微调后的模型路径填入(如果不填就是基底模型进行推理),获得你想要的任意音色。使用时,需要下载GPT-sovits项目和对应的基底模型到本地,然后在GPT-sovits项目文件夹下用runtime\python.exe api_v2.py启动API服务。此外,chatTTS节点被移动到了comfyui LLM mafia中。原因是chatTTS的依赖库较多,且在PyPi中的许可证为CC BY-NC 4.0,这是一个非商用许可证。即使chatTTS的github项目是AGPL协议的,我们还是为了避免不必要的麻烦,将chatTTS节点移到了comfyui LLM mafia中。希望大家能够理解!
  2. 现已支持openai最新模型o1系列模型!!!!
  3. 新增了本地文件控制工具,让LLM可以控制你指定的文件夹的文件,例如:读取、写入、追加、删除、重命名、移动、复制文件等。由于该节点比较危险,收录在comfyui LLM mafia中。
  4. 新增SQL工具,可以让LLM查询SQL数据库。
  5. 更新了readme的多语言版本,翻译readme文档的工作流:translate_readme
  6. 更新了4个迭代器节点(文字迭代器、图片迭代器、表格迭代器、json迭代器),迭代器模式有:顺序、随机和无限三种模式。顺序会按顺序依次输出,直到超出索引上限自动中止进程,并将索引值重置为0,随机会选择一个随机索引输出,无限会无限循环输出。
  7. 新增了Gemini API加载器节点,现在兼容Gemini官方的API啦!如果你是国内网络环境,如果出现API地区受限制的问题,请将节点切换到美国,并使用TUN模式。由于Gemini在工具调用时,如果返回的参数中包含中文字符会出现返回码为500的报错,因此部分工具节点不可用。示例工作流:start_with_gemini
  8. 新增lore book节点,可以在与LLM对话时插入你的背景设定,示例工作流:lorebook
  9. 新增了FLUX提示词生成器面具节点,可以生成炉石卡牌、游戏王卡牌、海报、漫画等多种风格的提示词,可以让FLUX模型直出。参考工作流:FLUX提示词

使用说明

  1. 节点的使用说明请参考:怎么使用节点

  2. 如果插件存在问题或者您有其他的疑问,欢迎加入QQ群:931057213

  3. 工作流教程请参考:工作流教程,感谢HuangYuChuh的贡献!

  4. 高阶工作流玩法账号:openart

  5. 更多的工作流可以参考workflow文件夹

视频教程

  1. 手把手教你如何搭建积木化智能体(超简单!)

  2. 教你GPT-4o接入comfyui | 让工作流调用另一个工作流 | 让LLM变成一个tool

  3. 将你的工作流伪装成GPT接入微信|Omost兼容!灵活地创造自己的dalle3

  4. 如何在comfyui中玩到互动小说游戏

  5. AI女友,并且是你的形状|comfyui上实现graphRAG,联动neoa4j|comfyui工作流接入streamlit前端

模型支持

  1. 支持所有openai格式的API调用(结合oneapi可以调用几乎所有LLM API,也支持所有的中转API),base_url的选择参考config.ini.example,目前已测试的有:
  1. 支持Gemini格式的API调用:
  1. 兼容transformer库AutoModelForCausalLM类支持的大部分本地模型(本地模型节点上的model type不知道选什么就选llama,大概率可以适配),目前已测试的有:
  1. 模型下载:

下载

使用以下方法之一安装

方法一:

  1. comfyui管理器中搜索comfyui_LLM_party,一键安装
  2. 重启comfyui

方法二:

  1. 导航到 ComfyUI 根文件夹中下的custom_nodes子文件夹
  2. 使用克隆此存储库。git clone https://github.com/heshengtao/comfyui_LLM_party.git

方法三:

  1. 点击右上角的CODE
  2. 点击download zip
  3. 将下载的压缩包解压到ComfyUI 根文件夹中下的custom_nodes子文件夹中

环境部署

  1. 导航到comfyui_LLM_party的项目文件夹
  2. 在终端输入pip install -r requirements.txt将本项目需要的第三方库部署到comfyui的环境中。请注意你是否在comfyui的环境进行安装,并关注终端中的pip报错
  3. 如果你是用的comfyui启动器,你需要在终端中输入 启动器配置中的路径\python_embeded\python.exe -m pip install -r requirements.txt进行安装。python_embeded文件夹一般与你的ComfyUI文件夹同级。
  4. 如果你出现了一些环境配置问题,可以尝试使用requirements_fixed.txt中的依赖。

配置

  • 可以在config.ini中配置语言,目前只有中文(zh_CN)和英文(en_US)两种,默认为你的系统语言。
  • 可以使用以下方法之一配置APIKEY

方法一:

  1. 打开comfyui_LLM_party的项目文件夹下的config.ini文件。
  2. config.ini输入你的openai_api_keybase_url
  3. 如果你使用ollama模型,在base_url填入http://127.0.0.1:11434/v1/,在openai_api_key填入ollama,在model_name填入你的模型名称,例如:llama3。
  4. 如果你要使用谷歌搜索或者必应搜索工具,在config.ini输入你的google_api_keycse_idbing_api_key
  5. 如果你要使用图片输入LLM,推荐使用图床imgbb,在config.ini输入你的imgbb_api
  6. 每个模型都可以在config.ini文件中单独配置,可以参考config.ini.example文件填写。当你配置好之后,只需要在节点上输入model_name即可。

方法二:

  1. 打开comfyui界面。
  2. 新建大语言模型(LLM)节点,在节点中直接输入你的openai_api_keybase_url
  3. 如果你使用ollama模型,请使用LLM_api节点,在节点的base_url填入http://127.0.0.1:11434/v1/,在api_key填入ollama,在model_name填入你的模型名称,例如:llama3。。
  4. 如果你要使用图片输入LLM,推荐使用图床imgbb,在节点上输入你的imgbb_api_key

更新日志

  1. 你可以在comfyui界面里点击右键,选择右键菜单里的llm,即可找到本项目的节点。怎么使用节点
  2. 支持API接入或者本地大模型接入。模块化实现工具调用功能。在填入base_url时,请填入以/v1/结尾的网址。你可以用ollama来管理你的模型,然后在base_url填入http://127.0.0.1:11434/v1/,在api_key填入ollama,在model_name填入你的模型名称,例如:llama3。
  1. 本地知识库接入,支持RAG。示例工作流:知识库RAG搜索.json
  2. 可以调用代码解释器
  3. 可以联网查询,支持谷歌搜索。示例工作流:电影查询工作流
  4. 可以在comfyui中实现条件语句,可以对用户提问进行分类后再针对性回复。示例工作流:智能客服
  5. 支持大模型的回环链接,可以让两个大模型打辩论赛。示例工作流:电车难题辩论赛
  6. 支持挂接任意人格面具,可以自定义提示词模板
  7. 支持多种工具调用,目前开发了查天气、查时间、知识库、代码执行、联网搜索、对单一网页进行搜索等功能。
  8. 支持将LLM当作一个工具节点使用。示例工作流:LLM套娃
  9. 支持通过API+streamlit快速开发自己的web应用。
  10. 新增了危险的万能解释器节点,可以让大模型做任何事情
  11. 推荐使用右键菜单里的函数(function)子目录下的显示文本(show_text)节点,作为LLM节点的输出显示
  12. 支持了GPT-4O的视觉功能!示例工作流:GPT-4o
  13. 新增了一个工作流中转器,可以让你的工作流调用其他的工作流!示例工作流:调用另一个工作流
  14. 适配了所有具有类似openai接口的模型,例如:通义千问/qwen、智谱清言/GLM、deepseek、kimi/moonshot。请将这些模型的base_url、api_key、model_name填入LLM节点以调用它们。
  15. 新增了一个LVM加载器,现在可以本地调用LVM模型了,支持llava-llama-3-8b-v1_1-gguf模型,其他LVM模型如果是GGUF格式,理论上应该也可以运行。示例工作流在这里: start_with_LVM.json.
  16. 写了一个fastapi.py文件,如果你直接运行它,你就获得了一个http://127.0.0.1:8817/v1/上的openai接口,任何可以调用GPT的应用都可以调用你的comfyui工作流了!详细怎么操作我会出一期教程来演示~
  17. 拆分了LLM加载器和LLM链,把模型加载和模型设置分开来了,这样就可以在不同的LLM节点之间共享模型了!
  18. 目前已经支持了macOS以及mps设备!感谢bigcat88对此的贡献!
  19. 可以搭建自己的互动小说游戏了,根据用户的选择,走向不同的结局!示例工作流参考:互动小说
  20. 适配了openai的whisper和tts功能,可以实现语音输入和输出。示例工作流参考:语音输入+语音输出
  21. 兼容Omost啦!!!请下载omost-llama-3-8b-4bits立即体验吧!示例工作流参考:start_with_OMOST
  22. 新增了将消息发送到企业微信、钉钉和飞书的LLM工具以及可供调用的外部函数。
  23. 新增了一个文本迭代器,可以每次只输出一部分的字符,是根据回车符号和chunk size来安全分割文本的,不会从文本中间分割。chunk_overlap是指分割的文本重叠多少字符。这样可以批量输入超长文本,只要无脑点击,或者开启comfyui里的循环执行就行了,就可以自动执行完了。记得开启is_locked属性,可以在输入结束时,自动锁住工作流,不会继续执行。示例工作流:文本迭代输入
  24. 在本地LLM加载器、本地llava加载器上添加了model name属性,如果为空,则使用节点中的各类本地path加载。如果不为空,则会使用config.ini中你自己填写的路径参数加载。如果不为空且不在config.ini中,则会从huggingface上下载或则从huggingface的模型保存目录中加载。如果你想从huggingface上下载,请按照例如:THUDM/glm-4-9b-chat的格式填写model name属性。注意!这样子加载的模型必须适配transformer库。
  25. 新增了JSON文件解析节点和JSON取值节点,可以让你从文件或者文本中获取某一个键的值。感谢guobalove的贡献!
  26. 改进了工具调用的代码,现在没有工具调用功能的LLM也可以开启is_tools_in_sys_prompt属性(本地LLM默认无需开启,自动适配),开启之后,工具信息会添加到系统提示词中,这样LLM就可以调用工具了。实现原理的相关论文:Achieving Tool Calling Functionality in LLMs Using Only Prompt Engineering Without Fine-Tuning
  27. 新建了custom_tool文件夹,用于存放自定义工具的代码,可以参考custom_tool文件夹中的代码,将自定义工具的代码放入custom_tool文件夹中,即可在LLM中调用自定义工具。
  28. 新增了知识图谱工具,让LLM与知识图谱可以完美交互,LLM可以根据你的输入修改知识图谱,可以在知识图谱上推理以获取你需要的答案。示例工作流参考:graphRAG_neo4j
  29. 新增了人格AI功能,0代码开发自己的女友AI或男友AI,无限对话,永久记忆,人设稳定。示例工作流参考:麦洛薇人格AI
  30. 可以使用这个LLM工具制造机自动生成LLM工具,把你生成的工具代码保存为一个python文件中,然后把代码复制到custom_tool文件夹下,然后你就创造了一个新的节点。示例工作流:LLM工具生成器
  31. 支持了duckduckgo搜索,但是有很大的限制,似乎只能输入英文关键词,关键词也不能出现多个概念,优势在于没有任何APIkey的限制。
  32. 支持了多个知识库分开调用的功能,可以在提示词内明确是使用哪个知识库的知识回答问题。示例工作流:多知识库分别调用
  33. 支持LLM输入额外参数,包括json out等高级参数。示例工作流:LLM输入额外参数用json_out分离提示词
  34. 新增将智能体接入discord的功能。(还在测试中)
  35. 新增将智能体接入飞书的功能,超级感谢guobalove的贡献!参考工作流 飞书机器人
  36. 新增了万能API调用节点以及大量的辅助节点,用于构造请求体和抓取响应中的信息。
  37. 新增了清空模型节点,可以在任意位置将LLM从显存中卸载!
  38. 已添加了chatTTS节点,超级感谢guobalove的贡献!model_path参数可以为空!推荐使用HF模式加载模型,模型会自动从hugging face上下载,无需手动下载;如果使用local加载,请将模型的assetconfig文件夹放到根目录下。百度云地址,提取码:qyhu;如果使用custom模式加载,请将模型的assetconfig文件夹放到model_path下。

下一步计划:

  1. 更多的模型适配,至少可以覆盖主流的大模型API接口和主流的开源模型的本地调用,以及更多的LVM模型的适配,目前我还只适配了GPT4的视觉功能的调用;
  2. 更多的智能体的搭建方式,目前我在这方面已完成的工作有,将LLM作为一个工具导入给另一个LLM,实现辐射状构建LLM工作流,将一个工作流作为一个节点导入另一个工作流,我未来可能会在这个方面做出一些更酷的功能。
  3. 更多的自动化功能,我未来会推出更多将图片、文字、视频、音频自动推送到其他应用上的节点,也会推出监听节点,实现自动回复主流社交软件和论坛的功能。
  4. 更多的知识库管理功能,目前本项目已经支持了本地文件搜索、网络搜索,未来我会推出知识图谱搜索、长期记忆搜索。让智能体可以带有逻辑的思考专业知识、与用户对话时可以永远记住某些关键信息的功能。
  5. 更多的工具、更多的人格面具,这块最容易做,但也是最需要积累的,希望未来我可以让这个项目也可以像comfyui拥有众多自定义节点一样,拥有众多的工具和人格面具。

免责声明:

本开源项目及其内容(以下简称“项目”)仅供参考之用,并不意味着任何明示或暗示的保证。项目贡献者不对项目的完整性、准确性、可靠性或适用性承担任何责任。任何依赖项目内容的行为均需自行承担风险。在任何情况下,项目贡献者均不对因使用项目内容而产生的任何间接、特殊或附带的损失或损害承担责任。

特别感谢

octocat octocat octocat

借物表

本项目中的一些节点借鉴了以下项目,感谢他们在开源社区中的贡献!

  1. pythongosssss/ComfyUI-Custom-Scripts
  2. lllyasviel/Omost

支持:

加入社群

如果插件存在问题或者您有其他的疑问,欢迎加入我们的社群。

  1. QQ群:931057213
  1. 微信群:Choo-Yong(添加小助手微信后进群)

  2. discord:discord链接

关注我们

  1. 如果想持续关注本项目的最新功能,欢迎关注B站账号:派对主持BB机
  2. OpenArt账号持续更新最有用的party工作流:openart

捐赠支持

如果我的工作给您带来了价值,请考虑请我喝一杯咖啡吧!您的支持不仅为项目注入活力,也温暖了创作者的心。☕💖 每一杯都有意义!

星标历史

Star History Chart