feat: 新增纤益减肥益生菌全套示例数据
- mock_sync.py: 新增6个减肥场景模板(成交/异议/咨询/对比/复购) + 分配给李娜和王强 - analyze.py: 扩展关键词(减肥/减脂/B420/纤益/代餐等) + 行业识别支持年轻女性 + LLM prompt增加减肥产品背景 - run_demo.sh: 新增4条减肥益生菌预置成交记录(小鹿/阿狸/小鹿复购)
This commit is contained in:
+167
-7
@@ -299,6 +299,150 @@ SCENARIO_VARIANTS = [
|
||||
},
|
||||
]
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 减肥益生菌场景模板 — 纤益益生菌(女性减肥)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
DIET_SCENARIOS = [
|
||||
{
|
||||
"name": "减肥咨询后成交",
|
||||
"stage": "成交",
|
||||
"contact": {
|
||||
"nickname": "小鹿同学",
|
||||
"remark": "小鹿-减肥-26岁",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "high",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "你好,看到你朋友圈发的减肥益生菌,真的有用吗?"),
|
||||
("sales", "text", "小鹿你好!是的,我们这款纤益益生菌含专利B420菌株,临床验证可以减少体脂率。请问你目前身高体重多少?"),
|
||||
("customer", "text", "163cm,125斤,想减到110"),
|
||||
("sales", "text", "了解了,BMI偏高一丢丢。B420菌株是通过调节肠道菌群来促进脂肪代谢的,不需要节食,不腹泻,健康减脂"),
|
||||
("customer", "text", "不用节食?那我感兴趣,之前试过节食反弹了"),
|
||||
("sales", "text", "对,节食反弹是因为代谢没调好。益生菌是从根源改善肠道代谢,配合正常饮食就能看到效果"),
|
||||
("sales", "image", "[图片:B420菌株临床数据]"),
|
||||
("customer", "text", "看起来有科学依据,多少钱?"),
|
||||
("sales", "text", "单盒328元30天用量,建议2盒一个周期656元,坚持2个月效果明显"),
|
||||
("customer", "text", "2盒656是吧,有没有优惠?"),
|
||||
("sales", "text", "现在新客户首单送一盒膳食纤维体验装,配合吃效果更好"),
|
||||
("customer", "text", "好的,那来2盒"),
|
||||
("sales", "text", "好的小鹿!纤益益生菌2盒套餐656元,送膳食纤维体验装,您方便现在付款吗?"),
|
||||
("customer", "text", "付了,麻烦尽快发货"),
|
||||
("sales", "text", "收到!今天就发顺丰,另外附上饮食建议手册"),
|
||||
("customer", "emoji", "[表情:期待]"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "产后减肥咨询后犹豫",
|
||||
"stage": "异议处理",
|
||||
"contact": {
|
||||
"nickname": "暖暖妈咪",
|
||||
"remark": "暖暖妈-产后减肥-29岁",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "medium",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "你好,生完宝宝一直瘦不下来,益生菌能帮到吗?"),
|
||||
("sales", "text", "暖暖妈你好!产后体重管理确实是个痛点。我们的B420菌株专门针对脂肪代谢,很多产后妈妈反馈不错"),
|
||||
("customer", "text", "哺乳期可以吃吗?"),
|
||||
("sales", "text", "建议断奶后再吃哦,哺乳期不太适合"),
|
||||
("customer", "text", "那我家宝宝8个月还在喂奶"),
|
||||
("sales", "text", "可以等断奶后再开始,现在先了解一下"),
|
||||
("customer", "text", "多少钱?"),
|
||||
("sales", "text", "单盒328,2盒套餐656"),
|
||||
("customer", "text", "有点贵,等断奶再说吧"),
|
||||
("sales", "text", "没关系的,可以先关注我朋友圈,有活动会通知你"),
|
||||
("customer", "text", "好的,谢谢"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "朋友推荐来咨询减肥",
|
||||
"stage": "需求发现",
|
||||
"contact": {
|
||||
"nickname": "Cici",
|
||||
"remark": "Cici-朋友推荐-减肥",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "medium",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "你好,是小鹿推荐我加你的,她说你这边减肥益生菌不错"),
|
||||
("sales", "text", "Cici你好!谢谢小鹿推荐,请问你想减多少?"),
|
||||
("customer", "text", "想减10斤左右,主要是肚子和大腿"),
|
||||
("sales", "text", "B420菌株正好针对腹部脂肪,通过调节肠道菌群促进代谢。小鹿吃了2个月减了8斤"),
|
||||
("customer", "text", "真的假的?她那么快就有效果了?"),
|
||||
("sales", "text", "个体差异有的,但B420有临床数据支持,平均12周减少体脂率3-5%"),
|
||||
("sales", "image", "[图片:临床数据图表]"),
|
||||
("customer", "text", "成分安全吗?有没有拉肚子之类的副作用?"),
|
||||
("sales", "text", "完全安全,不腹泻不节食,是通过调节肠道菌群自然减脂"),
|
||||
("customer", "text", "好的,我先了解一下"),
|
||||
("sales", "text", "没问题,给你发个产品详情页看看"),
|
||||
("sales", "link", "[链接:纤益益生菌详情页]"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "对比其他减肥产品后选择",
|
||||
"stage": "成交",
|
||||
"contact": {
|
||||
"nickname": "阿狸",
|
||||
"remark": "阿狸-对比代餐-24岁",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "high",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "你好,我在对比你们益生菌和代餐奶昔,哪个效果好?"),
|
||||
("sales", "text", "阿狸你好!代餐是控制热量摄入,益生菌是调节肠道代谢,原理不同。代餐停了容易反弹,益生菌是从根源改善"),
|
||||
("customer", "text", "我之前吃过代餐,确实反弹了"),
|
||||
("sales", "text", "对,代餐靠饿,益生菌靠调。B420菌株有临床验证,不节食不腹泻,健康减脂"),
|
||||
("customer", "text", "那你们的价格呢?代餐一个月也要三四百"),
|
||||
("sales", "text", "单盒328元一个月,2盒套餐656元两个月。比代餐便宜,而且不用挨饿"),
|
||||
("customer", "text", "听着不错,但效果不好怎么办?"),
|
||||
("sales", "text", "我们有售后指导,配合饮食建议手册一起用。小鹿2个月减了8斤,Cici也在吃"),
|
||||
("sales", "link", "[链接:客户真实反馈]"),
|
||||
("customer", "text", "好的,来2盒试试"),
|
||||
("sales", "text", "好的阿狸!纤益益生菌2盒656元,今天就发货"),
|
||||
("customer", "text", "已付款"),
|
||||
("sales", "text", "收到!顺丰今天发,附饮食建议手册"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "价格异议后放弃",
|
||||
"stage": "异议处理",
|
||||
"contact": {
|
||||
"nickname": "小丸子",
|
||||
"remark": "小丸子-价格异议-减肥",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "low",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "减肥益生菌多少钱?"),
|
||||
("sales", "text", "小丸子你好!单盒328,2盒套餐656"),
|
||||
("customer", "text", "好贵,网上益生菌才几十块"),
|
||||
("sales", "text", "我们含专利B420菌株,有临床验证减脂效果,和普通益生菌不一样"),
|
||||
("customer", "text", "但也太贵了,算了吧"),
|
||||
("sales", "text", "理解,可以关注朋友圈,有活动时会通知"),
|
||||
("customer", "text", "好的"),
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "长期跟进后复购",
|
||||
"stage": "成交",
|
||||
"contact": {
|
||||
"nickname": "小鹿同学",
|
||||
"remark": "小鹿-复购-已减8斤",
|
||||
"industry": "年轻女性",
|
||||
"intent_level": "high",
|
||||
},
|
||||
"messages": [
|
||||
("customer", "text", "吃了2个月瘦了8斤,想继续买"),
|
||||
("sales", "text", "太棒了小鹿!B420效果确实不错,继续吃巩固一下"),
|
||||
("customer", "text", "再买2盒"),
|
||||
("sales", "text", "好的!老客户复购送一盒膳食纤维,2盒656元"),
|
||||
("customer", "text", "好的,付款了"),
|
||||
("sales", "text", "收到!今天就发货,继续加油"),
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 非客户联系人模板
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -462,7 +606,7 @@ GROUP_TEMPLATES = [
|
||||
# scenario_index 指向 SCENARIO_TEMPLATES, variant_name 指向 SCENARIO_VARIANTS
|
||||
|
||||
SALESPERSON_ASSIGNMENTS = {
|
||||
1: [ # 张伟 — 资深
|
||||
1: [ # 张伟 — 资深(儿童益生菌为主)
|
||||
("scenario_0", None, None), # 湿疹成交
|
||||
("scenario_2", None, None), # 朋友推荐
|
||||
("variant_食物过敏咨询后成交", None, None),
|
||||
@@ -480,12 +624,16 @@ SALESPERSON_ASSIGNMENTS = {
|
||||
("group", "宝妈育儿交流群", ""),
|
||||
("group", "过敏宝宝互助群", ""),
|
||||
],
|
||||
2: [ # 李娜 — 新人
|
||||
("scenario_1", None, None), # 鼻炎犹豫
|
||||
2: [ # 李娜 — 新人(减肥益生菌为主)
|
||||
("scenario_1", None, None), # 鼻炎犹豫(儿童)
|
||||
("variant_价格异议后放弃", None, None),
|
||||
("scenario_4", None, None), # 竞品对比
|
||||
("scenario_4", None, None), # 竞品对比(儿童)
|
||||
("variant_过早报价后被拒", None, None),
|
||||
("scenario_2", "甜甜妈", "甜甜妈-推荐咨询"),
|
||||
# 减肥益生菌场景
|
||||
("diet_0", None, None), # 减肥咨询后成交(小鹿)
|
||||
("diet_1", None, None), # 产后减肥犹豫(暖暖妈)
|
||||
("diet_2", None, None), # 朋友推荐咨询减肥(Cici)
|
||||
# 潜在客户
|
||||
("scenario_2", "球球妈妈", "球球妈-咨询"),
|
||||
("scenario_2", "米米妈", "米米妈-咨询"),
|
||||
@@ -497,12 +645,16 @@ SALESPERSON_ASSIGNMENTS = {
|
||||
("group", "宝妈育儿交流群", ""),
|
||||
("group", "育儿干货分享群", ""),
|
||||
],
|
||||
3: [ # 王强 — 中等
|
||||
("scenario_4", None, None), # 竞品对比
|
||||
("scenario_3", None, None), # 长期跟进复购
|
||||
3: [ # 王强 — 中等(两个产品线都做)
|
||||
("scenario_4", None, None), # 竞品对比(儿童)
|
||||
("scenario_3", None, None), # 长期跟进复购(儿童)
|
||||
("variant_腹泻咨询后成交", None, None),
|
||||
("variant_安全顾虑后犹豫", None, None),
|
||||
("scenario_2", "星星妈", "星星妈-推荐咨询"),
|
||||
# 减肥益生菌场景
|
||||
("diet_3", None, None), # 对比代餐后成交(阿狸)
|
||||
("diet_5", None, None), # 减肥复购(小鹿)
|
||||
("diet_4", None, None), # 减肥价格异议(小丸子)
|
||||
# 潜在客户
|
||||
("scenario_2", "晨晨妈妈", "晨晨妈-咨询"),
|
||||
("scenario_2", "露露妈", "露露妈-咨询"),
|
||||
@@ -548,6 +700,14 @@ def generate_contacts_for_salesperson(sp_id: int):
|
||||
is_group = False
|
||||
wx_username = f"{SALESPERSONS[sp_id]['wx_account']}_contact_{i+1}"
|
||||
result.append((nick, remark, is_group, wx_username, tpl))
|
||||
elif kind.startswith("diet_"):
|
||||
idx = int(kind.split("_")[1])
|
||||
tpl = DIET_SCENARIOS[idx]
|
||||
nick = nick_override or tpl["contact"]["nickname"]
|
||||
remark = remark_override or tpl["contact"].get("remark", "")
|
||||
is_group = False
|
||||
wx_username = f"{SALESPERSONS[sp_id]['wx_account']}_contact_{i+1}"
|
||||
result.append((nick, remark, is_group, wx_username, tpl))
|
||||
elif kind == "non_customer":
|
||||
nick = nick_override
|
||||
remark = remark_override or ""
|
||||
|
||||
+11
-5
@@ -38,32 +38,36 @@ DASHSCOPE_MODEL = "qwen-plus"
|
||||
SYMPTOM_WORDS = [
|
||||
"湿疹", "过敏", "鼻炎", "腹泻", "便秘", "免疫力", "体质", "红疹",
|
||||
"胀气", "拉肚子", "打喷嚏", "流鼻涕", "感冒", "食物过敏", "牛奶蛋白过敏",
|
||||
"减肥", "减脂", "瘦身", "产后", "体脂", "肚子", "大腿", "反弹", "代餐",
|
||||
]
|
||||
|
||||
PRODUCT_WORDS = [
|
||||
"益生菌", "菌株", "进口", "配方", "成分", "丹麦", "鼠李糖", "无敏",
|
||||
"LGG", "临床", "调理", "肠道", "免疫",
|
||||
"B420", "纤益", "脂肪代谢", "减脂", "肠道代谢", "膳食纤维",
|
||||
]
|
||||
|
||||
PRICE_WORDS = [
|
||||
"价格", "多少钱", "费用", "报价", "优惠", "套餐", "盒", "周期",
|
||||
"298", "798", "1499", "贵", "便宜", "划算",
|
||||
"298", "798", "1499", "328", "656", "贵", "便宜", "划算",
|
||||
]
|
||||
|
||||
DEAL_WORDS = [
|
||||
"下单", "付款", "发货", "来几盒", "定了", "来3盒",
|
||||
"来6盒", "已付", "转过去", "签收", "已经转", "麻烦尽快发",
|
||||
"来2盒", "付了", "已付款",
|
||||
]
|
||||
|
||||
OBJECTION_WORDS = [
|
||||
"贵", "太贵", "考虑", "商量", "老公", "副作用", "安全吗", "有没有效",
|
||||
"没用过", "合生元", "对比", "担心", "再看看", "网上", "几十块",
|
||||
"哺乳期", "反弹", "代餐", "节食", "拉肚子",
|
||||
]
|
||||
|
||||
# 阶段关键词(按优先级排序)
|
||||
STAGE_KEYWORDS = [
|
||||
("成交", DEAL_WORDS),
|
||||
("报价", ["多少钱", "价格", "套餐", "298", "798", "1499", "报价"]),
|
||||
("报价", ["多少钱", "价格", "套餐", "298", "798", "1499", "328", "656", "报价"]),
|
||||
("异议处理", OBJECTION_WORDS),
|
||||
("需求发现", SYMPTOM_WORDS + ["什么情况", "多大了", "几个月", "症状"]),
|
||||
("建立联系", ["你好", "在吗", "请问"]),
|
||||
@@ -122,8 +126,9 @@ def identify_customer(messages: list[dict], salesperson_name: str | None = None)
|
||||
if len(key_needs) >= 3:
|
||||
break
|
||||
|
||||
# 行业
|
||||
industry = "宝妈"
|
||||
# 行业:减肥相关标记为年轻女性,否则宝妈
|
||||
diet_words = ["减肥", "减脂", "瘦身", "B420", "纤益", "代餐", "体脂", "产后减肥"]
|
||||
industry = "年轻女性" if any(w in all_text for w in diet_words) else "宝妈"
|
||||
|
||||
return {
|
||||
"is_customer": True,
|
||||
@@ -171,7 +176,8 @@ def generate_summary_llm(messages: list[dict]) -> dict | None:
|
||||
prompt = f"""你是一个微信销售对话分析助手。以下是销售与客户的微信对话记录,请分析并输出 JSON 格式的沟通摘要。
|
||||
|
||||
## 产品背景
|
||||
益童宝儿童益生菌粉:丹麦进口菌株,主打小儿抗过敏(湿疹、鼻炎、食物过敏),298元/盒,3盒套餐798元,6盒套餐1499元。目标客户是宝妈。
|
||||
1. 益童宝儿童益生菌粉:丹麦进口菌株,主打小儿抗过敏(湿疹、鼻炎、食物过敏),298元/盒,3盒套餐798元,6盒套餐1499元。目标客户是宝妈。
|
||||
2. 纤益减肥益生菌:含专利B420菌株,主打健康减脂不反弹,不节食不腹泻,通过调节肠道菌群促进脂肪代谢。328元/盒(30天用量),2盒套餐656元。目标客户是18-35岁有体重管理需求的年轻女性。
|
||||
|
||||
## 对话记录
|
||||
{dialog_text}
|
||||
|
||||
@@ -95,6 +95,31 @@ SELECT s.id, cu.id, 1, '益童宝益生菌 3盒套餐', 798, '2026-06-20', 'clos
|
||||
FROM salesperson s, customer cu
|
||||
WHERE s.id = 3 AND cu.salesperson_id = 3 AND cu.customer_name LIKE '糖糖%'
|
||||
AND NOT EXISTS (SELECT 1 FROM deal WHERE customer_id = cu.id AND product_name = '益童宝益生菌 3盒套餐' AND deal_date = '2026-06-20');
|
||||
|
||||
-- 减肥益生菌预置成交
|
||||
INSERT INTO deal (salesperson_id, customer_id, product_id, product_name, amount, deal_date, status)
|
||||
SELECT s.id, cu.id, 4, '纤益益生菌 2盒套餐', 656, '2026-07-08', 'closed'
|
||||
FROM salesperson s, customer cu
|
||||
WHERE s.id = 2 AND cu.salesperson_id = 2 AND cu.customer_name LIKE '小鹿%'
|
||||
AND NOT EXISTS (SELECT 1 FROM deal WHERE customer_id = cu.id AND product_name = '纤益益生菌 2盒套餐' AND deal_date = '2026-07-08');
|
||||
|
||||
INSERT INTO deal (salesperson_id, customer_id, product_id, product_name, amount, deal_date, status)
|
||||
SELECT s.id, cu.id, 4, '纤益益生菌 2盒套餐', 656, '2026-07-14', 'closed'
|
||||
FROM salesperson s, customer cu
|
||||
WHERE s.id = 3 AND cu.salesperson_id = 3 AND cu.customer_name LIKE '阿狸%'
|
||||
AND NOT EXISTS (SELECT 1 FROM deal WHERE customer_id = cu.id AND product_name = '纤益益生菌 2盒套餐' AND deal_date = '2026-07-14');
|
||||
|
||||
INSERT INTO deal (salesperson_id, customer_id, product_id, product_name, amount, deal_date, status)
|
||||
SELECT s.id, cu.id, 5, '纤益益生菌 单盒', 328, '2026-07-10', 'closed'
|
||||
FROM salesperson s, customer cu
|
||||
WHERE s.id = 2 AND cu.salesperson_id = 2 AND cu.customer_name LIKE '小鹿%'
|
||||
AND NOT EXISTS (SELECT 1 FROM deal WHERE customer_id = cu.id AND product_name = '纤益益生菌 单盒' AND deal_date = '2026-07-10');
|
||||
|
||||
INSERT INTO deal (salesperson_id, customer_id, product_id, product_name, amount, deal_date, status)
|
||||
SELECT s.id, cu.id, 4, '纤益益生菌 2盒套餐', 656, '2026-07-13', 'closed'
|
||||
FROM salesperson s, customer cu
|
||||
WHERE s.id = 3 AND cu.salesperson_id = 3 AND cu.customer_name LIKE '小鹿%'
|
||||
AND NOT EXISTS (SELECT 1 FROM deal WHERE customer_id = cu.id AND product_name = '纤益益生菌 2盒套餐' AND deal_date = '2026-07-13');
|
||||
" 2>/dev/null || true
|
||||
|
||||
DEAL_COUNT=$($PSQL -t -c "SELECT count(*) FROM deal")
|
||||
|
||||
Reference in New Issue
Block a user