Skip to content

litunan/ppt-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LangGraph PPT Agent

基于 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/                      # 文档

🚀 快速开始

1. 环境准备

# 创建 conda 环境
conda create -n langgraph-ppt python=3.12
conda activate langgraph-ppt

# 安装后端依赖
cd backend/langgraph_agents
pip install -r requirements.txt

2. 配置环境变量

cp backend/langgraph_agents/.env.template backend/langgraph_agents/.env
# 编辑 .env 文件,填入必要的 API Key

3. 启动服务

# 方式一:使用启动脚本
./start_langgraph.sh start

# 方式二:手动启动
cd backend/langgraph_agents
uvicorn main_api:app --host 0.0.0.0 --port 10002

4. 启动前端

cd 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

📄 License

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors