64 lines
3.3 KiB
Markdown
64 lines
3.3 KiB
Markdown
---
|
||
name: xdfx-step1-audience
|
||
description: xdfx 拆分流程 step1,分析受众目标,发起用户协助选择受众,并保存选中的受众与受众账号。
|
||
---
|
||
|
||
# Step1 受众分析与入库
|
||
|
||
不要手写接口调用,直接运行:
|
||
|
||
```bash
|
||
python scripts/xdfx_flow.py --mode step1 --input xdfx-input.json --state xdfx-flow-state.json --summary xdfx-flow-summary.md
|
||
```
|
||
|
||
`xdfx-input.json` 必须包含:
|
||
|
||
```json
|
||
{
|
||
"api_base": "https://ch1.b.uat.4.cn",
|
||
"taskId": "真实任务id",
|
||
"actionId": "真实xdfx行动id",
|
||
"mubiao": "完整行动目标",
|
||
"direction": "U方向",
|
||
"platform": "fb"
|
||
}
|
||
```
|
||
|
||
鉴权和证书由脚本兜底处理:脚本启动时先 `import scripts/xdfx_auth.py`,自动用 `admin / ch@user` 获取 `access_token`,并在第一次业务接口调用前写入内部 Authorization;不要通过命令行传 token。接口返回 401 时仍由 `xdfx_auth.py` 刷新 token 并重试原接口一次;HTTPS 默认不校验证书,需校验证书时追加 `--verify-ssl`。
|
||
|
||
本步骤由脚本完成:
|
||
|
||
- 调用受众分析模型接口。
|
||
- 自动解析流式 answer 与候选账号。
|
||
- 流式模型接口首次空响应、模型无响应或超时类返回会自动再调用一次。
|
||
- 抽取结构化受众。
|
||
- 抽取结果中的 `用户编号列表` / `编号id` / `id` 必须对应上一轮 `zhanghao` 账号数组的索引值;脚本按索引依次找到账号并保存。
|
||
- 输出 `用户协助`,等待用户选择受众;用户选择后带 `--select-audiences 1,2,3` 重跑 Step1,才保存选中的受众。
|
||
- 保存受众目标。
|
||
- 保存受众目标账号。
|
||
- 同步前端步骤状态 `step-analysis-audience` 与 `step-analysis-keypoint`。
|
||
- 把 `designId`、账号、错误明细写入 `xdfx-flow-state.json`。
|
||
|
||
执行后检查 `xdfx-flow-summary.md`。如果 `errors` 非空,向用户报告失败接口、状态码、响应正文摘要。
|
||
|
||
## 失败重试规则
|
||
|
||
- 出现 `错误反馈`、`JSON解析复核`,或 `步骤反馈` 中 `状态` 为 `部分完成` / `已跳过` / `本步骤新增错误数` 大于 0 时,必须先重跑当前 Step1 命令。
|
||
- 重试前必须告诉用户失败阶段、接口 URL、状态码、响应摘要和“正在重试 Step1”,不能静默重试。
|
||
- Step1 未重试成功前,不允许继续 Step2;不要因为 Step1 失败就跳过受众分析。
|
||
- Step1 重试后仍失败时,停止自动推进,读取 `xdfx-flow-state.json.errors` 汇报失败细节,并等待用户处理或确认。
|
||
|
||
## 步骤反馈
|
||
|
||
命令结束会输出 `步骤反馈 {...}`。必须先根据这行反馈告诉用户 Step1 的完成状态、当前受众入库数量和新增错误数,再决定是否继续下一步。
|
||
|
||
如果输出 `用户协助 {...}`,必须暂停流程,把受众选项发给用户;用户选择后重跑 Step1 并追加 `--select-audiences ...`。
|
||
|
||
执行过程中会输出 `操作反馈 {...}`。每出现一次都要告诉用户当前操作和接口 URL。
|
||
|
||
保存成功会输出 `入库反馈 {...}`。每出现一次都要告诉用户已入库的受众、受众账号和返回 ID。
|
||
|
||
如果出现 `错误反馈 {...}`,必须立即告诉用户失败阶段、接口 URL、状态码、请求摘要和响应摘要。
|
||
|
||
如果出现 `JSON解析复核 {...}`,必须查看 `响应片段`,判断是否能识别受众 JSON;无法确认时重跑 Step1。
|