feat(ai-recommend): 保障搭配完整性并支持自动补齐

This commit is contained in:
2026-09-16 17:43:20 +08:00
parent b94dd6dffb
commit cf9dff3add
7 changed files with 829 additions and 25 deletions
+4 -3
View File
@@ -1125,12 +1125,13 @@ Authorization: Bearer <access_token>
2. **提交时先扣 1 个 AI 额度**(`quota_type=2`);额度不足返回 **`90401` AI 推荐次数已达上限**(注意不是 `80000`)。
3. 接口**秒级返回**(实测 ~30ms),不等大模型。
4. 生成在后台执行,输入为:当前用户**处理成功(状态 4)**的全部衣物 + 生日推算的星座 + 今日运势(星座/运势缺失会降级,不影响生成)。
5. 失败时**额度自动回退**,失败原因写入任务状态(`error_code` / `error_msg`),详见下方状态接口:
5. **搭配完整性保障**(按衣橱实际存在的品类判定):结果必须包含「上装」或「连衣裙」二者之一(**外套是外层,不可孤立出现**);未选「连衣裙」且衣橱有「下装」时必须含「下装」;衣橱有「鞋」时必须含「鞋」;「配饰」为可选;「连衣裙」与「下装」互斥。不满足时后端会**带纠偏提示自动重试一次模型**,仍不满足则由服务端从衣橱**确定性补齐**缺失品类(补齐单品的 `reason` 会标注"系统按搭配完整性规则补齐")。因此正常结果不会出现"只有外套+下装"这类穿不出去的搭配;同一品类最多 1 件。
6. 失败时**额度自动回退**,失败原因写入任务状态(`error_code` / `error_msg`),详见下方状态接口:
- `90400` + `衣橱暂无可用衣物`
- `90400` + `大模型调用失败`
- `90400` + `未生成有效搭配`
- `90400` + `未生成有效搭配`(两次模型调用均未返回衣橱内的有效单品)
- `90400` + `生成任务异常终止`(超过 3 分钟未完成)
6. ⚠️ **生成成功但未调用 save,不退还 AI 额度**(额度在提交时已消耗)。
7. ⚠️ **生成成功但未调用 save,不退还 AI 额度**(额度在提交时已消耗)。
**请求**(json)