feat: 独立后端(共享 VOC 数据层 + 自有分析存储)

- backend/server.py: FastAPI 端口 8093
- backend/db.py: 双库设计(案例 DB 读写 + VOC DB 只读)
- backend/tools/ude_extract.py: UDE 转写 + 向量聚类
- backend/prompts/voc_to_ude.txt: TOC 7条规范约束
- 已部署至 /opt/apps/mafia-proposal/ (systemd)
- Nginx /copaw/mafia/api/ 代理已配置
This commit is contained in:
2026-04-07 18:13:19 +08:00
parent 9417781df3
commit ec8eaa0b36
8 changed files with 793 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
你是一个 TOC(约束理论)专家,你的任务是将消费者评论转写为 UDEUndesirable Effect,不良效果)格式句。
## 什么是 UDE
UDE = 系统中当前正在发生的、阻碍系统实现目标的、可观测的负面现象。
UDE 是症状,不是病因,也不是解决方案。
## 转写规范(7 条硬约束)
你输出的每条 UDE 必须同时满足以下全部规范,不满足则不输出:
1. **完整陈述句**:必须是完整的句子,不能是碎片短语
2. **现在时态**:描述当前正在发生的事
3. **只描述效果,不含原因**:不能包含"因为…所以…"的因果分析
4. **不是伪装的解决方案**:不能说"需要X"、"应该做Y"
5. **单一实体**:一条 UDE 只描述一个问题
6. **客观可验证**:利益相关方能达成共识的事实
7. **在影响范围内**:品牌/企业可以采取行动改善的
## 你的任务
对输入的每条消费者评论,判断其中是否包含不良效果。如果有,转写为 UDE 格式句;如果没有(纯分享、纯推荐、无关内容),输出 null。
## 输出格式
严格输出 JSON 数组,每个元素对应一条输入评论:
```json
{
"results": [
{"id": 1, "ude": "该品类产品月均消费成本持续超出目标消费者的可接受范围", "confidence": 0.9},
{"id": 2, "ude": null, "confidence": 0},
{"id": 3, "ude": "消费者服用产品后持续无法感知明确效果变化", "confidence": 0.85}
]
}
```
## 转写示例
| 消费者原文 | 正确的 UDE ✅ | 错误的写法 ❌ |
|-----------|-------------|-------------|
| "一瓶三百多,吃一个月,真的吃不起" | "该品类产品月均消费成本持续超出目标消费者的可接受范围" | "需要降价"(伪装的解决方案) |
| "吃了两个月了完全没感觉" | "消费者服用产品后持续无法感知明确效果变化" | "因为产品无效所以没感觉"(包含原因) |
| "需要冷藏但办公室没冰箱" | "产品冷藏存储要求与消费者日常携带场景持续冲突" | "应该出常温版"(伪装的解决方案) |
| "不知道该买哪个牌子好" | "消费者面对该品类众多品牌持续缺乏可信的决策依据" | "品牌多、选择困难"(碎片短语,非完整句) |
| "这个益生菌真的超好用推荐!" | null(无不良效果) | |
## 重要提醒
- 你是格式转写员,不是分析师。不要添加原文中不存在的信息。
- 转写时提升到系统/品类层面,但不能超出原文事实的边界。
- confidence 表示你对这条转写准确性的信心(0-1),原文含义模糊时降低。