请描述RAG系统中从原始文档到可检索内容的完整处理流程,包括各环节的主要作用。
考察说明
考查对RAG(检索增强生成)中文档处理环节的理解,以及能否清晰表述从加载到索引的转化过程。
回答思路
- 【回答框架 1】文档处理流程通常包括:加载(Load)、切分(Split)、嵌入(Embed)与索引(Index)四个核心阶段。加载指从PDF、网页、数据库等不同来源读取文档内容;切分是将长文档拆分为更小的块(Chunk),块大小和重叠策略会影响检索精度和上下文完整性。
- 【回答框架 2】嵌入阶段使用预训练模型(如BGE、OpenAI Embedding)将每个文本块转换为向量,向量的语义相似度代表文本内容的相关度。索引阶段则将向量及其对应的原文存储到向量数据库(如FAISS、Milvus、pgvector中),并建立近似最近邻(ANN)索引以加速检索。
- 【回答框架 3】整个流程的输入是源文档,输出是可检索的向量索引与明文映射。在实践中还需考虑文档清洗、格式解析、元数据提取、去重与权限过滤等细节,这些环节直接影响检索质量和系统安全。
- 【回答框架 4】对切分策略要特别说明:固定大小切分简单但可能截断语义;按段落或标题切分更符合语义边界,但需依赖文档结构。块大小太大会引入噪声,太小则可能缺失上下文,通常需要根据文档类型和向量模型的最大输入长度进行权衡。
- 【回答框架 5】索引构建完成后,RAG系统在查询时会将用户问题同样嵌入为向量,与库中向量做相似度检索,取TopK个最相关文本块,连同原始问题一起交给大模型生成答案。因此文档处理流程决定了系统能‘看到’什么,直接影响答案质量。
- 【关键点 1】文档处理核心为加载、切分、嵌入、索引四步。
- 【关键点 2】切分块大小与重叠需权衡语义完整性和检索精度。
- 【关键点 3】嵌入模型将文本映射为语义向量,存入向量数据库并建ANN索引。
- 【关键点 4】查询时问题和文档块统一向量化,检索TopK后交由LLM生成答案。
- 【关键点 5】文档清洗、元数据、去重和权限控制是实际部署中的关键细节。
- 【易错点 1】不要把所有文档切成相同长度,忽略文档结构的语义边界。
- 【易错点 2】不要忽略切分重叠,否则可能丢失上下文导致检索不全。
- 【易错点 3】不要将所有文档无差别索引,应处理敏感信息和权限限制。