标准答案
- 离线链路先读取 PDF、HTML、Markdown、表格或代码,解析为带来源的文本结构,再清洗重复导航、无意义空白和错误编码。
- 清洗后的内容按语义和结构切片,生成 Embedding 后写入向量库,同时保存文档版本、标题、页码、租户、权限和更新时间等元数据。
- 在线链路将问题向量化并召回候选,按相关性和权限过滤后重排序,把有限片段放入 Prompt,模型生成回答;返回结果时应携带可验证的来源。
题目解析
解析质量决定上限。PDF 中的页眉页脚、双栏顺序、表格和图片文字如果解析错,后面的向量检索再好也只能找到错误内容。重要文档需要抽样检查或人工确认。
索引内容和元数据要分开管理。文本适合检索,权限、版本和来源适合过滤与展示,不能把全部元数据只写进一段文本让模型自己判断。
离线和在线链路应使用一致的分词、Embedding 模型和版本标记。更换 Embedding 后通常要重建索引,不能让不同向量空间直接混用。
常见误区
- 只描述“上传文件后存向量”,没有说明解析、版本和来源。
- 索引时丢弃页码和文档版本,导致引用无法回到原文。
- Embedding 模型变化后继续使用旧向量,不做重建或索引隔离。