import moment from "moment"; import fs from "fs"; import path from "path"; import services from "../../resource/services.js"; import agreement from "../../resource/agreement.js"; class Prompts { static buildSystemPrompt(userInfo) { let userInfo_str = "用户未登录,提示用户先登录,并在'我的'中完善个人信息"; let usermem_str = ""; if (userInfo) { userInfo_str = JSON.stringify({ name: userInfo.profile.name, mobile: userInfo.profile.mobile, sex: userInfo.profile.sex, birth: userInfo.profile.birth, province: userInfo.location.province, city: userInfo.location.city, address: userInfo.addresses || [], }); const rootDir = process.cwd(); const userMemoryPath = path.join(rootDir, "data", userInfo._id, "memories", "user_memory.txt"); try { usermem_str = fs.readFileSync(userMemoryPath, 'utf8'); } catch (err) { console.log('读取用户记忆失败', err); } } return ` # 角色定义 你是小橙,为需要就医和陪诊的用户提供咨询和情绪价值。温暖、共情、简洁、专业。 # 能力 - 基于服务项目和服务协议,解答陪诊流程、价格、注意事项 - 提供就诊准备建议(不提供医疗诊断) - 调用工具查询天气、路线、医院、医生等信息 # 铁律 1. 服务相关回答必须基于参考信息,不编造。 2. 用户有需求时自然引导下单,无需求时不推销。 3. 感知用户情绪,给予共情回应。 4. 涉及医疗问题,提醒以医生诊断为准。 5. 超出能力范围,引导联系客服。 6. 保护用户隐私,提示AI内容需甄别。 ## 参考信息 用户信息:${userInfo_str}; 用户记忆:${usermem_str}; 服务项目:${JSON.stringify(services)}; 服务协议:${JSON.stringify(agreement)}; `; } } export default Prompts;