基于 LangGraph 的多智能体对话系统,用于实践 Agent 开发技术。
┌─────────────────────────────────────────────────────────┐
│ Frontend (React) │
│ shadcn/ui + Tailwind CSS │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ FastAPI Backend │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │Router Agent │──│ RAG Agent │──│ Code Agent │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ │ │
│ ┌───────────┴───────────┐ │
│ │ LangGraph Engine │ │
│ └───────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ ChromaDB (向量库) │ MySQL (会话) │ DeepSeek API │
└─────────────────────────────────────────────────────────┘
- FastAPI - Web 框架
- LangChain + LangGraph - LLM 应用框架 + 多 Agent 编排
- DeepSeek - LLM API
- ChromaDB - 向量数据库 (RAG)
- MySQL - 会话存储
- SQLAlchemy - ORM
- React 18 - UI 框架
- TypeScript - 类型安全
- Vite - 构建工具
- Tailwind CSS - 样式框架
- shadcn/ui - UI 组件库
- Python 3.10+
- Node.js 18+
- MySQL 8.0+
# 进入后端目录
cd backend
# 创建虚拟环境
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux/Mac
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑 .env 填入 DeepSeek API Key 和 MySQL 配置
# 创建数据库
mysql -u root -p -e "CREATE DATABASE agent_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 启动服务
python main.py后端服务: http://localhost:8000 API 文档: http://localhost:8000/docs
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev前端服务: http://localhost:3000
agent/
├── backend/ # 后端服务
│ ├── app/
│ │ ├── agents/ # Agent 模块
│ │ │ ├── base.py # Agent 基类
│ │ │ ├── router_agent.py
│ │ │ ├── rag_agent.py
│ │ │ ├── code_agent.py
│ │ │ ├── chat_agent.py
│ │ │ └── graph.py # LangGraph 编排
│ │ ├── api/ # API 路由
│ │ ├── core/ # 核心模块
│ │ ├── models/ # 数据模型
│ │ └── services/ # 业务服务
│ ├── main.py
│ ├── requirements.txt
│ └── .env.example
│
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── api/ # API 客户端
│ │ ├── components/ # React 组件
│ │ ├── lib/ # 工具函数
│ │ ├── App.tsx
│ │ └── main.tsx
│ ├── package.json
│ └── vite.config.ts
│
└── README.md
- Router Agent - 意图识别,智能路由
- RAG Agent - 知识库检索问答
- Code Agent - 代码生成与解释
- Chat Agent - 通用对话
- 支持 txt, pdf, docx, md 文档上传
- 自动分块、向量化存储
- 语义相似度检索
- 多轮对话支持
- 会话历史持久化
- 上下文记忆
- 理解项目结构 - 阅读代码,理解各模块职责
- 运行调试 - 启动项目,使用调试工具跟踪执行流程
- 扩展 Agent - 添加新的专家 Agent(如 Search Agent)
- 优化 RAG - 调整分块策略、检索参数
- 改进 Prompt - 优化各 Agent 的提示词
- 添加功能 - 如流式输出、文件上传等