Skip to content

qing358/multi-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Agent 智能助手

基于 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 组件库

快速开始

1. 环境准备

  • Python 3.10+
  • Node.js 18+
  • MySQL 8.0+

2. 后端启动

# 进入后端目录
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

3. 前端启动

# 进入前端目录
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

核心功能

1. Multi-Agent 系统

  • Router Agent - 意图识别,智能路由
  • RAG Agent - 知识库检索问答
  • Code Agent - 代码生成与解释
  • Chat Agent - 通用对话

2. RAG 知识库

  • 支持 txt, pdf, docx, md 文档上传
  • 自动分块、向量化存储
  • 语义相似度检索

3. 会话管理

  • 多轮对话支持
  • 会话历史持久化
  • 上下文记忆

技术路径

  1. 理解项目结构 - 阅读代码,理解各模块职责
  2. 运行调试 - 启动项目,使用调试工具跟踪执行流程
  3. 扩展 Agent - 添加新的专家 Agent(如 Search Agent)
  4. 优化 RAG - 调整分块策略、检索参数
  5. 改进 Prompt - 优化各 Agent 的提示词
  6. 添加功能 - 如流式输出、文件上传等

相关资源

About

Multi-Agent 智能助手

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors