基于 LangGraph 的智能 PPT 生成系统,通过多 Agent 状态机架构实现从主题到 PPT 的端到端自动生成。
- Outline Graph: 集成微信搜索,自动生成结构化大纲
- Content Graph: 逐页生成内容,支持 RAG 知识库增强
- LLM Tool Calling: 模型自主决策是否调用知识库检索
- JSON Schema 校验: 确保输出格式 100% 可解析渲染
- 流式输出: SSE 实时推送生成进度
├── backend/
│ ├── langgraph_agents/ # 核心 LangGraph 工作流
│ │ ├── outline_graph.py # 大纲生成 Agent
│ │ ├── content_graph.py # 内容生成 Agent (含 RAG)
│ │ ├── ppt_graph.py # 完整流程编排
│ │ ├── main_api.py # FastAPI 服务
│ │ ├── tools.py # 工具定义
│ │ └── ...
│ └── personaldb/ # RAG 知识库服务
├── frontend/ # Vue 3 前端
└── doc/ # 文档
# 创建 conda 环境
conda create -n langgraph-ppt python=3.12
conda activate langgraph-ppt
# 安装后端依赖
cd backend/langgraph_agents
pip install -r requirements.txtcp backend/langgraph_agents/.env.template backend/langgraph_agents/.env
# 编辑 .env 文件,填入必要的 API Key# 方式一:使用启动脚本
./start_langgraph.sh start
# 方式二:手动启动
cd backend/langgraph_agents
uvicorn main_api:app --host 0.0.0.0 --port 10002cd frontend
npm install
npm run dev- LangGraph: 状态机工作流编排
- LangChain: LLM 工具调用
- FastAPI: 后端 API 服务
- Vue 3 + Vite: 前端框架
- ChromaDB: 向量存储 (RAG)
- SSE: 流式输出
用户输入主题
│
▼
┌─────────────────────────────────────────────────────┐
│ Outline Graph │
│ preprocess → search(微信) → generate → parse │
└─────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ Content Graph (循环每页) │
│ writer ←→ tool_executor(RAG) → checker → controller│
└─────────────────────────────────────────────────────┘
│
▼
输出 PPT JSON
MIT License