3.3 KiB
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 原始参数:不存在时生成报告,已有成功记录时返回原报告,失败记录允许使用原快照重新提交。
取得 JSON 响应后,从 data.reportMarkdown 读取完整报告,重复 POST 同一业务参数验证正文及元数据幂等一致。第三方只保留生成报告和报告追问两个 POST 接口,不再 GET 查询。
HTTP 202、429 会遵守 Retry-After 等待;完整测试总期限 180 秒,单次连接最多 10 秒、请求最多 130 秒。
POST 网络异常后仍使用原编号、原参数重复 POST,不要换编号重复生成。其他错误会保留诊断与快照并以退出码 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 |
JSON 响应 data.reportMarkdown 中的完整 Markdown,不进行重写 |
response.json |
状态、耗时、安全响应头、报告摘要、测试检查项或失败诊断 |
summary.md |
成功时的分数、等级、维度数量及报告链接 |
响应头校验包括请求编号、评估 ID、模型版本、0~100 安全分、合法风险等级;还会核对七个维度行。 HTTP 客户端只解压一次,报告以 UTF-8 校验,解压后的上限为 1MiB。
当前“护发素”不匹配八类品类评分规则,报告会显示无法归类和品类维度默认 50 分。 HTTP 200 表示调用成功,不代表所有维度具备真实数据。新旧报告的评分可比较,AI 建议文本可能不同。
报告追问使用 scripts/call_external_follow_up.py --url <完整follow-up接口地址> --body-file <追问JSON文件>,同样设置 RISK_INTEGRATION_CLIENT_SECRET。脚本按 HMAC v2 签名并打印一次性 JSON,不提供流式、创建会话或历史查询命令。完整请求示例见 第三方接口文档。