fix(bridge): 漏调 collect_info 时补抽线索
This commit is contained in:
@@ -14,11 +14,21 @@ const ASK = {
|
||||
en: '\n\nBy the way, could you share your company name and a contact email? That way we can set up your wholesale account and follow up on your request.',
|
||||
};
|
||||
|
||||
// 公司/联系人信号:客户主动报公司名(含法律后缀)、邮箱、电话、联系人等。
|
||||
// 命中它但数量单位不规整(如 "500 stainless steel rings")时,也要触发 lead 抽取兜底,
|
||||
// 否则 LLM 漏调 collect_info 时槽位会为空,商机就建不出来。
|
||||
const LEAD_SIGNAL_RE = /(@|\+?\d[\d\s().-]{6,}\d|gmbh|b\.?\s?v\.?\b|ltd\b|llc\b|inc\b|sarl|srl\b|limited\b|company|corporation|we are|we're|our company|contact\s*(?:name|person)?\s*[::]|\u516c\u53f8|\u8054\u7cfb\u4eba|\u91c7\u8d2d|wholesale|bulk)/i;
|
||||
|
||||
function hasBuyingIntent(text) {
|
||||
const value = String(text || '');
|
||||
return PRODUCT_RE.test(value) && QUANTITY_RE.test(value);
|
||||
}
|
||||
|
||||
function looksLikeLead(text) {
|
||||
const value = String(text || '');
|
||||
return PRODUCT_RE.test(value) && LEAD_SIGNAL_RE.test(value);
|
||||
}
|
||||
|
||||
function missingLeadContacts(slots = {}, knownEmail = '') {
|
||||
const missing = [];
|
||||
if (!slots.company) missing.push('company');
|
||||
@@ -51,4 +61,4 @@ function appendLeadFollowup(reply, lang) {
|
||||
return text + buildLeadFollowup(lang);
|
||||
}
|
||||
|
||||
module.exports = { hasBuyingIntent, missingLeadContacts, detectLanguage, buildLeadFollowup, alreadyAsksForLead, appendLeadFollowup };
|
||||
module.exports = { hasBuyingIntent, looksLikeLead, LEAD_SIGNAL_RE, missingLeadContacts, detectLanguage, buildLeadFollowup, alreadyAsksForLead, appendLeadFollowup };
|
||||
|
||||
Reference in New Issue
Block a user