🔧 第四步:设计问答链路与响应控制(Response Chain & Output Control)
🎯 目标:
在生成器模型的基础上,构建完整的问答链路,确保输出结果准确、可控、可溯源,提升实际可用性与用户信任度。
🧩 关键内容:
1️⃣ 问答链路设计
构建从用户输入到最终答案输出的流程闭环。
-
输入处理:对用户输入进行标准化、意图识别(如分类、实体抽取、QA/Chat分流)。
-
文档拼接逻辑:对检索器返回的多个文档片段排序、截断、清洗、构建 Prompt。
-
生成式回答:将拼接好的上下文与用户问题传入生成器(如 GPT-4),输出自然语言回答。
-
输出验证(可选):通过规则或模型判断回答质量,如是否包含幻觉、是否引用文档内容。
-
反馈机制:记录用户点击、评分或纠错反馈,形成闭环优化(用于第五步迭代训练)。
2️⃣ 控制生成内容的行为(Output Control)
-
事实性保障:
-
Prompt 加入说明:"仅基于以下资料回答,如资料中没有请回复'未提供相关信息'。"
-
模型输出附带引用标注,如:[文档1]、[文档2]
-
-
结构化输出:
-
如果下游系统对接需要结构,可采用 JSON 格式返回。例如:
{ "answer": "XXX", "source": ["文档1", "文档3"] }
-
-
风格控制(Prompt 模板):
-
正式/简洁/科普/对话式等风格可通过 few-shot 示例控制;
-
例子:
使用以下资料用简洁正式风格回答问题。 资料: - 文档1:...... - 文档2:...... 问题:...... 回答:
-
-
未知情况处理:
- 防止"编造"回答,通过提示"若无法确定,请直接回复'资料未提及'。"
📊 示例流程图
+-------------------+ +------------------+
| 用户问题输入 | | 检索器检索文档 |
+---------+---------+ +--------+---------+
| |
v v
文本规范化 多文档拼接与构建Prompt
| |
+-------------+---------------+
|
v
✨生成器(如GPT-4)
|
v
输出答案(带来源,结构化)
|
v
✅ 输出控制与验证
✅ 小贴士:
-
推荐使用
Chain-of-Thought
方式让模型更具解释性; -
可以加入
Reranker
模块,对回答候选项进行二次排序; -
输出可带上检索到的片段或"来源列表"增强信任感。
-