Skip to content

VIIII4/PyMultiAgents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

——# MultiAgent 协作系统

项目简介

MultiAgent 协作系统是一个基于PyQt6开发的多智能体协作框架,允许用户配置、可视化和执行多个AI智能体之间的工作流。系统支持多种大型语言模型API,包括OpenAI、Azure、阿里云Qwen、DeepSeek、OpenRouter和SiliconFlow等,使用户能够灵活构建复杂的智能体协作流程。

系统特性

1. 多智能体配置

  • 灵活的智能体创建:支持创建多个不同类型的智能体,可指定名称、API类型、模型和系统提示词
  • 多API支持:兼容多种大型语言模型API,包括OpenAI、Azure、阿里云Qwen、DeepSeek等
  • 配置管理:支持保存和加载智能体配置,方便重复使用

2. 可视化工作流设计

  • 双模式编辑:支持代码编辑和可视化绘制两种工作流设计方式
  • 语法高亮:工作流代码编辑器支持语法高亮,提高编辑效率
  • 交互式绘制:可视化界面支持拖拽节点、调整布局
  • 缩放功能:支持放大或缩小工作流视图,便于查看复杂工作流
  • 节点拖动:可以拖动工作流中的节点,自定义节点位置

3. 工作流执行

  • 实时执行:支持实时执行配置好的工作流
  • 执行日志:详细记录执行过程,便于调试和分析
  • 结果展示:清晰展示最终执行结果

安装说明

系统要求

  • Python 3.8+
  • PyQt6
  • 网络连接(用于API调用)

安装步骤

  1. 克隆或下载项目代码

  2. 安装依赖包

    pip install -r requirements.txt
  3. 配置API密钥

    • 复制config/.env.exampleconfig/.env
    • .env文件中填入您的API密钥

使用指南

启动应用

# 在项目根目录下执行
python app.py

打包应用程序

本项目支持使用cx_Freeze打包为独立可执行程序:

  1. 安装cx_Freeze

    pip install cx_freeze
  2. 执行打包命令

    python setup.py build
  3. 打包结果将保存在build目录中

详细说明请参阅cx_freeze_readme.md文件

配置智能体

  1. 在「Agent配置」选项卡中添加智能体

    • 填写智能体名称
    • 选择API类型
    • 指定模型(如适用)
    • 设置系统提示词
  2. 点击「添加Agent」按钮保存配置

设计工作流

  1. 切换到「工作流配置」选项卡

  2. 使用类似mermaid flowchart的语法定义工作流,例如:

    AgentA |"AgentA的提示词"|--> AgentB |"AgentB的提示词"| : {'任务描述'}
    
  3. 或者使用右侧可视化界面绘制工作流

    • 可以放大或缩小视图
    • 拖动节点调整位置
    • 系统会自动同步到代码视图
  4. 点击「验证工作流」按钮确保工作流正确

执行工作流

  1. 切换到「执行工作流」选项卡

  2. 输入初始消息

  3. 点击「创建工作流」按钮(在主界面底部)

  4. 点击「执行工作流」按钮开始执行

  5. 查看执行结果和日志

系统架构

核心模块

  • app.py:主应用入口和GUI界面
  • configdrawer:工作流可视化模块
  • workflow:工作流解析和执行模块
  • classAgent:智能体定义和工厂模块
  • config:配置管理模块
  • utils:工具函数模块

工作流程

  1. 用户配置智能体和工作流
  2. 系统解析工作流定义,构建有向图
  3. 系统创建智能体实例
  4. 执行工作流,智能体按照定义的流程协作
  5. 展示最终结果和执行日志

特别说明:可视化工作流功能

系统的可视化工作流功能由configdrawer模块提供,具有以下特点:

  • 双向同步:代码编辑和可视化绘制实时同步
  • 交互式操作
    • 支持放大或缩小视图,便于查看复杂工作流
    • 支持拖动节点,自定义布局
    • 节点拖动后会自动更新连接线
  • 直观表达:使用不同颜色和形状表示节点和连接,提高可读性
  • 提示词显示:节点上显示智能体名称和提示词摘要

许可证

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages