系统架构
1. 系统概述
AIDeepIn 是一个 AI 辅助平台,通过对话、知识库、工作流、图像生成等能力,帮助企业和团队提升工作效率。
┌─────────────────────────────────────────────────────────────────────────────┐
│ 用户层 │
├──────────────────────────┬──────────────────────────────────────────────────┤
│ langchain4j-aideepin-web │ langchain4j-aideepin-admin │
│ (用户端 Vue3) │ (管理端 Vue3) │
│ • AI对话/绘图 │ • 用户管理 │
│ • 知识库问答 │ • 模型配置 │
│ • 工作流使用 │ • 系统配置 │
└──────────────────────────┴──────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ API网关层 (Spring Boot) │
├──────────────────────────┬──────────────────────────────────────────────────┤
│ adi-chat │ adi-admin │
│ (用户端API接口) │ (管理端API接口) │
└──────────────────────────┴──────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 核心业务层 (adi-common) │
├──────────────┬──────────────┬──────────────┬──────────────┬─────────────────┤
│ 对话服务 │ RAG服务 │ 工作流引擎 │ 绘图服务 │ MCP服务 │
├──────────────┴──────────────┴──────────────┴──────────────┴─────────────────┤
│ 大模型服务层 (languagemodel) │
├─────────────┬─────────────┬─────────────┬─────────────┬────────────────────┤
│ OpenAI │ DeepSeek │ 阿里灵积 │ 硅基流动 │ Ollama │
└─────────────┴─────────────┴─────────────┴─────────────┴────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 数据存储层 │
├─────────────────────┬─────────────────────┬─────────────────────────────────┤
│ PostgreSQL │ Redis │ Neo4j (可选) │
│ (pgvector+AGE) │ (缓存) │ (图数据库) │
└─────────────────────┴─────────────────────┴─────────────────────────────────┘2. 业务模块
2.1 智能对话
系统的核心模块,支持与 AI 进行多轮对话。
对话流程:
用户输入(文本/语音/图片)
↓
预处理(语音转文本、配额校验)
↓
上下文增强(短期/长期记忆 + 关联知识库 → RAG 检索 / 关联 MCP → 工具调用)
↓
LLM 生成回答(流式输出)
↓
后处理(TTS 语音合成、Token 计费、保存历史)核心能力:
- 多模型切换:用户可在对话中选择不同的 AI 模型
- 多轮记忆:短期记忆(当前会话上下文)+ 长期记忆(跨会话的关键信息)
- 多模态输入:文本、图片、语音
- TTS 语音合成:将 AI 回答转为语音输出
- RAG 增强回答:关联知识库后,AI 基于检索到的内容生成回答
- MCP 工具调用:对话中可调用外部工具(如搜索引擎、数据库查询等)
- 多回答对比:同一问题可生成多个 AI 回答供用户选择
2.2 知识库(RAG)
将文档导入知识库后,AI 对话可基于知识库内容生成更准确的回答。
RAG 架构:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 文档上传 │ -> │ 文档解析 │ -> │ 文本分块 │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 向量存储 │ <- │ Embedding │ <- │ 文本块 │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 用户提问 │ -> │ 相似检索 │ -> │ 上下文构建 │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ LLM生成 │
└─────────────┘文档处理流程:
上传文档(PDF/Word/TXT 等)
↓
解析文档内容,拆分为片段
↓
索引(可选向量索引或图谱索引或两者)
↓
用户提问
↓
检索相关片段(向量相似度搜索 / 图谱关系查询)
↓
将检索结果注入 LLM Prompt,生成回答索引类型:
- 向量索引:将文本转为向量,通过语义相似度检索。使用 pgvector 存储
- 图谱索引:从文档中提取实体和关系,构建知识图谱。使用 Apache AGE 存储
- 混合检索:同时使用向量和图谱检索,综合排序
知识库配置:
- 公开/私有:公开知识库可被其他用户使用
- 检索参数:最大召回数量、最低相似度阈值
- 切片参数:文档分段大小、重叠长度
2.3 工作流
通过可视化编排多个处理节点,构建自动化的 AI 处理流程。
节点类型:
| 节点 | 作用 |
|---|---|
| 开始节点 | 工作流入口,接收用户输入 |
| 分类节点 | 对输入进行意图分类,决定后续分支 |
| 知识检索节点 | 搜索关联的知识库 |
| LLM 回答节点 | 调用 AI 模型生成回答 |
| HTTP 请求节点 | 调用外部 API |
| 模板节点 | 按模板生成结构化输出 |
| 条件判断节点 | 根据条件选择不同分支 |
| 关键词提取节点 | 从文本中提取关键词 |
| FAQ 提取节点 | 从文本中提取问答对 |
| 人工反馈节点 | 暂停等待人工确认 |
上表为架构概览口径;工作流画布当前提供 17 种节点,完整清单见使用指南 · 应用与工作流。 | 图像生成节点 | 生成图片 | | 邮件发送节点 | 发送邮件 |
工作流与对话的关系:工作流内部可以检索知识库、调用 MCP 工具、生成回答;用户在「应用」页面运行工作流,也可通过开放 API 触发。
2.4 MCP(模型上下文协议)
MCP 是一种标准化的外部工具接入协议,允许 AI 在对话中调用外部服务。
支持的传输方式:
- SSE(Server-Sent Events)
- Stdio(标准输入输出)
- Docker 容器
- 远程服务
- WASM(WebAssembly)
使用方式:
- 管理员配置 MCP 服务及其参数
- 用户在对话中启用 MCP 服务
- AI 根据需要自动调用 MCP 工具
2.5 图像生成
通过文本描述生成图片:
用户输入描述 → 选择图像模型 → 生成图片 → 保存到图库- 支持多个图像生成平台(OpenAI、DashScope、SiliconFlow 等)
- 生成的图片可设为公开(带水印)或私有
- 支持点赞、评论
3. 模块间关系
┌──────────┐
│ 用户端 │
└────┬─────┘
│ HTTP / SSE
┌────▼─────┐
│ 服务端 │
└────┬─────┘
│
┌─────────┬─────────┬─────────┼─────────┬─────────┐
│ │ │ │ │ │
┌────▼───┐┌───▼────┐┌───▼────┐┌──▼────┐┌───▼─────┐
│智能对话 ││ 文生图 ││ 工作流 ││ 知识库 ││ MCP │
└────┬───┘└───┬────┘└──┬────┘└───┬────┘└───┬─────┘
│ │ │ │ │ │
└────────┴────┬────┴────────┴────┬────┘ │
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│LLM 服务 │ │RAG 检索 │ │外部工具 │
│(多平台) │ │(向量+图谱)│ │服务接入 │
└─────────┘ └─────────┘ └─────────┘交互关系:
- 对话 ↔ 知识库:对话可关联知识库,通过 RAG 增强回答质量
- 对话 ↔ MCP:对话中可调用 MCP 外部工具
- 工作流 ↔ 知识库:工作流节点可检索知识库
- 工作流 ↔ MCP:工作流节点可调用 MCP 服务
- 工作流 ↔ 文生图:工作流包含图像生成节点
- 工作流 ↔ 对话:工作流节点可调用 LLM 生成回答
4. 用户与权限
用户模型:
- 普通用户:通过邮箱注册,使用系统各项功能
- 管理员:通过管理端管理系统配置、用户、模型等
配额控制:
- 每日 Token 用量限额
- 请求频率限制
- 图像生成数量限制
隐私控制:
- 对话、知识库、工作流、图片均可设为公开或私有
- 公开内容可被其他用户查看和使用
5. 管理端功能
| 功能 | 说明 |
|---|---|
| 仪表盘 | 系统概览与监控 |
| 用户管理 | 创建、编辑用户,设置配额 |
| 对话管理 | 查看所有用户对话,管理预设对话模板 |
| 知识库管理 | 查看和管理所有知识库 |
| 模型管理 | 配置模型平台和 AI 模型 |
| MCP 管理 | 配置 MCP 服务 |
| 工作流管理 | 管理工作流组件 |
| 系统设置 | 存储配置、TTS/ASR 配置、配额配置、速率限制 |