家居大模型联调,优化提示词 ,可以对根据客户的需求,10维度分析
This commit is contained in:
@@ -306,48 +306,211 @@ public class AudioTextAnalysisFurnitureController {
|
||||
}
|
||||
|
||||
private String buildPrompt(String recordingText) {
|
||||
return "请阅读以下录音文本,从中提取客户信息并生成 JSON。必须覆盖所有字段,缺失信息请基于语境合理推断或标注\"暂无信息\"。字段要求:\n"
|
||||
+ "1. customer_type:仅可填「新房装修」「二次翻修」「补充家居」。\n"
|
||||
+ "2. family_structure:描述家庭成员数量、孩子、老人情况。\n"
|
||||
+ "3. intention_products:仅列家居类产品(床、柜子、沙发等),用顿号或逗号分隔。\n"
|
||||
+ "4. summary:一句话概括客户需求,务必提到预算(若未提及则写“预算约3万元”),并涵盖客户类型、偏好风格、关键产品。\n"
|
||||
+ "5. decoration_style:概括偏好的装修/家居风格,并推测主人特征。\n"
|
||||
+ "6. sofa:沙发需求/配置,含大小、风格、数量等。\n"
|
||||
+ "7. tea_table:茶几/茶桌的需求、材质、风格。\n"
|
||||
+ "8. dining_table:餐桌椅需求或配置。\n"
|
||||
+ "9. study_desk:学习桌/书桌需求。\n"
|
||||
+ "10. tv_cabinet:电视柜需求。\n"
|
||||
+ "11. cabinet:橱柜或厨房柜体说明。\n"
|
||||
+ "12. wine_cabinet:酒柜需求说明。\n"
|
||||
+ "13. master_bedroom_cabinet:主卧衣柜/储物柜配置。\n"
|
||||
+ "14. secondary_bedroom_cabinet:次卧衣柜/储物柜配置。\n"
|
||||
+ "15. shoe_cabinet:鞋柜需求或配置。\n"
|
||||
+ "16. bed_and_mattress:床及床垫配置。\n"
|
||||
+ "严格输出 JSON,如:"
|
||||
+ "{\"customer_type\":\"二次翻修\",\"family_structure\":\"三口之家,1个小男孩\",\"intention_products\":\"床、沙发、酒柜、厨房柜子\",\"summary\":\"客户为二次翻修,预算约3万元,偏好原木风,重点关注沙发与酒柜\",\"decoration_style\":\"原木+现代混搭,女主人喜欢收纳\",\"sofa\":\"需要L型布艺沙发,要求可拆洗\",\"tea_table\":\"原木茶几,低矮\",\"dining_table\":\"六人餐桌配软包椅\",\"study_desk\":\"需要儿童学习桌\",\"tv_cabinet\":\"整体墙面收纳\",\"cabinet\":\"定制U型橱柜\",\"wine_cabinet\":\"嵌入式酒柜\",\"master_bedroom_cabinet\":\"到顶推拉门衣柜\",\"secondary_bedroom_cabinet\":\"次卧需要开放格\",\"shoe_cabinet\":\"玄关到顶鞋柜含换鞋凳\",\"bed_and_mattress\":\"1.8米大床+护脊床垫\"}\n"
|
||||
+ "不要添加任何额外文字。\n\n录音文本:\n" + recordingText;
|
||||
StringBuilder prompt = new StringBuilder();
|
||||
prompt.append("请阅读以下录音文本,从中提取客户信息并生成 JSON。必须覆盖所有字段,缺失信息请基于语境合理推断或标注\"暂无信息\"。\n\n");
|
||||
prompt.append("字段要求:\n");
|
||||
prompt.append("1. customer_type:客户类型,仅可填「新房装修」「二次翻修」「补充家居」。\n");
|
||||
prompt.append("2. family_structure:家庭结构,描述家庭几口人、几个孩子、几个老人,重点反应家庭成员。\n");
|
||||
prompt.append("3. intention_products:意向产品清单,比如:床、柜子、沙发等,仅限家居,不能扩展到其它产品,用顿号或逗号分隔。\n");
|
||||
prompt.append("4. summary:一句话总结,应该简洁明了地概括客户的需求和关键信息,重点关注客户预算(如果未提及,默认预算3万),关注的还有产品信息等关键信息。\n");
|
||||
prompt.append("5. decoration_style:装修风格,总结偏好的装修/家居风格,风格类型,并推测主人相关信息。\n");
|
||||
prompt.append("6. sofa:沙发需求或配置说明,大小、风格、数量、种类等相关信息。\n");
|
||||
prompt.append("7. tea_table:茶几/茶桌需求或配置,材质、风格。\n");
|
||||
prompt.append("8. dining_table:餐桌椅需求或配置。\n");
|
||||
prompt.append("9. study_desk:学习桌/书桌需求。\n");
|
||||
prompt.append("10. tv_cabinet:电视柜需求说明。\n");
|
||||
prompt.append("11. cabinet:橱柜或厨房柜体说明。\n");
|
||||
prompt.append("12. wine_cabinet:酒柜需求说明。\n");
|
||||
prompt.append("13. master_bedroom_cabinet:主卧衣柜/储物柜配置。\n");
|
||||
prompt.append("14. secondary_bedroom_cabinet:次卧衣柜/储物柜配置。\n");
|
||||
prompt.append("15. shoe_cabinet:鞋柜需求或配置。\n");
|
||||
prompt.append("16. bed_and_mattress:床及床垫配置。\n\n");
|
||||
|
||||
prompt.append("重要:每个产品维度(sofa、tea_table、dining_table、study_desk、tv_cabinet、cabinet、wine_cabinet、master_bedroom_cabinet、secondary_bedroom_cabinet、shoe_cabinet、bed_and_mattress)必须是一个JSON对象,包含以下10个维度:\n");
|
||||
prompt.append("1. preferenceStyleAndColor:偏好风格与颜色\n");
|
||||
prompt.append("2. materialPreference:材质偏好\n");
|
||||
prompt.append("3. customerFocusAreas:客户重点关注\n");
|
||||
prompt.append("4. priceSensitivity:价格敏感度\n");
|
||||
prompt.append("5. activityParticipation:活动参与度\n");
|
||||
prompt.append("6. customerConcerns:客户疑虑点\n");
|
||||
prompt.append("7. deliveryService:交付服务\n");
|
||||
prompt.append("8. competitorFeedback:竞品反馈\n");
|
||||
prompt.append("9. deliveryCycle:交付周期\n");
|
||||
prompt.append("10. productAppearance:产品颜值\n\n");
|
||||
|
||||
prompt.append("严格输出 JSON 格式,示例:\n");
|
||||
prompt.append("{\n");
|
||||
prompt.append(" \"customer_type\": \"二次翻修\",\n");
|
||||
prompt.append(" \"family_structure\": \"三口之家,一个小男孩\",\n");
|
||||
prompt.append(" \"intention_products\": \"床、沙发、酒柜、厨房柜子\",\n");
|
||||
prompt.append(" \"summary\": \"客户是二次翻修,对价格比较敏感,预算在10万以内\",\n");
|
||||
prompt.append(" \"decoration_style\": \"总结偏好的装修/家居风格,风格类型,并推测主人相关信息\",\n");
|
||||
prompt.append(" \"sofa\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"tea_table\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"dining_table\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"study_desk\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"tv_cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"wine_cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"master_bedroom_cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"secondary_bedroom_cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"shoe_cabinet\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" },\n");
|
||||
prompt.append(" \"bed_and_mattress\": {\n");
|
||||
prompt.append(" \"preferenceStyleAndColor\": \"偏好风格与颜色\",\n");
|
||||
prompt.append(" \"materialPreference\": \"材质偏好\",\n");
|
||||
prompt.append(" \"customerFocusAreas\": \"客户重点关注\",\n");
|
||||
prompt.append(" \"priceSensitivity\": \"价格敏感度\",\n");
|
||||
prompt.append(" \"activityParticipation\": \"活动参与度\",\n");
|
||||
prompt.append(" \"customerConcerns\": \"客户疑虑点\",\n");
|
||||
prompt.append(" \"deliveryService\": \"交付服务\",\n");
|
||||
prompt.append(" \"competitorFeedback\": \"竞品反馈\",\n");
|
||||
prompt.append(" \"deliveryCycle\": \"交付周期\",\n");
|
||||
prompt.append(" \"productAppearance\": \"产品颜值\"\n");
|
||||
prompt.append(" }\n");
|
||||
prompt.append("}\n\n");
|
||||
prompt.append("注意:\n");
|
||||
prompt.append("1. 必须严格按照JSON格式输出,不要添加任何额外文字或markdown代码块标记。\n");
|
||||
prompt.append("2. 每个产品维度必须是一个完整的JSON对象,包含上述10个维度。\n");
|
||||
prompt.append("3. 如果录音文本中未提及某个产品,该产品的JSON对象中所有维度应填写\"暂无信息\"或基于语境合理推断。\n");
|
||||
prompt.append("4. 所有字段值必须基于录音文本内容,合理推断,不能随意编造。\n\n");
|
||||
prompt.append("录音文本:\n").append(recordingText);
|
||||
|
||||
return prompt.toString();
|
||||
}
|
||||
|
||||
private void applyStructuredResult(AudioTextAnalysisFurniture furniture, String rawContent) {
|
||||
String normalized = normalizeJson(rawContent);
|
||||
try {
|
||||
JsonNode root = objectMapper.readTree(normalized);
|
||||
// 基础字段
|
||||
furniture.setCustomerType(textValue(root, "customer_type"));
|
||||
furniture.setFamilyStructure(textValue(root, "family_structure"));
|
||||
furniture.setIntentionProducts(textValue(root, "intention_products"));
|
||||
furniture.setSummarySentence(textValue(root, "summary"));
|
||||
furniture.setDecorationStyle(textValue(root, "decoration_style"));
|
||||
furniture.setSofa(textValue(root, "sofa"));
|
||||
furniture.setTeaTable(textValue(root, "tea_table"));
|
||||
furniture.setDiningTable(textValue(root, "dining_table"));
|
||||
furniture.setStudyDesk(textValue(root, "study_desk"));
|
||||
furniture.setTvCabinet(textValue(root, "tv_cabinet"));
|
||||
furniture.setCabinet(textValue(root, "cabinet"));
|
||||
furniture.setWineCabinet(textValue(root, "wine_cabinet"));
|
||||
furniture.setMasterBedroomCabinet(textValue(root, "master_bedroom_cabinet"));
|
||||
furniture.setSecondaryBedroomCabinet(textValue(root, "secondary_bedroom_cabinet"));
|
||||
furniture.setShoeCabinet(textValue(root, "shoe_cabinet"));
|
||||
furniture.setBedAndMattress(textValue(root, "bed_and_mattress"));
|
||||
|
||||
// 产品维度字段,每个都是JSON对象,需要转换为JSON字符串
|
||||
furniture.setSofa(jsonObjectToString(root, "sofa"));
|
||||
furniture.setTeaTable(jsonObjectToString(root, "tea_table"));
|
||||
furniture.setDiningTable(jsonObjectToString(root, "dining_table"));
|
||||
furniture.setStudyDesk(jsonObjectToString(root, "study_desk"));
|
||||
furniture.setTvCabinet(jsonObjectToString(root, "tv_cabinet"));
|
||||
furniture.setCabinet(jsonObjectToString(root, "cabinet"));
|
||||
furniture.setWineCabinet(jsonObjectToString(root, "wine_cabinet"));
|
||||
furniture.setMasterBedroomCabinet(jsonObjectToString(root, "master_bedroom_cabinet"));
|
||||
furniture.setSecondaryBedroomCabinet(jsonObjectToString(root, "secondary_bedroom_cabinet"));
|
||||
furniture.setShoeCabinet(jsonObjectToString(root, "shoe_cabinet"));
|
||||
furniture.setBedAndMattress(jsonObjectToString(root, "bed_and_mattress"));
|
||||
} catch (JsonProcessingException e) {
|
||||
log.warn("解析大模型返回JSON失败,使用原始内容作为总结: {}", e.getMessage());
|
||||
furniture.setSummarySentence(rawContent);
|
||||
@@ -370,5 +533,31 @@ public class AudioTextAnalysisFurnitureController {
|
||||
JsonNode node = root.get(field);
|
||||
return node == null || node.isNull() ? null : node.asText();
|
||||
}
|
||||
|
||||
/**
|
||||
* 将JSON对象节点转换为JSON字符串
|
||||
* 如果节点是对象,则转换为格式化的JSON字符串;如果是文本,直接返回;如果不存在或为null,返回null
|
||||
*/
|
||||
private String jsonObjectToString(JsonNode root, String field) {
|
||||
JsonNode node = root.get(field);
|
||||
if (node == null || node.isNull()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
if (node.isObject()) {
|
||||
// 如果是JSON对象,转换为紧凑的JSON字符串
|
||||
return objectMapper.writeValueAsString(node);
|
||||
} else if (node.isTextual()) {
|
||||
// 如果是文本,直接返回
|
||||
return node.asText();
|
||||
} else {
|
||||
// 其他类型也转换为字符串
|
||||
return objectMapper.writeValueAsString(node);
|
||||
}
|
||||
} catch (JsonProcessingException e) {
|
||||
log.warn("转换JSON对象失败,字段: {}, 错误: {}", field, e.getMessage());
|
||||
return node.isTextual() ? node.asText() : node.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
CREATE TABLE audio_text_analysis_furniture (
|
||||
id CHAR(36) NOT NULL COMMENT '记录唯一标识,存放UUID字符',
|
||||
parent_id CHAR(36) NULL COMMENT '对应的音频管理或父级记录ID,便于树状关联',
|
||||
customer_type VARCHAR(50) NULL COMMENT '客户类型(如个人、企业、设计师等)',
|
||||
family_structure VARCHAR(100) NULL COMMENT '家庭结构描述(如二人家庭、四口之家)',
|
||||
intention_products TEXT NULL COMMENT '意向产品清单,可存放多件物品的信息',
|
||||
decoration_style VARCHAR(100) NULL COMMENT '偏好的装修/家居风格',
|
||||
summary_sentence VARCHAR(255) NULL COMMENT '一句话总结客户需求或关键信息',
|
||||
sofa VARCHAR(255) NULL COMMENT '沙发需求或配置说明',
|
||||
tea_table VARCHAR(255) NULL COMMENT '茶几/茶桌需求或配置',
|
||||
dining_table VARCHAR(255) NULL COMMENT '餐桌椅需求或配置',
|
||||
study_desk VARCHAR(255) NULL COMMENT '学习桌/书桌需求',
|
||||
tv_cabinet VARCHAR(255) NULL COMMENT '电视柜需求说明',
|
||||
cabinet VARCHAR(255) NULL COMMENT '橱柜或厨房柜体说明',
|
||||
wine_cabinet VARCHAR(255) NULL COMMENT '酒柜需求说明',
|
||||
master_bedroom_cabinet VARCHAR(255) NULL COMMENT '主卧衣柜/储物柜配置',
|
||||
secondary_bedroom_cabinet VARCHAR(255) NULL COMMENT '次卧衣柜/储物柜配置',
|
||||
shoe_cabinet VARCHAR(255) NULL COMMENT '鞋柜需求或配置',
|
||||
bed_and_mattress VARCHAR(255) NULL COMMENT '床及床垫配置',
|
||||
customer_type VARCHAR(50) NULL COMMENT '客户类型:新房装修、二次翻修、补充家居',
|
||||
family_structure VARCHAR(200) NULL COMMENT '家庭结构描述,家庭几口人、几个孩子、几个老人,重点反应家庭成员',
|
||||
intention_products TEXT NULL COMMENT '意向产品清单,仅限家居产品(床、柜子、沙发等),用顿号或逗号分隔',
|
||||
decoration_style VARCHAR(200) NULL COMMENT '偏好的装修/家居风格,风格类型,并推测主人相关信息',
|
||||
summary_sentence VARCHAR(500) NULL COMMENT '一句话总结客户需求或关键信息,重点关注预算和产品信息',
|
||||
sofa TEXT NULL COMMENT '沙发需求或配置说明,JSON格式,包含10个维度分析',
|
||||
tea_table TEXT NULL COMMENT '茶几/茶桌需求或配置,JSON格式,包含10个维度分析',
|
||||
dining_table TEXT NULL COMMENT '餐桌椅需求或配置,JSON格式,包含10个维度分析',
|
||||
study_desk TEXT NULL COMMENT '学习桌/书桌需求,JSON格式,包含10个维度分析',
|
||||
tv_cabinet TEXT NULL COMMENT '电视柜需求说明,JSON格式,包含10个维度分析',
|
||||
cabinet TEXT NULL COMMENT '橱柜或厨房柜体说明,JSON格式,包含10个维度分析',
|
||||
wine_cabinet TEXT NULL COMMENT '酒柜需求说明,JSON格式,包含10个维度分析',
|
||||
master_bedroom_cabinet TEXT NULL COMMENT '主卧衣柜/储物柜配置,JSON格式,包含10个维度分析',
|
||||
secondary_bedroom_cabinet TEXT NULL COMMENT '次卧衣柜/储物柜配置,JSON格式,包含10个维度分析',
|
||||
shoe_cabinet TEXT NULL COMMENT '鞋柜需求或配置,JSON格式,包含10个维度分析',
|
||||
bed_and_mattress TEXT NULL COMMENT '床及床垫配置,JSON格式,包含10个维度分析',
|
||||
owner_phone VARCHAR(30) NULL COMMENT '所属人或负责人的联系方式',
|
||||
owner_id CHAR(36) NULL COMMENT '所属人或负责人的唯一标识',
|
||||
customer_phone VARCHAR(30) NULL COMMENT '客户的联系方式',
|
||||
|
||||
Reference in New Issue
Block a user