diff --git a/backend/app/api/chat_routes.py b/backend/app/api/chat_routes.py index 018a679..d3ff8ac 100644 --- a/backend/app/api/chat_routes.py +++ b/backend/app/api/chat_routes.py @@ -327,7 +327,7 @@ def start_session(gid: str, pid: str): if scenario_meta.get("preamble"): seeded.append({"role": "system", "text": scenario_meta["preamble"]}) if init_mode == "customer": - opener = persona.get("opener") or "Hi, I saw your product and had a question." + opener = persona.get("opener") or (("สวัสดีครับ สนใจสินค้าของคุณครับ ขอถามรายละเอียดหน่อยได้ไหม" if locale == "th" else "Hi, I saw your product and had a question.")) seeded.append({"role": "customer", "text": opener}) initial_internal = {"turns": 0, "score": 50, "signals": []} @@ -348,7 +348,7 @@ def start_session(gid: str, pid: str): if scenario_meta.get("preamble"): seeded.append({"role": "system", "text": scenario_meta["preamble"]}) if init_mode == "customer": - opener = persona.get("opener") or "Hi, I saw your product and had a question." + opener = persona.get("opener") or (("สวัสดีครับ สนใจสินค้าของคุณครับ ขอถามรายละเอียดหน่อยได้ไหม" if locale == "th" else "Hi, I saw your product and had a question.")) seeded.append({"role": "customer", "text": opener}) session, resumed = s["sessions"].start( org_id=org_id, diff --git a/backend/app/services/persona_prompts.py b/backend/app/services/persona_prompts.py index 5a78678..09c4eb2 100644 --- a/backend/app/services/persona_prompts.py +++ b/backend/app/services/persona_prompts.py @@ -50,11 +50,14 @@ RULES: 7. difficulty 1-5. special="" unless wrong_text. 8. OPENER RULE (IMPORTANT): the `opener` is what the customer says FIRST when initiation_mode="customer". Every opener — for EVERY tier, including wrong_text and every tier-C persona — must be a natural, polite, - in-character customer greeting that starts warmly or neutrally and expresses some interest or a question - (e.g. "สวัสดีค่ะ เห็นสินค้าคุณแล้ว สนใจอยากสอบถาม" / "สวัสดีครับ เข้าไปดูเพจมา อยากถามราคาหน่อย" / "Hi, I saw - your page and had a question"). NEVER make the opener a complaint, a refusal, a price grumble, a "never - mind", or anything negative — the customer's resistance must only surface DURING the conversation, not - in their very first message. + in-character customer greeting that starts warmly or neutrally and expresses some interest or a question. + EXAMPLES (Thai): "สวัสดีครับ สนใจสินค้าตัวนี้ ขอถามราคาหน่อยได้ไหม" / "สวัสดีค่ะ เห็นโฆษณาแฟนเพจมา เลยอยากสอบถาม" / "สวัสดีครับ ซื้อของที่นี่แล้วสั่ง-จัดส่งยังไงบ้าง" / "สนใจสินค้าในแฟนเพจครับ สอบถามรายละเอียดได้ไหม". + THAI STYLE (MANDATORY): Start with "สวัสดีครับ/ค่ะ" then go straight to the question or the word "สนใจ/สอบถาม" — + do NOT open with casual English-style interjections or filler like "เฮ้", "เอ้", "เอ่อ", "hey", "hi ya", or + singsong slang ("ไง", "นี่ๆ", "ว่าไง"). A question that gets to the point directly is ideal. For English, + a plain "Hi" or "Hello" is fine. + NEVER make the opener a complaint, a refusal, a price grumble, a "never mind", or anything negative — the + customer's resistance must only surface DURING the conversation, not in their very first message. 9. Language: output all human text in the requested language. Only output valid JSON: {"personas": [ ... ]} """