企业实战:模块流程设计

发布时间:2026/8/12 13:50:45
企业实战:模块流程设计 目录1 导入核心业务流程1.1 设计目标2 检索核心业务流程2.1 设计目标2.2 处理链路详解2.3 核心技术栈1 导入核心业务流程1.1 设计目标本模块旨在构建一套高效的数据处理流水线将非结构化文档如PDF、Markdown转化为计算机可处理、AI可理解的结构化知识单元。简单来说就是把各种格式的文档翻译成机器能懂、AI能用的格式。为什么要做这个因为原始文档对AI来说就像一本没有目录、没有章节的书很难快速找到需要的信息。我们需要解决以下技术难题复杂文档解析PDF文档经常出现排版丢失、图文分离等问题。我们采用高精度解析工具像文档翻译官一样完整保留文档的层级结构标题、章节并关联图片上下文确保信息无损还原。语义完整性增强传统文本切片容易导致上下文缺失问题。想象一下把一篇文章切成碎片每片只保留几个字AI就不知道这些字原来在说什么。我们通过结构化处理为每个切片附加元数据如产品名称、层级标题将孤立文本转化为具备独立语义的知识单元。处理后的数据将经过向量化编码可以理解为把文字变成数学向量存入Milvus 向量数据库为后续的智能问答RAG检索提供高质量、高关联的数据基础。|核心设计亮点总结双层索引架构先通过文档级索引快速缩小检索范围再通过切片级索引精准匹配语义兼顾检索效率与精度混合向量支撑两类索引均同时存储稠密 / 稀疏向量适配 BGE-M3 模型输出兼顾 “语义泛化” 与 “关键词精准”元数据增强通过 item_name、title 等元数据补足切片语义从根源解决 RAG 检索的上下文缺失、主体模糊问题。2 检索核心业务流程2.1 设计目标本模块旨在构建一套高精度、低延迟的智能问答检索流水线将用户的自然语言问题转化为精准的答案。重点解决以下技术痛点意图理解偏差针对用户提问模糊、指代不明如“它多少钱”的问题通过多轮对话上下文和实体识别技术以及重写提问精准还原用户真实意图。召回率与准确率平衡单一的向量检索难以应对复杂语义通过**多路召回Multi-path Retrieval**策略结合语义检索、关键词匹配和网络搜索确保关键信息不遗漏。答案幻觉抑制通过**重排序Rerank**机制剔除无关噪声文档并利用高质量的上下文提示工程最大程度减少幻觉。2.2 处理链路详解本系统采用LangGraph进行检索流水线的编排按照意图理解 - 多路召回 - 排序融合 - 答案生成的流水线进行处理。主要处理节点如下用户查询入口开始1.意图识别与改写2.多路召回向量搜索HyDE检索网络搜索3.结果融合与粗排4.重排序5.LLM生成答案结束SSE流式输出Step 1: 意图识别与改写 (Item Name Confirm)背景用户提问往往口语化且缺乏关键实体如“这款手机续航多久”直接检索效果差。方案调用 LLM 分析历史对话上下文提取或补全关键实体名称Item Name并将问题改写为更适合检索的陈述句。Step 2: 多路召回 (Multi-path Retrieval)背景单一检索方式存在盲区例如向量检索对专有名词不敏感关键词检索无法理解语义。方案并发执行多种检索策略向量检索 (Vector Search)基于 BGE-M3 模型计算语义相似度检索 Milvus 中的文档切片。假设性文档嵌入 (HyDE)利用 LLM 生成“虚构答案”将其向量化后进行检索提升对隐式意图的召回能力。网络搜索 (Web Search)通过搜索引擎获取外部信息。Step 3: 结果融合与粗排 (Join RRF)背景多路召回返回的结果分数标准不一如距离分 vs 匹配度无法直接比较。方案采用倒排秩融合 (RRF)算法仅依据排名进行加权融合生成统一的候选文档列表去重并保留 Top-N。Step 4: 精准重排序 (Rerank)背景召回阶段为了覆盖率通常会引入部分噪声文档直接输入 LLM 会消耗 Token 并引发幻觉。方案引入高精度的Cross-Encoder模型如 BGE-Reranker对“问题-文档”对进行深度语义打分只保留相关性最高的 Top-K 文档如 Top 5。Step 5: 答案生成 (Answer Generation)方案将精选的 Top-K 文档片段作为上下文Context配合精心设计的 Prompt 模板输入给大模型LLM。流式输出通过 Server-Sent Events (SSE) 技术将 LLM 生成的答案逐字实时推送到前端提供丝滑的交互体验。2.3 核心技术栈LangGraph: 编排复杂的检索与生成流程RAG Pipeline。Milvus: 承载海量文档切片的向量检索。BGE-Reranker: 高性能重排序模型显著提升 RAG 系统的最终准确率。LLM (Qwen): 负责意图理解、HyDE 生成及最终答案合成。