基于 Spring Boot 和 LangChain4j 的企业级 RAG检索增强生成智能系统一、项目总体概述1.1 项目定位isy-rag-agent是一套企业级 RAG 智能对话系统集成了大语言模型LLM、向量检索、知识库管理、FAQ 问答、工具调用MCP、联网搜索等核心能力。系统采用前后端一体的单体架构后端基于 Spring Boot 3.4 Java 21前端采用原生 HTML/CSS/JS 实现通过 RESTful API 进行数据交互支持 SSEServer-Sent Events流式对话输出。1.2 核心技术栈技术领域技术选型后端框架Spring Boot 3.4.4、Java 21AI/LLM 框架LangChain4j 1.7.1向量数据库Milvus向量存储与相似度检索关系数据库MySQL MyBatis-Plus 3.5.5连接池Alibaba Druid文档解析Apache Tika 2.9.1支持 PDF、Word、Excel 等Embedding 模型LangChain4j Local EmbeddingAllMiniLmL6V2384 维认证鉴权JWTjjwt 0.12.3工具协议MCP SDK 1.1.0Model Context Protocol响应式/WebFluxSpring WebFlux用于 SSE 及 MCP Client工具库Hutool 5.8.25、Lombok1.3 系统架构设计项目采用分层架构设计代码组织清晰、职责分明com.isy.rag├── bootstrap/ # 业务启动层按领域划分子包│ ├── admin/ # 管理后台Controller / Service / DAO / DTO│ ├── portal/ # 用户门户Controller / Service / DAO / DTO│ ├── auth/ # 统一认证登录 / JWT / 鉴权│ └── rag/ # RAG 核心对话 / 检索 / 模型 / 工具├── framework/ # 基础设施层通用能力│ ├── config/ # 配置类Embedding、Milvus│ ├── context/ # 上下文管理Auth、Request、Trace│ ├── convention/ # 通用约定Result、ChatMessage、RetrievedChunk│ ├── database/ # 数据库基础设施MyBatis-Plus 配置、通用 Entity│ ├── distributedid/ # 分布式 IDSnowflake 雪花算法│ ├── errorcode/ # 错误码体系│ ├── exception/ # 异常体系全局异常处理│ ├── idempotent/ # 幂等性 / 限流│ ├── page/ # 分页封装│ ├── trace/ # RAG 链路追踪│ └── web/ # Web 基础设施JWT、拦截器、CORS└── RagApplication.java # Spring Boot 启动类1.4 核心设计理念多路检索策略支持「优先级」和「并行」两种检索策略依次或同时检索 FAQ → 知识库 → 工具调用 → 联网搜索四个通道置信度路由每个检索通道返回置信度评分达到阈值即提前返回避免无效检索流式输出基于 SSE 的实时流式对话支持深度思考Thinking过程输出全链路追踪从用户提问到最终回答记录每一个检索通道和模型调用的详细信息RBAC 权限控制基于用户-机器人授权模型用户只能访问被授权的机器人多模型支持兼容 OpenAI、DeepSeek、智谱 AI、阿里云百炼、Ollama、Anthropic 等 6 大模型供应商二、管理后台Admin模块管理后台位于static/admin/目录提供系统全生命周期的管理能力包含以下 8 个核心子模块2.1 控制台仪表盘功能概述系统首页以数据大屏形式展示核心运营指标。设计实现调用/api/admin/dashboard/stats接口获取聚合统计数据展示五大核心指标机器人总数、活跃用户数、对话总数、文档总数、模型总数每项指标含有环比增长率动态展示提供快速操作入口新建机器人、上传文档、添加 FAQ、注册工具底部展示「对话趋势图表」近 7/30/90 天和「最近活动列表」从 Trace 模块获取最新 5 条记录2.2 机器人管理功能概述AI 机器人的全生命周期管理创建、配置、关联资源、授权用户。设计实现每个机器人关联以下资源模型modelId指定使用哪个 LLM 模型知识库BotKnowledgeDO关联一个或多个知识库FAQ 库BotFaqDO关联 FAQ 问答对工具BotToolDO关联 MCP 工具或本地函数授权用户BotUserDO控制哪些用户可以使用该机器人机器人核心配置项包括systemPrompt系统提示词answerStrategy检索策略PRIORITY / PARALLELconfidenceThreshold置信度阈值enableThinking是否启用深度思考enableWebSearch是否启用联网搜索enableHistory是否启用会话记忆maxContextChunks最大上下文分块数2.3 工具/MCP 管理功能概述管理可被机器人调用的外部工具支持 MCP 协议工具和本地函数两种类型。设计实现工具类型包括MCP 工具通过 MCPModel Context Protocol协议连接外部工具服务使用 WebFlux 实现 SSE 通信本地函数FUNCTIONJava 本地注册的函数通过LocalFunctionRegistry管理函数注册表工具实体ToolDO记录工具名称、编码、类型、描述、配置参数JSON、状态等在对话时通过ToolExecutionService执行工具由 LLM 驱动智能选择需要调用的工具支持分页查询、创建、更新、删除、状态切换、工具编码唯一性校验提供/available-functions接口获取可注册的本地函数列表2.4 FAQ 管理功能概述常见问题知识对的录入和管理作为最高优先级的检索通道。设计实现支持分类管理FAQ 归属不同分类便于管理每条 FAQ 包含问题、答案、分类、状态、排序等字段FAQ 检索时在FaqRetrievalService中使用语义相似度匹配返回匹配置信度2.5 知识库管理功能概述企业知识库的创建、文档上传、自动解析分块、向量化存储全流程管理。设计实现文档处理流程用户上传文件 →FileStorageService本地存储Apache Tika 解析文档内容按配置的chunkSize和chunkOverlap进行文本分块本地 AllMiniLmL6V2 模型生成 384 维向量通过MilvusService写入 Milvus 向量数据库检索时通过KnowledgeRetrievalService进行向量相似度搜索返回最相关的文档片段2.6 模型管理功能概述大语言模型供应商的接入和配置管理支持多种模型供应商统一管理。设计实现后端为ModelController→ModelService→ModelMapper模型实体ModelDO记录完整的模型配置供应商、模型名、API Key、Base URL、模型类型、最大 Token、超时等支持6 大模型供应商OpenAI、Anthropic、阿里云百炼DashScope、Ollama、智谱 AIZhipu、DeepSeekChatModelFactory根据模型配置动态创建StreamingChatModel或ChatModel实例支持的能力标签CHAT、STREAMING、VISION、THINKING提供连接测试接口/test验证模型配置是否有效支持按供应商、模型类型筛选启用/禁用状态管理2.7 用户管理功能概述系统用户的账号管理控制用户对机器人的访问权限。设计实现用户实体包含用户名、密码加密存储、昵称、头像、邮箱、手机号、部门、角色、状态等2.8 链路追踪功能概述RAG 对话全链路的追踪和可视化分析用于问题排查和性能优化。设计实现追踪数据模型TraceRunRagTraceRunDO一次完整的对话追踪记录TraceNodeRagTraceNodeDO追踪中的每个节点FAQ_RETRIEVE、KB_RETRIEVE、TOOL_CALL、WEB_SEARCH、MODEL_CALL 等追踪信息通过事件驱动模式采集TraceContextThreadLocal维护当前请求的追踪上下文TraceEventPublisher发布追踪事件TraceEventListener监听事件并持久化到数据库每个节点记录输入参数、输出结果、耗时、置信度、错误信息、Token 使用量支持按机器人、用户、关键词、时间范围、状态筛选基于用户权限隔离普通用户只能查看自己授权机器人的追踪数据提供对话统计面板和追踪详情查看三、用户门户Portal模块用户门户位于static/portal/目录面向终端用户提供 AI 智能对话体验包含以下 3 个子模块3.1 机器人选择bots.html功能概述用户登录后的首页展示当前用户被授权使用的机器人列表。设计实现调用/api/portal/bots获取当前用户授权的机器人列表以卡片网格布局展示每个机器人每张机器人卡片展示头像、名称、描述功能标签联网搜索、深度思考、会话记忆统计信息会话数、最近使用时间点击「开始对话」按钮跳转到chat.html?botIdxxx3.2 智能对话功能概述系统的核心交互界面实现与 AI 机器人的流式对话支持深度思考展示、引用溯源、文件上传。设计实现SSE 流式对话调用/api/chat/stream接口通过 EventSource 接收流式响应事件类型包括thinking_start、thinking、thinking_end、generation_start、content、references、done深度思考模式下实时展示检索策略、各通道命中情况、置信度等信息深度思考展示以可折叠的黄色区域展示 AI 的「思考过程」实时输出每个检索通道的执行进度和结果引用溯源面板按 Tab 分为「参考资料」和「工具调用」两个标签页参考资料展示网页引用标题、来源、摘要、文档引用文件名、页码工具调用展示工具名称、执行状态、执行结果会话管理调用/api/portal/conversations管理会话列表支持新建会话、删除会话、置顶会话切换会话时自动加载历史消息联网搜索开关当机器人启用了联网搜索时显示开关按钮需同时满足机器人配置和用户手动开启两个条件消息渲染支持 Markdown 渲染和代码高亮highlight.js引用标注渲染为可点击的超链接图片占位符支持加载动画3.3 用户登录功能概述门户端的登录页面用户通过账号密码登录获取 JWT Token。设计实现调用/api/auth/login接口进行身份验证返回 JWT Token 和用户信息存储在 localStorage 中登录成功后跳转到机器人列表页/portal/bots未登录状态自动重定向到登录页四、RAG 核心引擎RAG 核心引擎位于bootstrap/rag/包是系统的智能中枢负责对话编排、多路检索、模型调用、工具执行等核心流程。4.1 对话编排ChatController ChatOrchestrationService核心流程接收用户提问 → 加载机器人配置 → 限额检查 → 执行多路检索 → 构建上下文 → 调用 LLM → 流式输出回答请求预处理加载机器人配置、创建/获取会话、保存用户消息、限额检查多路检索根据机器人配置的检索策略执行 FAQ/KB/Tool/WebSearch 检索提示词构建将系统提示词、检索上下文、引用索引、引用规范注入 Prompt上下文管理ContextManagementService检测 Token 是否超出模型限制超限则自动摘要压缩模型调用优先使用StreamingChatModel流式输出失败则降级为ChatModel结果持久化保存 AI 回答、Token 使用量、引用信息到数据库链路追踪全流程记录耗时和中间结果4.2 多路检索引擎RetrievalService RetrievalCoordinator四大检索通道通道服务说明FAQ 检索FaqRetrievalService匹配预置 FAQ 问答对最高优先级知识库检索KnowledgeRetrievalServiceMilvus 向量相似度搜索检索文档分块工具调用ToolExecutionServiceMcpClientServiceLLM 驱动选择并执行工具联网搜索WebSearchService调用智谱 AI Web Search API两种检索策略优先级策略PRIORITY按 FAQ → KB → Tool → WebSearch 顺序执行达到置信度阈值则提前返回并行策略PARALLEL使用CompletableFuture并行执行所有通道融合结果4.3 模型工厂ChatModelFactory根据模型配置动态创建StreamingChatModel或ChatModel统一适配 6 大供应商的接口差异ModelCallService封装统一的模型调用和 Token 计费逻辑4.4 工具执行与 MCPToolExecutionService McpClientServiceLocalFunctionRegistry本地函数注册表管理内置 Java 函数McpClientService基于 MCP 协议的外部工具客户端使用 WebFlux 实现 SSE 通信LLM 根据用户问题智能选择需要的工具输出工具调用参数FunctionExecutor执行具体函数调用返回结果注入上下文学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】