PY

MultiAgentPPT

by johnson7788/MultiAgentPPT

0 views

MultiAgentPPT 是一个集成了 A2A(Ask-to-Answer)+ MCP(Multi-agent Control Protocol)+ ADK(Agent Development Kit) 架构的智能化演示文稿生成系统,支持通过多智能体协作和流式并发机制

automationpythonnodejsDocument Processing

🚀 MultiAgentPPT

一个基于 A2A + MCP + ADK 的多智能体系统,支持流式并发生成高质量 PPT 内容。

🧠 项目简介

MultiAgentPPT 利用多智能体架构实现从主题输入到完整演示文稿生成的自动化流程,主要步骤包括:

  1. 大纲生成 Agent:根据用户需求生成初步内容大纲。
  2. Topic 拆分 Agent:将大纲内容细分为多个主题。
  3. Research Agent 并行工作:多个智能体分别对每个主题进行深入调研。
  4. Summary Agent 汇总输出:将调研结果汇总生成 PPT 内容,实时流式返回前端。

优点

  • 多Agent协作:通过多智能体并行工作,提高内容生成的效率和准确性。
  • 实时流式返回:支持流式返回生成的 PPT 内容,提升用户体验。
  • 高质量内容:结合外部检索和智能体协作,生成高质量的内容大纲和演示文稿。
  • 可扩展性:系统设计灵活,易于扩展新的智能体和功能模块。

使用界面截图展示

以下是 MultiAgentPPT 项目的核心功能演示:

1. 输入主题界面

用户在界面中输入希望生成的 PPT 主题内容:

输入主题界面

2. 流式生成大纲过程

系统根据输入内容,实时流式返回生成的大纲结构:

流式生成大纲

3. 生成完整大纲

最终系统将展示完整的大纲,供用户进一步确认:

完整大纲

4. 流式生成PPT内容

确认大纲后,系统开始流式生成每页幻灯片内容,并返回给前端:

流式生成PPT

📊 并发的多Agent的协作流程

flowchart TD
    A[大纲生成 Agent<br>根据用户需求生成初步内容大纲] --> B[Topic 拆分 Agent<br>将大纲细分为多个主题]
    B --> C1[Research Agent 1<br>对主题 1 调研]
    B --> C2[Research Agent 2<br>对主题 2 调研]
    B --> C3[Research Agent N<br>对主题 N 调研]
    C1 --> D[Summary Agent 汇总输出<br>整合调研结果生成 PPT 内容]
    C2 --> D
    C3 --> D
    D --> E[实时流式返回前端]

🗂️ 项目结构

MultiAgentPPT/
├── backend/              # 后端多Agent服务目录
│   ├── simpleOutline/    # 简化版大纲生成服务(无外部依赖)
│   ├── simplePPT/        # 简化版PPT生成服务(不使用检索或并发)
│   ├── slide_outline/    # 带外部检索的大纲生成服务
│   ├── slide_agent/      # 并发式多Agent PPT生成主服务
├── frontend/             # Next.js 前端界面

⚙️ 快速开始

🐍 后端环境配置(Python)

  1. 创建并激活 Conda 虚拟环境:

    conda create --name multiagent python=3.12
    conda activate multiagent
    
  2. 安装依赖:

    cd backend
    pip install -r requirements.txt
    
  3. 设置后端环境变量:

    # 为所有模块复制模板配置文件
    cd backend/simpleOutline && cp env_template .env
    cd ../simplePPT && cp env_template .env
    cd ../slide_outline && cp env_template .env
    cd ../slide_agent && cp env_template .env
    

🧪 启动后端服务

模块功能默认端口启动命令
simpleOutline简单大纲生成10001python main_api.py
simplePPT简单PPT生成10011python main_api.py
slide_outline高质量大纲生成(带检索)10001(需关闭 simpleOutlinepython main_api.py
slide_agent多Agent并发生成完整PPT10011(需关闭 simplePPTpython main_api.py

🧱 前端数据库设置

数据库存储用户生成的PPT:

  1. 使用 Docker 启动 PostgreSQL:

    docker run --name postgresdb -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=welcome -d postgres
    
  2. 安装依赖并推送数据库模型:

    pnpm install
    pnpm db:push
    
  3. 插入默认用户(如果前端报错无用户,请尝试手动插入一条用户数据:frontend/insert_one_user.sql)

  4. .env 示例配置:

    DATABASE_URL="postgresql://postgres:welcome@localhost:5432/presentation_ai"
    A2A_AGENT_OUTLINE_URL="http://localhost:10001"
    A2A_AGENT_SLIDES_URL="http://localhost:10011"
    

🌐 前端安装与运行(Next.js)

  1. 安装依赖:

    cd frontend
    npm install
    
  2. 配置环境变量:

    cp env_template .env
    
  3. 运行前端开发服务器:

    npm run dev
    
  4. 打开浏览器访问:http://localhost:3000



🧪 示例数据说明

当前系统内置调研示例为:“电动汽车发展概述”。如需其他主题调研,请配置对应 Agent 并对接真实数据源。


📎 参考来源

前端项目部分基于开源仓库:allweonedev/presentation-ai

作者微信号

johnsongzc

Install

No configuration available
For more configuration details, refer to the content on the left

Related

Related projects feature coming soon

Will recommend related projects based on sub-categories