测试用户反馈
()
| 179 | log.info(f"✓ 导出统计信息: {stats_path}") |
| 180 | |
| 181 | def test_feedback(): |
| 182 | """测试用户反馈""" |
| 183 | log.info("=" * 60) |
| 184 | log.info("测试 4: 用户反馈") |
| 185 | log.info("=" * 60) |
| 186 | |
| 187 | manager = TrajectoryManager() |
| 188 | manager.start_recording(inputs={"query": "测试反馈"}) |
| 189 | |
| 190 | collector = manager.get_collector() |
| 191 | collector.on_node_start("test_node", StepRole.AGENT.value) |
| 192 | collector.on_node_end(output={"result": "success"}) |
| 193 | |
| 194 | request = DFRequest(target="测试反馈") |
| 195 | state = DFState(request=request) |
| 196 | |
| 197 | trajectory = manager.stop_recording(state, "feedback_test") |
| 198 | |
| 199 | # 添加反馈 |
| 200 | manager.add_feedback( |
| 201 | trajectory=trajectory, |
| 202 | score=5, |
| 203 | comment="非常好!", |
| 204 | labels=["accurate", "helpful"] |
| 205 | ) |
| 206 | |
| 207 | assert trajectory.feedback is not None |
| 208 | assert trajectory.feedback.score == 5 |
| 209 | assert "accurate" in trajectory.feedback.labels |
| 210 | |
| 211 | log.info(f"✓ 反馈评分: {trajectory.feedback.score}") |
| 212 | log.info(f"✓ 反馈标签: {trajectory.feedback.labels}") |
| 213 | |
| 214 | # 导出包含反馈的轨迹 |
| 215 | filepath = manager.export(trajectory, format="json") |
| 216 | log.info(f"✓ 已导出包含反馈的轨迹: {filepath}") |
| 217 | |
| 218 | def main(): |
| 219 | """运行所有测试""" |
no test coverage detected