dieya_risk_prediction_backend/docs/PLM接口测试脚本使用说明.md

2.8 KiB
Raw Blame History

PLM 接口测试脚本使用说明

脚本 scripts/test_plm_risk_report.py 使用对方 2026-10-09 调用说明中第 3 节的完整参数。 样例保存在 docs/examples/plm-risk-request-20261009.json,品类保持“护发素”,不改为洗发水。

原报告与幂等验证

在后端项目根目录执行:

.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config

默认访问 http://192.168.9.28:18474/api/v1/integrations/risk-assessments/report。 --local-config 表示从本项目 .env 读取 dieya-plm 对应密钥,密钥和签名不写入输出。 在外部环境可以改为设置 RISK_CLIENT_SECRET 或 RISK_INTEGRATION_CLIENT_SECRET,不传 --local-config。

脚本首先查询原请求。不存在时才提交原参数生成,失败记录允许使用原快照重新提交。 取得报告后,重复 POST 同一业务参数验证幂等,再 GET 查询验证正文及元数据一致。 HTTP 202、429 会遵守 Retry-After 等待;完整测试总期限 180 秒,单次连接最多 10 秒、请求最多 130 秒。 POST 网络异常后先 GET 查询,避免直接换编号重复生成。其他错误会保留诊断与快照并以退出码 1 结束。

新生成一份报告

.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config --new-request

这会生成唯一的 PLM-TEST-... 请求编号。其他业务字段(包括截止日期)保持原样,便于与原报告比较。 如需要不同产品、日期或操作人,准备新的 JSON 文件,再通过 --body-file 指定。

可指定访问地址和输出目录:

.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config --url http://127.0.0.1:18474/api/v1/integrations/risk-assessments/report --output-dir .runtime-uploads/integration-tests/my-run

输出文件

默认保存在 .runtime-uploads/integration-tests/<北京时间及随机后缀>/,该目录已被 Git 忽略。

文件 内容
request.json 实际发送的紧凑 UTF-8 请求快照,用于恢复
report.md 接口实际返回的完整 Markdown,不进行重写
response.json 状态、耗时、安全响应头、报告摘要、测试检查项或失败诊断
summary.md 成功时的分数、等级、维度数量及报告链接

响应头校验包括请求编号、评估 ID、模型版本、0~100 安全分、合法风险等级;还会核对七个维度行。 HTTP 客户端只解压一次,报告以 UTF-8 校验,解压后的上限为 1MiB。

当前“护发素”不匹配八类品类评分规则,报告会显示无法归类和品类维度默认 50 分。 HTTP 200 表示调用成功,不代表所有维度具备真实数据。新旧报告的评分可比较,AI 建议文本可能不同。