基于大模型的前后端分离智能对话系统,支持RAG、Agent与MCP集成
FastAPI+LangChain提供AI编排与异步API,ChromaDB支撑RAG向量检索,Vue3+Element Plus构建前端界面
方案简介
AgentChat 是一个现代化的智能对话系统,基于大语言模型构建。系统采用前后端分离架构,后端使用 FastAPI + LangChain + Python 3.12+,数据层由 MySQL、Redis、ChromaDB 组成,前端使用 Vue 3.4+ / Element Plus / Pinia / Vite 5 / TypeScript 构建。
该方案解决的核心问题是:为开发者提供一个开箱即用的 AI 对话平台,涵盖多模型对话、知识库 RAG 检索问答、智能 Agent 协作、工具多轮调用、MCP 服务器集成等高级能力,并附带三层记忆架构与人机协同(HITL)生成 MCP Server 的特色功能。
适合希望快速搭建私有化 AI 对话/智能体平台的后端与全栈开发者,以及需要知识库问答与工具编排能力的团队。
亮点与能力
- 智能Agent: 支持Sub-Agents协作,具备推理和决策能力
- 知识库检索: RAG技术实现精准知识检索和问答
- 工具生态: 内置多种实用工具,支持自定义扩展(10+工具,可上传 Swagger/OpenAPI 自定义工具)
- MCP集成: 支持Model Context Protocol服务器,运行时动态加载
- 三层记忆: 短期记忆保留最近3000 tokens,历史自动总结,长期记忆记录用户偏好
- 人机协同生成: 基于HITL对话式生成MCP Server,关键节点可人工介入
- 智能体工具多轮调用: 支持工具间依赖的顺序调用(A --> B --> C)
- 数据看板: 可按Agent、模型、时间范围筛选调用次数和Token使用量
组成与分工
- FastAPI: 后端Web框架,提供异步高性能API,启动后可访问 /docs 查看 Swagger 文档
- LangChain: 大模型应用编排核心,v2.2.0 起已升级至 1.0 版本,负责Agent、工具、记忆等能力编排
- ChromaDB: 向量数据库,支撑知识库语义分块与向量检索(RAG),也支持配置 Milvus
- MySQL: 关系型数据库,存储业务数据与用户信息
- Redis: 缓存与中间件,配合异步高性能处理
- Vue 3 + Element Plus + Pinia + Vite 5 + TypeScript: 前端技术栈,构建现代化UI与状态管理
- Docker / Docker Compose: 一键容器化部署
前置要求
- Python 3.12+
- Node.js 18+
- MySQL 8.0+, Redis 7.0+
- Docker 20.10+
实施步骤
1. Docker一键部署
bash
1. 克隆项目
git clone https://github.com/Shy2593666979/AgentChat.git
cd AgentChat
2. 编辑配置文件
vim docker/docker_config.yaml
3. 启动
cd docker
docker-compose up --build -d
2. 本地部署(后端)
bash
git clone https://github.com/Shy2593666979/AgentChat.git
cd AgentChat
bash
cd src/backend
安装依赖
- pip install -r requirements.txt
或者使用uv (更推荐)
- pip install uv
- uv sync
3. 本地部署(前端)
bash
cd src/frontend
下载依赖
npm install
npm run dev
使用与配置要点
- 首次启动需要完成模型配置,系统新增了配置检查和友好提示引导初始化,避免缺少模型配置导致的错误。
- 启动后端后访问 /docs 查看 Swagger 文档进行API调试。
- 系统支持多种向量数据库(Milvus/ChromaDB)和搜索引擎(Elasticsearch)的配置。
- 可通过上传 Swagger/OpenAPI 构建自定义工具,或创建 Skill 绑定到智能体渐进式加载 Prompt。
- 对象存储支持 OSS 和 MiniO 两种方式,MiniO 可参考 docs/development/install_minio_win.md 本地安装。
注意事项与常见问题
- 从 v2.2.0 开始 LangChain 升级至 1.0,API变化较大,部分工具和Agent配置方式已更新,建议查看迁移指南;v2.1.x 及以下使用旧版 0.x API。
- 历史版本 docker 部署曾出现 agentchat-frontend 连不上 agentchat-backend 的网络失败问题,已修复;Windows 下可使用一键部署脚本 start_win.bat。
- 项目曾存在 Pydantic、LangChain、FastAPI 等核心库的依赖版本冲突问题,新版本已解决。
优缺点
- ✓ 功能全面,RAG/Agent/MCP齐备
- ✓ Docker一键部署门槛低
- ✕ 依赖版本冲突需注意
- ✕ LangChain 1.0 API变化大
出处
本方案挖掘自开源项目 Shy2593666979/AgentChat,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。