RAG 设计模板
1. 业务问题
| 项 |
内容 |
| 用户问题类型 |
|
| 为什么不能只用 Prompt |
|
| 答案必须基于哪些资料 |
|
| 错误回答的后果 |
|
2. 知识源
| 知识源 |
格式 |
更新频率 |
权限 |
负责人 |
|
PDF / Markdown / 网页 / 表格 / 数据库 |
|
|
|
3. 切片与 Metadata
| 字段 |
说明 |
| chunk_id |
切片唯一 ID |
| doc_id |
文档 ID |
| title |
文档标题 |
| section |
章节 |
| updated_at |
更新时间 |
| permission_group |
权限组 |
| source_type |
文档、表格、网页、代码 |
| text |
切片正文 |
切片原则:
- 一个 chunk 尽量表达一个完整语义单元。
- 保留标题层级,避免片段失去上下文。
- 对 FAQ、表格、代码、长报告使用不同切片策略。
- 保留权限字段,检索时必须过滤。
4. 检索链路
用户问题 -> 查询改写 -> metadata 过滤 -> BM25/向量召回 -> 合并去重 -> Rerank -> 上下文拼装 -> 生成答案
| 环节 |
方案 |
参数 |
失败处理 |
| 查询改写 |
|
|
|
| 关键词召回 |
|
top_k= |
|
| 向量召回 |
|
top_k= |
|
| Rerank |
|
top_n= |
|
| 上下文拼装 |
|
token_budget= |
|
5. 答案格式
结论:
依据:
引用:
无法确定:
建议下一步:
6. 评测集
最低评测:
- Recall@K:该命中的资料是否被召回。
- Faithfulness:回答是否只基于资料。
- Answer Correctness:结论是否正确。
- Citation Accuracy:引用是否对应结论。
- Latency/Cost:时延和成本是否可接受。
7. 风险限制
| 风险 |
对策 |
| 资料过期 |
展示更新时间,定期重建索引 |
| 权限泄露 |
检索前过滤权限组 |
| 片段冲突 |
展示冲突并要求人工判断 |
| 无资料 |
明确说无法确定,不编造 |
| 上下文过长 |
摘要、去重、Rerank 后再拼装 |