import asyncio import sys import os # 将当前目录加入路径以便导入 qc_engine sys.path.append(os.path.dirname(__file__)) from qc_engine import qc_manager async def run_test(name, report_data): print("\n" + "="*50) print(f"🚀 测试案例: {name}") print("="*50) try: result = await qc_manager.run_qc(report_data) print("\n【质控分析结果】:") print("-" * 20) print(result) print("-" * 20) except Exception as e: print(f"❌ 分析失败: {e}") async def test_all(): # 案例1: 用户提供的正常(高质量)产前报告 report_1 = """ 【字段:超声所见】: I级产前彩色多普勒超声检查: 胎头位置:右中腹部,双顶径: 81 mm 头围: 296 mm 腹围:284 mm 股骨长: 61 mm。 胎方位:横位。 胎儿腹部胃泡旁可见一大小约18x16mm的囊性暗区,胃泡大小约48x21mm。 胎盘位于子宫后壁,羊水暗区:80 mm,指数:246 mm 。 【字段:超声提示】: 宫内晚期妊娠,单活胎,如孕32周大小。 胎儿腹部双泡征,十二指肠闭锁不排除,建议上级医院产前诊断检查。 羊水量多。 """ # 案例2: 故意构造的错误报告(性别冲突 + 逻辑矛盾) report_2 = """ 【字段:超声所见】: 患者性别: 男 检查部位: 子宫 子宫增大,宫腔内可见一胎儿,双顶径 90mm。 【字段:超声提示】: 1. 宫内妊娠(男)。 2. 子宫肥大。 """ data_1 = { "report": report_1, "examinePart": "产前超声", "patient_info": {"sex": "女", "age": "28"} } data_2 = { "report": report_2, "examinePart": "盆腔超声", "patient_info": {"sex": "男", "age": "45"} } await run_test("用户产前报告(应当无质量问题)", data_1) await run_test("错误报告(应当发现性别冲突)", data_2) if __name__ == "__main__": asyncio.run(test_all())