ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

企业级多模态 RAG 知识库项目解析

企业级多模态 RAG 知识库项目解析 一、项目背景企业知识碎片化严重、传统检索低效自研 AI 智能知识库统一沉淀业务文档基于 Agentic RAG 架构引入多模态解析、混合检索、知识图谱多跳推理及精细化权限管控将企业知识资产转化为高效生产力。二、支持多模态文件文本支持 PDF、DOCX、XLSX、PPTX、TXT、MD、CSV、JSON 等格式URL 自动抓取网页正文统一转 MD 建立索引图片JPG/PNG视觉嵌入模型 OCR 图文解析支持以图搜图音频MP3/WAV/M4A自动 ASR 语音转文本后检索视频MP4视频理解模型解析内容提取音频文字、画面视觉信息输出多模态向量支持图文视频跨模态检索。总之全类型覆盖文本/图/音/视频→ 统一语义检索 跨模态搜索。三、项目整体描述多模态文档管理支持多格式文件上传提供目录/标签管理、版本控制以及部门/角色/用户级的强权限拦截。智能搜索提供类似搜索引擎的体验支持文件类型、更新时间、文档分类、权限范围的高级筛选实现高亮匹配文本。AI 流式问答支持对话式交互智能理解用户意图生成带引用来源文档标签的精准回答并提供推荐相关问题。知识图谱可视化通过 LLM 抽取为“实体-关系”网络直观展示文档关联、技术架构、业务分类等多维度的图谱生态。四、技术栈后端开发骨架NestJS / Node.jsAgent / RAG 框架LangChain、LangGraph、DeepAgents、Vercel AI SDK数据存储 / 检索PostgreSQL (PGVector)、ElasticSearch、Neo4j、Redis、MinIO、Mem0观测运维 / 部署LangFuse、LangSmith、Docker Compose五、核心项目亮点Agentic RAG 动态路由基于 LangGraph 实现智能 Agent 架构。Agent 自主判别用户问题复杂度动态调度向量检索、关键词检索、知识图谱推理等工具规避固定检索流程带来的回答局限适配各类复杂业务提问。多路召回与重排机制采用 PGVector 向量检索 ElasticSearch 关键词检索的多路召回方案。通过 RRF 算法融合结果、Reranker 重排模型优化排序大幅提升检索准确率。知识图谱多跳推理利用 LLM 自动抽取文档实体与关系存入 Neo4j。针对跨业务、跨周期的多文档联动提问 Agent 提取图谱多跳推理链路与 RAG 检索结果送入 Prompt 上下文强化复杂业务回答的完整性、逻辑性。多模态文档统一解析构建 Redis 异步任务队列。支持PDF/Word等常规图文及动态网页 URL 抓取。针对图片依赖OCR、音频依赖ASR、视频采用分片视频大模型完成内容提取统一格式化为 Markdown 文档实现以图搜图等多模态跨模态检索。RBAC 双层权限隔离基于 RBAC 权限模型搭建分级管控体系实现 功能权限 数据权限 双重隔离系统根据当前登录用户角色过滤可访问文档池不同岗位、部门人员仅能检索权限范围内资料适配企业分级保密合规要求。分层记忆机制与全链路交互集成 Redis 短期记忆滑动窗口对话摘要与 Mem0 分层长期记忆用户偏好、会话习惯。交互端采用 SSE 流式输出文字回答WebSocket 与流式 TTS 推送实时语音。全链路观测与RAG自动化评估本地使用 LangSmith 调试链路线上通过 LangFuse 采集全链路运行数据记录检索耗时、LLM调用消耗、资料召回来源、模型异常日志等内置自动化评测机制批量实验量化评估RAG与Agent回答效果。六、存储分工PostgreSQLPGVector存储业务数据与文档分片向量涵盖RBAC权限、文档主表及分片向量、AI 对话会话与消息记录ElasticSearch全文关键词检索存储文档分片倒排索引负责关键词召回与模糊检索。Neo4j图数据库存储实体与关系支持多跳推理检索解决复杂跨文档关联问答。Redis 缓存与异步任务含对话记忆、滑动窗口摘要、用户权限、热点文档数据、任务队列、文档访问排行榜MinIO 对象存储原始文件PDF/Word/PPT/图片/音视频及衍生资源内嵌图片、视频帧截图Mem0 分层存储用户偏好、跨会话上下文的长期记忆管理。七、核心技术架构文档处理流程由于多媒体文件解析属于高耗时任务系统采用 Redis 异步任务队列 机制确保前端交互流畅无卡顿。用户上传文件 → Redis异步任务队列 → 存储至MinIO → 多模态解析 → 索引分发 [用户上传文件] │ ▼ [Redis 异步任务队列] ──► 存储原始文件至 [MinIO] │ ├─► 文本类 (PDF/Word/TXT/Markdown/Excel/URL): 直接提取或动态抓取 ─► 统一转为 Markdown ├─► 图片类 (JPG/PNG): [视觉嵌入模型]提取特征 [大模型 OCR 图文理解] ──► 图文描述 Markdown ├─► 音频类 (MP3/WAV): [ASR 语音转文字] ────────────────────────────► 转录文本 Markdown └─► 视频类 (MP4): [视频理解模型]画面抽帧 音频 ASR ────────────────► 整合多模态 Markdown │ ▼ [资源处理] 文档内嵌图片、视频帧 ──► 存入 MinIO ──► 替换 MD 中图片为 URL │ ▼ [索引分发] ├─► 原文存入 [PostgreSQL] (document 主表) ├─► 智能切片 (Chunk) ─► [PGVector] (向量索引) ├─► 文本同步 ─► [ElasticSearch] (倒排索引) ├─► [LLM 关系抽取] ─► [Neo4j] (实体关系图谱) └─► 更新任务状态至 document_task 表 ──► 前端实时轮询进度Agentic Agent 智能问答流程基于 LangGraph 驱动智能体根据权限动态隔离数据能自主判断问题的复杂度灵活调度不同的检索策略。用户提问 → 鉴权校验 → LangGraph意图路由 → 多路召回 → Reranker精排 → Prompt拼接 → 流式响应 [用户提问] │ ▼ [鉴权校验] ──► 读取 [Redis 权限白名单]合规隔离越权过滤 │ ▼ [LangGraph Agent 意图路由] │ ├─► 简单问题 ──────────────► 走【混合检索】 └─► 复杂/关系型问题 ────► 触发【Neo4j 图谱推理】 │ ▼ [智能检索与精排] ├─► 多路召回[ES 关键词召回] [PGVector 向量语义召回] ├─► 混合精排[RRF] 融合多路打分 ──► [Reranker 模型] 深度重排 ├─► Neo4j 多跳图谱推理[LLM 提取实体] ──► 查询“实体-关系”推理链路 ├─► 记忆对齐Redis【短期会话摘要】 Mem0【用户/会话长期记忆偏好】 │ ▼ [大模型Prompt] ──► 拼接重排分片 图谱推理结果 长期/短期记忆 │ ▼ [响应生成] ──► [SSE 流式文字输出] [WebSocket 同步流式 TTS 语音播放] │ ▼ [日志与评估监控] ──► 全链路日志上报至 [LangFuse]记录耗时/Token成本/召回分片/异常捕获 │ ▼ [问答记录] ──► 写入 PostgreSQL (chat_session / chat_message 表)八、权限机制系统采用数据级权限隔离当前登录用户可访问的全部文档ID集合预加载存入Redis检索完成后自动过滤用户无访问权限的文档仅使用有权限资料生成AI回答。
返回列表