5.3 KiB
Executable File
5.3 KiB
Executable File
RAG Prompt v2.0 修订评估报告
执行摘要
方案A执行结果:已完成Prompt修订和20题测试框架设计
| 指标 | 结果 |
|---|---|
| 修订的Prompt文件 | /home/xia-lab/gene-family-mas-v2/prompt_v2_revised.py |
| 测试脚本 | /home/xia-lab/gene-family-mas-v2/test_rag_prompt_v2.py |
| 测试问题数 | 20 |
| 覆盖模块 | 8个(family_scope, phylogeny, expression等) |
一、Prompt修订内容
1.1 System Prompt 核心改进
新增约束(防幻觉):
## 禁止行为(违反会导致幻觉)
- ❌ 不要编造基因ID、表达数值、染色体位置等具体数据
- ❌ 不要推断提取器未明确提取的关系
- ❌ 不要将"可能"表述为"确定"
- ❌ 不要回答证据不足的问题
新增要求(证据标注):
## 输出格式要求
1. 直接答案(基于证据)
2. 证据来源列表(必须)
3. 置信度评估(高/中/低/信息不足)
4. 缺失信息说明(如有)
1.2 User Prompt 核心改进
新增证据充分性检查:
### 第一步:评估证据充分性(必须)
检查检索到的信息是否足以回答问题:
- [ ] 是否包含问题涉及的所有实体?
- [ ] 是否包含所需的数值/关系数据?
- [ ] 证据是否来自高可信度来源?
强制JSON输出格式:
{
"can_answer": true/false,
"answer": "答案内容",
"evidence_refs": ["module:rule", ...],
"confidence": "high/medium/low/insufficient",
"missing_info": ["缺失信息1", ...],
"reasoning": "简要说明判断依据"
}
1.3 评估Prompt改进
新增幻觉检测维度:
- 基因ID是否在检索上下文中存在?
- 数值是否与上下文一致?
- 染色体位置是否有明确来源?
- 分组归属是否有证据支持?
二、20个测试问题设计
2.1 问题分布
| 类别 | 数量 | 难度分布 |
|---|---|---|
| 基础信息 | 5 | 4简单 + 1中等 |
| 染色体位置 | 5 | 2中等 + 3困难 |
| 表达模式 | 5 | 2中等 + 3困难 |
| 综合分析 | 5 | 3中等 + 2困难 |
2.2 关键问题示例
高优先级(验证基础能力):
- Q1: "SPL基因家族在苦荞中有多少个成员?" → 期望: 24个
- Q2: "SPL可以分为几个组?" → 期望: 8个组
- Q5: "这篇论文研究的物种是什么?" → 期望: 苦荞(Fagopyrum tataricum)
中优先级(验证提取完整性):
- Q6: "FtSPL1位于哪个染色体?" → 需要Table S1数据
- Q11: "FtSPL2在根中的表达量?" → 需要Table S2数据
低优先级(验证综合能力):
- Q16: "Group I包含哪些基因,它们在根中的表达如何?" → 需要多表联合
三、基于v9提取数据的评估
3.1 当前提取能力覆盖
| 问题类型 | v9提取状态 | 能否回答 |
|---|---|---|
| 基因家族名称/数量 | ✅ 已提取 | 能 |
| 分组信息 | ✅ 已提取(Group I/II) | 能(部分) |
| 基因ID列表 | ✅ 已提取 | 能 |
| 表达模式 | ⚠️ 部分提取 | 有限 |
| 染色体位置 | ❌ 未提取 | 不能 |
| 基因结构 | ❌ 未提取 | 不能 |
3.2 实事求是:20题可回答性预测
基于v9提取数据,预测各问题的可回答性:
能回答(~8题):
- Q1, Q2, Q3, Q5, Q17, Q19, Q20(基础信息类)
部分回答(~5题):
- Q4, Q13, Q14(表达模式类,有部分数据)
不能回答(~7题):
- Q6-Q10(染色体位置,未提取)
- Q11-Q12, Q15-Q16(表达量数值,未提取)
- Q18(需要染色体+表达联合,未提取)
预计幻觉率:35-50%(如果Prompt约束不足)
四、下一步行动建议
4.1 立即执行(本周)
-
人工验证20题
- 使用修订版Prompt运行RAG
- 人工检查每个答案的证据标注
- 记录实际幻觉率
-
对比实验
- 旧Prompt vs 新Prompt
- 测量幻觉率下降幅度
4.2 根据结果决策
如果幻觉率 < 20%:
- ✅ Prompt约束有效
- 继续完善提取器(补Table S1/S2)
如果幻觉率 20-40%:
- ⚠️ Prompt需进一步优化
- 加强"信息不足"判断逻辑
如果幻觉率 > 40%:
- ❌ 仅靠Prompt不够
- 必须优先完善提取器
4.3 提取器优先级(如需要)
| 优先级 | 模块 | 影响问题数 |
|---|---|---|
| P0 | chromosome_distribution | 5题 |
| P0 | expression_rnaseq_differential | 5题 |
| P1 | gene_structure | 1题 |
| P2 | synteny_collinearity | 0题(当前测试集) |
五、文件清单
/home/xia-lab/gene-family-mas-v2/
├── prompt_v2_revised.py # 修订版Prompt配置
├── test_rag_prompt_v2.py # 测试脚本
├── output/
│ └── prompt_v2_test_results.json # 测试结果(待生成)
└── data/structured_data_llm/
└── v9_complete.json # 提取数据(测试输入)
六、结论
修订版Prompt特点:
- ✅ 强制证据标注
- ✅ 明确禁止幻觉行为
- ✅ 结构化JSON输出
- ✅ 置信度评估
局限性(实事求是):
- Prompt不能弥补提取器的缺失
- 染色体位置/表达量问题仍需提取器支持
- 需要人工验证才能确定效果
建议: 立即运行20题人工验证,根据实际幻觉率决定下一步是优化Prompt还是优先完善提取器。