56 lines
3.3 KiB
Markdown
56 lines
3.3 KiB
Markdown
# PLM 接口测试脚本使用说明
|
||
|
||
脚本 `scripts/test_plm_risk_report.py` 使用对方 2026-10-09 调用说明中第 3 节的完整参数。
|
||
样例保存在 `docs/examples/plm-risk-request-20261009.json`,品类保持“护发素”,不改为洗发水。
|
||
|
||
## 原报告与幂等验证
|
||
|
||
在后端项目根目录执行:
|
||
|
||
```powershell
|
||
.\.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 结束。
|
||
|
||
## 新生成一份报告
|
||
|
||
```powershell
|
||
.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config --new-request
|
||
```
|
||
|
||
这会生成唯一的 `PLM-TEST-...` 请求编号。其他业务字段(包括截止日期)保持原样,便于与原报告比较。
|
||
如需要不同产品、日期或操作人,准备新的 JSON 文件,再通过 `--body-file` 指定。
|
||
|
||
可指定访问地址和输出目录:
|
||
|
||
```powershell
|
||
.\.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,不提供流式、创建会话或历史查询命令。完整请求示例见 [第三方接口文档](外部系统风险评估报告接口.md)。
|