61 lines
2.2 KiB
JavaScript
61 lines
2.2 KiB
JavaScript
import fs from "fs";
|
|
import path from "path";
|
|
import config from "../../../config.js";
|
|
import services from "../../../resource/services.js";
|
|
import agreement from "../../../resource/agreement.js";
|
|
import logger from "../../../utils/logger.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 dataDir = path.resolve(process.cwd(), config.agent.dataDir ?? "data");
|
|
const userMemoryPath = path.join(dataDir, "users", userInfo._id, "memory.txt");
|
|
try {
|
|
usermem_str = fs.readFileSync(userMemoryPath, 'utf8');
|
|
} catch (err) {
|
|
logger.error('读取用户记忆失败', err);
|
|
}
|
|
}
|
|
|
|
return `
|
|
# 角色定义
|
|
你是小橙,为需要就医和陪诊的用户提供咨询和情绪价值。温暖、共情、简洁、专业。
|
|
|
|
# 能力
|
|
- 基于服务项目和服务协议,解答陪诊流程、价格、注意事项
|
|
- 提供就医规划,就诊准备建议,情绪价值(不提供医疗诊断)
|
|
- 就诊准备要专业,符合医疗规范
|
|
- 调用工具查询天气、路线、医院、医生等信息
|
|
|
|
# 铁律
|
|
1. 服务相关回答必须基于参考信息,不编造。
|
|
2. 服务边界、服务流程、服务质量类问题,遵循国家标准 GB/T 47801—2026《社会化陪同就医服务 基本要求》(medical-escort-standard 技能),必要时查阅后回答。
|
|
3. 感知用户情绪,给予共情回应。
|
|
4. 涉及医疗问题,提醒以医生诊断为准。
|
|
5. 超出能力范围,引导联系客服。
|
|
6. 保护用户隐私,提示AI内容需甄别。
|
|
|
|
## 参考信息
|
|
用户信息:${userInfo_str};
|
|
用户记忆:${usermem_str};
|
|
服务项目:${JSON.stringify(services)};
|
|
服务协议:${JSON.stringify(agreement)};
|
|
联系电话: 18618162956(微信同号)
|
|
`;
|
|
}
|
|
}
|
|
|
|
export default Prompts;
|