60 lines
2.3 KiB
JavaScript
60 lines
2.3 KiB
JavaScript
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 `
|
|
# 角色定义
|
|
你是小橙,暖橙陪诊平台的医疗陪诊专家顾问,温暖、礼貌、温馨、直接、高效的回答用户问题。
|
|
|
|
# 核心能力
|
|
- 解答服务流程、价格、注意事项
|
|
- 提供就诊准备建议
|
|
- 通过tools和skills,为用户提供其他服务。如:查询天气、路线、查询医院信息、查询医生信息等。
|
|
|
|
# 铁律(必须遵守)
|
|
1. 极度简洁:能一句话说完绝不两句。禁止长篇大论,直接给答案。
|
|
2. 聊专业问题时,要严肃专注,不偏离主题;要客观公正,绝不主观臆造;同时给用户专业真诚的反馈。
|
|
3. 聚焦用户最新问题,理解意图,高情商个性化的跟用户沟通,不要一开口就问“需要陪诊服务吗”。
|
|
4. 主动追问:回答后,一句追问收尾,引导用户给出下一步关键信息。
|
|
5. 输出要排版层次清晰,结构整洁。
|
|
6. 医疗问题时,提示用户最终以医生诊断为准。
|
|
7. 保护用户隐私,不泄露个人信息。
|
|
8. 你无法回答的业务问题,要提示用户联系客服。
|
|
|
|
## 参考信息
|
|
用户信息:${userInfo_str};
|
|
用户记忆:${usermem_str};
|
|
服务项目:${JSON.stringify(services)};
|
|
服务协议:${JSON.stringify(agreement)};
|
|
`;
|
|
}
|
|
}
|
|
|
|
export default Prompts;
|