什么是 检索器(Retriever)?
检索器(Retriever)是查询到上下文的组件,接收用户或 Agent 查询,并返回相关文档、分块、记录、段落或可供工具读取的上下文,用于后续推理和生成。
工作原理
检索器是许多 RAG 和 Agent 系统中的事实锚定边界。它常被等同于向量搜索,但概念上更广:检索器可以封装关键词搜索、元数据过滤、SQL 查询、图遍历、API 查询、混合搜索或领域特定排序逻辑。它的输出应保留证据、分数、元数据、来源标识和追踪信息,方便下游进行重排序、引用、审计或拒绝不可靠上下文。薄弱的检索器会让强大的语言模型也只能基于不完整或不相关证据作答。
主要特点
- 查询到上下文角色:把信息需求转换为模型或 Agent 可使用的候选证据
- 后端无关:可使用向量数据库、搜索引擎、SQL 存储、图数据库、API 或混合系统
- 保留证据:应返回来源 ID、元数据、分数,最好还能提供稳定引用锚点
- 质量敏感:召回率、精确率、新鲜度和权限过滤直接影响答案可靠性
- 可组合:常与查询改写、元数据过滤、重排序器和答案校验配合使用
常见用途
- 生成有依据答案前,从企业知识库检索相关分块
- 为编程 Agent 查找相关源代码、Issue、日志或文档
- 结合稠密向量相似度、关键词搜索和元数据过滤
- 为 LLM-as-Judge 评估或引用校验提供证据
- 在 Agent 决定动作前查找工具文档
示例
loading...
Loading code...常见问题
检索器和向量数据库是一回事吗?
不是。向量数据库只是可能使用的后端之一。检索器是应用组件,负责决定如何查询一个或多个后端、应用过滤条件、返回证据,并把元数据暴露给 AI 系统其他部分。
生产级检索器需要具备哪些能力?
生产级检索器应支持权限过滤、稳定来源标识、分数报告、超时行为、追踪、新鲜度控制和可预测失败模式。同时还应基于任务相关指标评估检索质量。
如果 LLM 很强,为什么还要关注检索质量?
强大的 LLM 仍然依赖收到的证据。如果检索器返回不相关、过期、不完整或未授权的上下文,模型可能生成流畅但错误、无依据或不安全的答案。
如何改进检索器?
常见改进方式包括优化分块、查询改写、混合搜索、元数据过滤、领域特定排序、重排序、利用答案质量反馈,以及使用标注查询和期望证据做离线评估。