目录
13️⃣ DependencyMatcher + ML 混合策略 Pipeline 设计模式
13️⃣ DependencyMatcher + ML 混合策略 Pipeline 设计模式
1️⃣ 引言
在企业级 QA / RAG / 信息抽取产品里:
-
单靠规则 → 覆盖率低,应对复杂语言困难
-
单靠大模型 → 幻觉问题严重,不可控,不可解释
👉 最佳实践:构建 规则优先 + ML fallback 混合 Pipeline
➡️ 兼顾:
✅ 业务关键场景高准确率
✅ 复杂/未覆盖场景 fallback → ML 补全
✅ 全链路可监控、可解释
2️⃣ 典型架构图
┌────────────────────────────┐
│ 用户输入 Query │
└────────────┬──────────────┘
▼
┌─────────────────────┐
│ DependencyMatcher │
│ 高置信度规则匹配 │
└────────┬────────────┘
匹配成功? │ 是 │ 否
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ 规则结果直接答复 │ │ ML / LLM Fallback │
└────────┬────────────┘ └────────┬────────────┘
▼ ▼
┌────────────────────────────┐
│ 最终答复输出 │
└────────────────────────────┘
3️⃣ 设计原则
3.1 规则优先匹配
-
业务关键场景(如支付时间、公司名称、合同义务)优先用 DependencyMatcher
-
高置信度规则 → 可直接答复 → 无需进入 LLM
3.2 Fallback 策略
-
DependencyMatcher 匹配失败 or 不足覆盖 → fallback 到 ML / LLM
-
Fallback 可用:
-
传统 ML 分类器
-
BERT / RoBERTa QA 模型
-
RAG Pipeline → embedding + retrieval + LLM
-
3.3 策略切换阈值设计
-
可配置 规则置信度阈值
-
部分场景允许 “规则 + ML 混合结果融合” → voting / reranking
-
需记录日志 → 支撑后续优化
4️⃣ 代码示例框架
4.1 Pipeline 主控逻辑
class HybridQAPipeline:
def __init__(self, matcher_engine, ml_model):
self.matcher_engine = matcher_engine
self.ml_model = ml_model
def process_query(self, query_text):
# Step 1: DependencyMatcher 匹配
rule_result = self.matcher_engine.match(query_text)
if rule_result and rule_result["confidence"] >= 0.9:
return {
"source": "rule",
"answer": rule_result["answer"],
"confidence": rule_result["confidence"]
}
# Step 2: fallback 到 ML / LLM
ml_answer, ml_confidence = self.ml_model.predict(query_text)
return {
"source": "ml",
"answer": ml_answer,
"confidence": ml_confidence
}
4.2 Matcher Engine 统一接口示例
class MatcherEngine:
def __init__(self, matcher, nlp):
self.matcher = matcher
self.nlp = nlp
def match(self, text):
doc = self.nlp(text)
matches = self.matcher(doc)
if matches:
# 简化示例,实际可做更复杂 confidence 计算
return {
"answer": self._extract_answer(doc, matches),
"confidence": 0.95
}
else:
return None
5️⃣ 常见业务落地策略
5.1 法律 / 合同 QA
-
义务、违约、金额 → 规则优先
-
案例推理、模糊问法 → ML fallback
5.2 医疗问答
-
标准诊疗流程 → 规则优先
-
用户开放性提问 → ML fallback
5.3 电商客服 QA
-
售后政策、运费 → 规则优先
-
个性化推荐 / 闲聊 → ML fallback
6️⃣ 日志与监控建议
✅ 每次 query → 记录:
-
是否命中规则
-
规则名称 / 版本
-
fallback 到 ML 的情况
-
最终答复 + 置信度
-
用户反馈(若可用)
👉 用于后续规则优化、ML fine-tuning 数据积累。
7️⃣ 优化建议
✅ 规则与 ML 分工清晰
✅ 规则模块单独可部署 → 热更新
✅ fallback 层支持 AB test → 动态优化策略
✅ 日志全链路打通 → 支撑持续优化
8️⃣ 小结
DependencyMatcher + ML 混合策略 Pipeline 是当前企业级 QA / RAG 系统的主流架构模式:
✅ 高置信度场景规则保障 → 快速响应 → 可解释
✅ 长尾复杂场景 fallback → 保证覆盖
✅ 两者结合 → 兼顾准确率、召回率、稳定性