1. RAG门控层:大模型问答的守门人
在构建基于RAG(检索增强生成)的问答系统时,开发者常陷入一个两难困境:系统是否应该对所有问题都给出回答?去年我们团队部署的客服机器人就曾因错误回答敏感问题导致严重事故。这正是门控层(Gating Layer)的价值所在——它像一位严谨的审稿人,决定何时放行检索结果到生成环节,何时直接拒绝回答。
门控层位于检索器(Retriever)和生成器(Generator)之间,主要承担三大职责:
- 问题合法性审查(如检测敏感词、违法内容)
- 答案可靠性评估(判断检索结果是否足够支撑生成)
- 业务规则校验(是否符合行业合规要求)
以医疗场景为例,当用户询问"如何自制处方药"时,优质的门控层应当:
- 识别该问题涉及医疗安全风险
- 即使检索到相关文献也拒绝回答
- 返回预设的安全提示:"该问题涉及医疗风险,建议咨询专业医师"
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 门控层设计四象限法则
2.1 必须回答的场景特征
当同时满足以下条件时,系统应当允许生成答案:
- 高置信度检索:top3检索结果的余弦相似度>0.85
- 低风险领域:不在预设的敏感领域黑名单中
- 信息完整:检索结果能覆盖问题的主要实体
- 时效有效:知识库中该信息未标记为过期
python复制def should_answer(query, results):
if query in sensitive_blacklist:
return False
if max([r.score for r in results]) < 0.85:
return False
if any(entity not in covered_entities for entity in query.entities):
return False
return True
2.2 必须拒绝的七类情况
根据我们在金融、医疗、法律三个领域的实施经验,这些情况必须拦截:
- 法律禁止类(如毒品制作、黑客技术)
- 事实不确定类(检索结果相互矛盾)
- 超范围类(超出系统预设的知识
