11 语义检索、向量检索与知识关系
本章产出: 关键词、向量、结构化查询、语义层和知识图谱的选择矩阵,以及一条可追溯、可评估的企业检索链路。
检索增强生成常被简化为四个步骤:切分文档、生成向量、召回片段、交给模型回答。这个方法适合快速验证,却不足以覆盖企业真实问题。用户问“这台设备为何不适用新版固件”,既需要从手册中找说明,也要精确查询设备型号和当前版本,还可能沿零件、批次与服务公告关系寻找限制。仅凭文本相似度,系统可能召回内容相近但型号错误的文档;仅凭关键词,又可能漏掉企业缩写、同义词和自然语言表达。
企业知识访问不是在几种检索技术中选一个冠军,而是为不同问题选择正确入口,并在一次任务中组合。可靠性来自查询规划、语义过滤、混合召回、证据排序、权限控制、版本追踪和持续评估,而不只是 Embedding 模型的好坏。
11.1 五种知识访问方式
| 方式 | 擅长解决 | 主要局限 |
|---|---|---|
| 关键词检索 | 编码、专名、精确短语、法规条款 | 难理解改写和隐含语义 |
| 向量检索 | 自然语言改写、语义相似、经验案例 | 精确条件弱,可能语义相近但事实不适用 |
| 结构化查询 | 精确过滤、聚合、数值与当前状态 | 依赖已知模式,难处理长文本表达 |
| 语义层 | 统一指标、实体、口径和查询意图 | 建模与维护需要领域投入 |
| 知识图谱 | 多跳关系、路径解释、影响分析 | 建设成本高,关系质量决定效果 |
关键词与向量通常组合为混合检索:前者保住设备编码、零件号和专有名词,后者覆盖用户不同表达。结构化查询负责“库存大于零”“当前固件版本”“保修截止日期”等确定条件。语义层把“首次修复率”“有效客户”等业务语言映射到稳定计算。知识图谱适合回答“这个批次零件影响了哪些设备、客户和工单”这样的关系问题。
不要将所有数据文本化。数值范围、日期比较、权限判定和交易状态应由确定性服务处理;文本检索提供解释与经验;图关系提供路径。Agent 可以规划调用,但每种工具的输入输出和权限必须受控。
11.2 从问题类型规划检索
检索设计首先建立问题分类,而不是直接调整 Top-K。企业问题大致可以分为:
- 定位型:寻找某份制度、某个设备编码或一条公告;
- 事实型:查询当前状态、负责人、日期或数值;
- 解释型:理解规则、原因、方法和操作步骤;
- 比较型:对比版本、方案、区域或时间;
- 关系型:追踪上下游、适用范围和影响路径;
- 综合型:组合事实、规则、经验后形成建议;
- 行动型:在取得上下文后调用业务工具。
不同类型使用不同计划。事实型优先结构化查询,解释型使用混合检索,关系型使用图或实体关系,综合型需要分解子问题再融合证据。系统也要识别用户问题中的实体、时间、区域、版本和业务目的,把它们转成过滤条件。若无法识别设备型号,应先澄清,而不是在全库中猜一个答案。
山城精工的“设备报 E37 如何处理”缺少设备身份。助手应要求序列号或从当前工单获得设备,再查询配置和固件,过滤适用手册,召回 E37 章节与已确认相似案例,最后检查安全规则和备件状态。检索链体现的是任务逻辑,而不是一次向量搜索。
11.3 分块是一项语义设计
Chunk 决定检索系统能够返回什么证据。固定长度切分实现简单,却可能把标题、条件、安全警告、表头和操作步骤拆散。块太小,上下文不足;块太大,噪声增加、定位变差、成本上升。
企业文档应优先利用结构:章节、段落、列表、表格、问答、图注和代码块。可以保留父块与子块:子块用于精确召回,父块用于补充上下文。每个块都要继承文档标识、版本、页码、标题路径、适用产品、语言、权限、有效期和审核状态。
表格要保持表头与行的关系,警告框要与对应操作关联,跨页段落要恢复。扫描件需要保存 OCR 置信度,低质量块可以降低排序或进入人工复核。对视频和录音,时间戳相当于页码,引用应能回到原位置。
分块规则本身要有版本。当算法调整后,索引中的块标识、来源范围和生成版本应保留,便于重建和比较。若只保留向量而无法返回原文位置,就失去了证据链。
11.4 Embedding 与索引生命周期
向量表示会随模型、维度、预处理和语言策略变化。索引记录应至少包含源资产与版本、块标识、内容摘要、Embedding 模型和版本、生成时间、权限标签及索引版本。源文档更新、撤回、权限改变或保留期到达时,系统能够定位所有相关向量并更新或删除。
不要假设新的 Embedding 模型一定更好。迁移前应使用企业评测集比较召回、精确、语言与专名表现、延迟和成本。大规模索引可以双写或建立并行版本,在受控流量中验证后切换,并保留回滚。
增量索引要处理同文档多版本、内容未变的重复发布、失败重试和删除传播。索引完成率不是唯一质量指标,还要检查适用元数据是否正确、权限过滤是否生效、源与索引是否对账。
11.5 混合召回与重排
一个常见的可靠链路包含:
- 解析查询意图、实体和时间;
- 根据身份和目的确定可见范围;
- 用结构化条件过滤领域、型号、版本和有效期;
- 并行执行关键词、向量或关系召回;
- 合并、去重并通过重排模型或规则排序;
- 做证据充分性和冲突检查;
- 将少量高质量证据交给生成模型;
- 输出引用、限制,必要时澄清或拒答。
混合检索的权重应按问题类型调整。设备编码和错误码提高关键词权重,自然语言故障描述提高向量权重,正式制度优先认证与最新有效版本,历史案例还要考虑型号相同、结果已确认和时间接近。重排不应只看语义相关性,还应加入权威性、时效、适用范围和质量信号。
Top-K 不是越大越好。召回过多会稀释关键证据,增加模型成本和冲突。可以先广召回,再精排压缩;对于长文档,先召回章节再展开局部。若证据之间冲突,应把冲突作为结果处理,而不是让语言模型悄悄选择。
11.6 知识图谱何时值得建设
知识图谱不是 AI Ready 的必选项。当问题主要是文档解释和少量精确过滤,混合检索加结构化服务可能足够。图谱在以下场景更有价值:
- 需要跨多个系统进行多跳影响分析;
- 同一实体存在大量别名、层级和复杂关系;
- 关系本身比文本内容更重要;
- 需要解释“通过什么路径得到结论”;
- 关系可持续从权威数据和流程维护。
山城精工可以先把设备—型号—配置—零件—手册—工单建立为轻量关系模型,不必一开始建设企业全域图谱。当召回频繁因实体别名和适用关系失败,或要分析某零件批次影响的设备、客户和服务公告时,再扩展图服务。
图谱的挑战不在存储,而在关系的真实性、时间和责任。设备安装关系会变化,零件替代有条件,客户组织有层级,手册适用范围有版本。边需要来源、有效期和置信度。错误关系会让多跳查询放大错误,因此图质量同样需要契约、检测和人工审核。
11.7 权限过滤必须发生在召回之前
如果先从全库召回再在生成后遮蔽,模型已经看到了无权访问的内容,也可能通过措辞泄漏。检索应根据用户、角色、区域、客户关系、使用目的和文档分类,在候选生成前缩小范围。向量数据库的元数据过滤能力、搜索引擎的文档级权限和结构化服务的行列策略需要统一身份。
块级权限应继承文档,并允许章节更严格。例如合同正文可供法务查看,价格附件只对少数角色开放。跨来源综合还要考虑推断风险:两个各自可见的字段组合后,可能暴露敏感结论。
权限变化和删除要及时传播到索引与缓存。可建立权限版本,过期索引拒绝服务或降级到权威查询。检索日志本身也可能包含敏感查询和文档标识,需要最小化、访问控制和保留期限。
11.8 证据链与引用
可追溯回答至少要保存查询、过滤条件、召回候选、排序结果、最终证据、源版本、生成配置和输出。用户看到的引用应能打开有权限的原文位置,而不是只显示一个文件名。
引用不是装饰。系统应检查关键结论是否由引用支持、引用是否仍有效、数值是否来自结构化工具、回答是否超出证据。对于一段答案包含多个结论,可以建立结论到证据的映射。高风险任务中,某些字段只能从工具返回填充,生成模型只负责解释。
如果证据覆盖不足,系统应声明缺口。可靠的回答可以是:“当前只能确认 A;B 所需的配置记录缺失,因此不能判断,建议核对序列号。”这比补全一个貌似完整的结论更有价值。
11.9 检索评估
生成答案的总体评分无法替代检索评估。至少分开观察:
- 召回率:应出现的证据是否进入候选;
- 精确率:候选中有多少真正适用;
- 排序质量:关键证据是否排在有限上下文内;
- 过滤正确性:型号、时间、权限等条件是否准确;
- 引用正确性:答案引用是否支持对应结论;
- 无答案识别:资料不足时是否拒绝或澄清;
- 延迟与成本:在目标 SLO 内需要多少资源。
评测集来自真实问题,并标注问题类型、实体、预期证据、禁止证据和答案状态。要覆盖同名不同义、旧版本、相似型号、权限边界、恶意指令和无答案问题。线上还要观察零结果、查询改写、用户打开引用、人工替换证据和最终任务结果。
评测需要按索引、分块、Embedding、重排和查询规划版本保存。一次指标提升应能说明改了哪一层,避免只看端到端分数而无法定位。
11.10 山城精工的检索组合
首期可以采用以下设计:
- 对错误码、零件号、手册编号使用关键词检索;
- 对现场自然语言描述和历史工单使用向量召回;
- 用设备型号、固件、地区、日期和认证状态做结构化过滤;
- 从设备上下文 API 获取当前配置与合同事实;
- 用轻量实体关系连接设备、零件、手册和案例;
- 对候选按适用性、权威、有效期和相似性重排;
- 库存与权限不进入静态文本索引,查询时调用权威工具;
- 证据冲突或覆盖不足时澄清、拒答或转专家。
这套组合不会保证永不出错,但能显著约束错误空间,并让每次失败可以归因:是实体识别、过滤、召回、排序、源数据还是生成出了问题。
11.11 本章交付物:检索设计矩阵
架构评审时,应为每类问题填写:
| 设计项 | 应回答的问题 |
|---|---|
| 问题类型 | 定位、事实、解释、比较、关系、综合或行动 |
| 入口 | 关键词、向量、结构化、语义层、图或组合 |
| 过滤 | 实体、版本、时间、领域、权限与目的 |
| 证据 | 权威来源、适用范围、质量、引用粒度 |
| 生命周期 | 分块、Embedding、索引、更新、撤回与删除 |
| 评估 | 黄金证据、边界样本、指标、版本和线上反馈 |
| 失败处理 | 澄清、扩大检索、降级、拒答或人工升级 |
检索的目标不是“尽可能找到相似内容”,而是在当前任务、身份和时间下找到足以支持判断的正确证据。关键词、向量、语义和关系只是不同的透镜;真正的企业知识能力,是知道何时使用哪一面透镜,如何组合结果,以及在看不清时停止作答。