当前位置: 首页 > article >正文

企业级RAG系统 重磅开源

基于 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%免费】

相关文章:

企业级RAG系统 重磅开源

基于 Spring Boot 和 LangChain4j 的企业级 RAG(检索增强生成)智能系统 一、项目总体概述 1.1 项目定位 isy-rag-agent 是一套企业级 RAG 智能对话系统,集成了大语言模型(LLM)、向量检索、知识库管理、FAQ 问答、工具…...

从 51 万行源码看 AI Agent 架构:Claude Code 设计哲学拆解

你有没有想过,一个 AI 编码 Agent,凭什么敢直接操作你的文件系统、执行 shell 命令、甚至帮你 git commit?它背后的架构到底长什么样,才能做到既强大又不失控? Anthropic 开源了 Claude Code 的完整源码,5…...

NewTab Redirect! 完全配置指南:从零基础到高级应用

NewTab Redirect! 完全配置指南:从零基础到高级应用 【免费下载链接】NewTab-Redirect NewTab Redirect! is an extension for Google Chrome which allows the user to replace the page displayed when creating a new tab. 项目地址: https://gitcode.com/gh_m…...

15.【UPF】UPF Power Aware Simulation(UPF功耗感知仿真)

第一步:UPF Power Aware Simulation 分析与知识整理 1. 为什么学习Power-Aware Simulation 传统RTL仿真假设电源稳定,不建模断电行为、断电域X传播、保持单元操作。功耗感知仿真扩展RTL仿真,验证UPF功耗意图正确管理低功耗场景,在…...

Hermes 的五种多 Agent 协作模式

单个 AI Agent 的能力有上限。当任务复杂到需要并行处理、多角色分工、或跨领域协作时,多 Agent 协作就成了必然选择。 本文系统梳理 Hermes 支持的五种多 Agent 模式,对比不同协作架构的优劣,并给出各场景下的实践建议。 一、Agent 分工模式…...

Intel CPU降压破解秘籍:3步解锁隐藏电压调节功能

Intel CPU降压破解秘籍:3步解锁隐藏电压调节功能 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 你是否正在为笔记…...

云原生AI推理:Google Cloud Run与NVIDIA L4 GPU整合实践

1. 云原生AI推理的新选择:Google Cloud Run与NVIDIA L4 GPU的深度整合在AI应用爆炸式增长的今天,企业面临着一个核心矛盾:既要满足实时推理的高性能需求,又要控制基础设施的运维成本。传统解决方案往往迫使开发者在"自建GPU集…...

COBRA工具箱:从代谢网络建模到工程优化的MATLAB解决方案

COBRA工具箱:从代谢网络建模到工程优化的MATLAB解决方案 【免费下载链接】cobratoolbox The COnstraint-Based Reconstruction and Analysis Toolbox. Documentation: 项目地址: https://gitcode.com/gh_mirrors/co/cobratoolbox 面对复杂的生物代谢系统分析…...

XUnity.AutoTranslator完全手册:打破Unity游戏语言壁垒的智能翻译解决方案

XUnity.AutoTranslator完全手册:打破Unity游戏语言壁垒的智能翻译解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错失了许多优秀的独立游戏?或者…...

OpenFace 2.2.0:一站式开源面部行为分析工具完整指南

OpenFace 2.2.0:一站式开源面部行为分析工具完整指南 【免费下载链接】OpenFace OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation. 项目地址: htt…...

一键体验语义搜索:nli-MiniLM2-L6-H768构建本地知识库检索

一键体验语义搜索:nli-MiniLM2-L6-H768构建本地知识库检索 1. 语义搜索效果惊艳展示 想象一下,你刚接手一个庞大的技术文档库,需要快速找到关于"数据库课程设计"的相关内容。传统关键词搜索可能让你淹没在大量不相关结果中&#…...

从零开始构建智能机器人:Upkie开源双足轮式机器人入门指南

从零开始构建智能机器人:Upkie开源双足轮式机器人入门指南 【免费下载链接】upkie Open-source wheeled biped robots 项目地址: https://gitcode.com/gh_mirrors/up/upkie 你是否曾梦想亲手打造一个能够自主平衡、灵活移动的智能机器人?想象一下…...

别再让镜头畸变毁了你的测量精度!Halcon相机标定实战避坑指南(附完整代码)

工业视觉测量中的镜头畸变矫正:Halcon实战全流程解析 在精密测量领域,1%的误差可能意味着100%的失败。记得去年参与某汽车零部件检测项目时,我们团队连续三天被一个诡异的问题困扰——同一零件的重复测量结果波动高达0.3mm,远超工…...

从电路分析到工程实践:叠加与齐次定理的深度解析与应用指南

1. 线性电路的两大基石:叠加与齐次定理 第一次接触叠加定理和齐次定理时,我完全被它们的简洁美震撼到了——谁能想到,复杂的电路问题竟然能像搭积木一样拆解再组合?这两个定理就像电路分析中的"瑞士军刀",尤…...

个人健康管理系统小程序pf(文档+源码)_kaic

第5章 系统实现进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于…...

GPU加速后量子密码学:原理、技术与应用

1. 量子计算威胁与后量子密码学概述量子计算技术的快速发展正在重塑整个网络安全格局。传统公钥加密体系(如RSA、ECC)的安全性基于大整数分解或离散对数等数学难题,而Peter Shor在1994年提出的量子算法能在多项式时间内破解这些问题。根据IBM…...

终极实战指南:深度解析Cursor-Free-VIP突破AI编程助手限制的技术架构与实现

终极实战指南:深度解析Cursor-Free-VIP突破AI编程助手限制的技术架构与实现 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Yo…...

AMD显卡运行CUDA应用终极指南:ZLUDA完整部署与调优教程

AMD显卡运行CUDA应用终极指南:ZLUDA完整部署与调优教程 【免费下载链接】ZLUDA CUDA on AMD GPUs 项目地址: https://gitcode.com/gh_mirrors/zlu/ZLUDA 你是否曾因AMD显卡无法运行心仪的CUDA应用而感到沮丧?无论是机器学习、3D渲染还是科学计算&…...

3步搞定:让老旧的PL2303串口设备在Win10/Win11上满血复活

3步搞定:让老旧的PL2303串口设备在Win10/Win11上满血复活 【免费下载链接】pl2303-win10 Windows 10 driver for end-of-life PL-2303 chipsets. 项目地址: https://gitcode.com/gh_mirrors/pl/pl2303-win10 周末整理工作室,翻出一个尘封的Arduin…...

5分钟搭建免费音乐聚合API:一站式获取网易云、QQ、酷狗、酷我音乐播放地址完整指南

5分钟搭建免费音乐聚合API:一站式获取网易云、QQ、酷狗、酷我音乐播放地址完整指南 【免费下载链接】music-api Music API 项目地址: https://gitcode.com/gh_mirrors/mu/music-api music-api是一个功能强大的开源音乐解析工具,能够帮助你快速获取…...

021、智能体框架实战:用LangChain构建第一个Agent

一、从一次深夜调试说起 上周三凌晨两点,我在给一个客户演示前的最后一轮测试中遇到了诡异的问题:Agent明明收到了用户查询,却始终卡在“思考中”状态,不输出任何动作。日志里只有一句“Agent stopped due to iteration limit”。折腾半小时才发现,我忘记给Agent的工具调…...

SAP MIRO批量发票校验后,应付科目行项目金额怎么按暂估比例拆分?一个FMRESERV增强实例

SAP MIRO批量发票校验中应付科目行项目金额的智能拆分方案 每到月末关账时,财务部门的王经理总要面对堆积如山的采购发票。这些通过MIRO批量处理的发票中,经常出现暂估科目与应付科目金额不匹配的情况。最让他头疼的是,系统默认生成的会计凭证…...

基于LCU API的事件驱动自动化框架:League-Toolkit技术架构深度解析

基于LCU API的事件驱动自动化框架:League-Toolkit技术架构深度解析 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit…...

Gazebo插件配置踩坑记:publishWheelTF=true 如何让你的ROS TF树‘打群架’

Gazebo插件与ROS TF树的冲突解析:从publishWheelTF参数看仿真数据流设计 当你在Rviz中看到机器人轮子像喝醉了一样轻微抖动,终端不断刷出TF_REPEATED_DATA警告时,背后往往是一场关于TF树控制权的"隐形战争"。这场战争的主角通常是…...

Qt QGraphicsView实战:手把手教你用C++打造一个可拖拽、可编辑的简易绘图工具(附完整源码)

Qt QGraphicsView实战:从零构建可交互绘图工具 在桌面应用开发领域,图形交互功能一直是提升用户体验的关键要素。Qt框架中的QGraphicsView体系为开发者提供了一套完整的2D图形处理解决方案,特别适合需要复杂图形交互的场景。本文将带你从零开…...

Xilinx URAM深度实践:基于xpm_memory_tdpram原语构建高性能双端口存储模块

1. URAM基础与xpm_memory_tdpram原理解析 在FPGA开发中,存储资源的选择直接影响系统性能和资源利用率。Xilinx UltraRAM(URAM)是专为高性能应用设计的存储单元,相比传统BRAM,它具有更大的容量和更高的带宽特性。每个UR…...

避坑指南:在Windows 10/11上用QT Creator集成USBCAN库(ControlCAN.dll)的常见编译错误与解决

避坑指南:在Windows 10/11上用QT Creator集成USBCAN库(ControlCAN.dll)的常见编译错误与解决 当你在QT Creator中尝试集成USBCAN设备的ControlCAN库时,可能会遇到各种令人沮丧的编译错误。这些错误往往源于库文件配置不当、路径问…...

ADAPT-VQE算法与格点规范理论的量子计算应用

1. ADAPT-VQE算法原理与格点规范理论背景1.1 变分量子本征求解器基础框架变分量子本征求解器(VQE)是当前量子计算领域最具实用前景的混合量子-经典算法之一。其核心思想基于量子力学的变分原理:对于任意试探波函数|ψ(θ)⟩,其期望值⟨ψ(θ)|H|ψ(θ)⟩…...

HS2-HF_Patch:Honey Select 2 终极汉化与增强补丁完整指南

HS2-HF_Patch:Honey Select 2 终极汉化与增强补丁完整指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF_Patch是Honey Select 2游戏的一站…...

如何实现Android音频无线转发:sndcpy完整指南与实战技巧

如何实现Android音频无线转发:sndcpy完整指南与实战技巧 【免费下载链接】sndcpy Android audio forwarding PoC (scrcpy, but for audio) 项目地址: https://gitcode.com/gh_mirrors/sn/sndcpy 你是否曾经想过将手机上的音频实时传输到电脑上播放&#xff1…...