RAG 知识收集

核心设计

  1. 标准 RAG 系统核心模块

我们将 RAG 系统分为数据准备流 (Offline)查询处理流 (Online) 两大支柱模块:

A. 数据准备模块 (Data Ingestion Pipeline)

这是系统的“知识预处理厂”,负责将非结构化数据转化为机器可理解的格式。

  • 加载器 (Document Loaders):对接多种数据源(PDF, Notion, Confluence, SQL)。
  • 清洗与转换 (Clean & Transform):去除噪声(如 HTML 标签)、处理特殊字符。
  • 分块策略 (Chunking Strategy):将长文拆分为固定长度或语义段落,通常带有重叠部分(Overlap)以保持上下文连贯性。
  • 向量化 (Embedding):利用 $BGE$、$text-embedding-3$ 等模型将文本块转化为高维向量。
  • 存储 (Vector Storage):存入向量数据库(如 Milvus, Pinecone, ElasticSearch),并附带元数据(Metadata)以便后续过滤。

B. 核心功能组件

  • 检索器 (Retriever):负责从海量向量中召回最相关的 Top-K 个分块。
  • 重排器 (Reranker):召回往往追求召回率,而重排(使用交叉熵模型)则追求精确度,对初步筛选出的结果进行精细打分。
  • 提示词引擎 (Prompt Engine):动态组装包含 System Prompt、Retrieved Context 和 User Query 的最终提示词。
  • 生成器 (Generator):调用 LLM(GPT-4o, Claude 3, DeepSeek 等)生成最终答案。
  1. 用户查询处理流程 (User Query Workflow)

当一个用户发起提问时,系统会经历以下精密流程:

  1. 查询意图解析 (Query Rewriting)
    • 问题重写:如果用户问“它多少钱?”,系统会结合上下文将其补全为“某型号手机的价格是多少?”。
    • 查询路由:判断该问题是需要查知识库、查实时天气 API,还是直接闲聊。
  2. 向量化查询 (Query Embedding)
    • 将用户的 Query 转化为与数据库相同的向量表示。
  3. 多路召回 (Multi-way Retrieval)
    • 向量检索:基于语义相似度。
    • 全文检索:基于关键字(BM25),防止专有名词因向量化丢失精度。
  4. 精排与过滤 (Rerank & Filter)
    • 过滤掉低分或权限不足的分块。
    • 重排器对召回的上下文进行排序,确保最相关的知识排在最前面(LLM 对 Prompt 头部和尾部的信息更敏感)。
  5. 增强生成 (Augmentation)
    • 将检索到的“标准事实”填充进模板,作为 LLM 的“开卷参考资料”。
  6. 结果输出与溯源 (Citations)
    • 输出答案,并标注:“参考自文件 A 的第 3 段”。

3.RAG 系统的核心能力提供

能力维度 核心价值
消除幻觉 (Anti-hallucination) 强迫模型基于给定的“检索事实”回答,无根据则回答“不知道”。
知识实时性 (Freshness) 只要更新数据库(无需训练模型),AI 就能立刻掌握公司昨天发布的政策。
私域安全 (Privacy) 数据留在本地向量库,不用于模型训练,配合权限校验实现“千人千面”。
可追溯性 (Explainability) 每个答案都带原文链接,方便人工审计。