MySQL + FastAPI FastAPI+ LangChain LangChain+ Redis-Cluster Redis-Cluster + Python 3.12++ Node.js 18++ Docker+ ChromaDB+ Vue 3

基于大模型的前后端分离智能对话系统,支持RAG、Agent与MCP集成

FastAPI+LangChain提供AI编排与异步API,ChromaDB支撑RAG向量检索,Vue3+Element Plus构建前端界面

✓ 功能全面,RAG/Agent/MCP齐备✓ Docker一键部署门槛低 ✕ 依赖版本冲突需注意✕ LangChain 1.0 API变化大

方案简介

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

安装依赖

  1. pip install -r requirements.txt

或者使用uv (更推荐)

  1. pip install uv
  2. 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 原文。

方案出处
Shy2593666979/AgentChat:AgentChat 是一个基于 LLM 的智能体交流平台,内置默认 Agent 并支持用户自定义 Agent。通过多轮对话和任务协作,Agent 可以理解并协助
888 star AgentChat 是一个基于 LLM 的智能体交流平台,内置默认 Agent 并支持用户自定义 Agent。通过多轮对话和任务协作,Agent 可以理解并协助完成复杂任务。项目集成 LangChain、Function Call、MCP 协议、RAG、Memory、HITL、Skill、Milvus 和 ElasticSearch 等技术,实现高效的知识检索与工具调用,使用 FastAPI 构建

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。