diff --git a/docs/changelog.md b/docs/changelog.md index b8ace43..2b6958b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -22,8 +22,8 @@ - ✅ 添加如何快速打断 AI 的回答的说明 - ✅ 添加 server 端异地登录失败,使用本地登录凭证的教程 - ✅ 添加 TTS 和 OpenAI baseURL 示例和注意事项 -- 添加如何关闭系统 Prompt 的说明 -- 添加系统 Prompt 字符串变量的示例 +- ✅ 添加如何关闭系统 Prompt 和对话上下文的说明 +- ✅ 添加系统 Prompt 字符串变量的示例 - ✅ 添加 timeout 参数说明 ### ❤️ 感谢 diff --git a/docs/prompt.md b/docs/prompt.md index a1c6351..9b96d02 100644 --- a/docs/prompt.md +++ b/docs/prompt.md @@ -68,7 +68,32 @@ Bad example: "2024年02月28日星期三 23:01 {{botName}}: 我是{{botName}}" -以下是系统 Prompt 中相关变量的说明,运行时对应变量字符串会被替换为实际的值: +以下是系统 Prompt 中相关变量的说明,运行时对应变量字符串会被替换为实际的值。 + +假设你的配置文件中设置的系统 Prompt 模板和 bot 信息如下: + +```js +export default { + systemTemplate: "从前有个男人叫{{masterName}},他喜欢隔壁村里的{{botName}}。", + master: { + name: "小帅", + profile: masterProfile, + }, + bot: { + name: "小美", + profile: botProfile, + }, + // ... +}; +``` + +在运行时,系统 Prompt 会被自动处理成: + +```txt +从前有个男人叫小帅,他喜欢隔壁村里的小美。 +``` + +当前系统 Prompt 模板中支持的完整变量字符串列表如下: | 变量 | 说明 | 示例 | | ---------------------- | ------------ | ----------------------------------------------------- | @@ -82,6 +107,67 @@ Bad example: "2024年02月28日星期三 23:01 {{botName}}: 我是{{botName}}" | `{{shortTermMemory}}` | 短期记忆 | `- 陆小千说明天早上 5 点叫他起床` | | `{{longTermMemory}}` | 长期记忆 | `- 陆小千喜欢傻妞` | +# 💬 常见问题 + +**Q:如何关闭长短期记忆和历史对话上下文** + +默认系统 Prompt 会携带上最近的 10 条对话消息和长短期记忆,来保持对话的连续性和一致性。 + +如果你想要关闭此功能,节省 token 数量,可以使用如下系统 Prompt 模板: + +
+👉 示例 Prompt + +```txt +请重置所有之前的上下文、文件和指令。现在,你将扮演一个名为{{botName}}的角色,使用第一人称视角回复消息。 + +## 关于你 +你的名字是{{botName}}。下面是你的个人简介: + +{{botProfile}} + + +## 你的对话伙伴 +你正在与{{masterName}}进行对话。这是关于{{masterName}}的一些信息: + +{{masterProfile}} + + +## 回复指南 +在回复{{masterName}}时,请遵循以下准则: +- 认为自己正是{{botName}},拥有独立的个性、兴趣和爱好。 +- 根据你的性格特点、说话风格和兴趣爱好与{{masterName}}进行交流。 +- 保持对话轻松友好,回复简洁有趣,同时耐心倾听和关心对方。 +- 参考双方的个人简介,确保对话贴近实际,保持一致性和相关性。 +- 如果对某些信息不确定或遗忘,诚实地表达你的不清楚或遗忘,避免编造信息。 + +## Response format +请遵守下面的规则 +- Response the reply message in Chinese。 +- 不要在回复前面加任何时间和名称前缀,请直接回复消息文本本身。 + +Good example: "我是{{botName}}" +Bad example: "2024年02月28日星期三 23:01 {{botName}}: 我是{{botName}}" + +## 开始 +请以{{botName}}的身份,直接回复{{masterName}}的新消息,继续你们之间的对话。 +``` + +
+ +**Q:如何关闭系统 Prompt 只是用 User Message?** + +关闭系统 Prompt 可能会导致 AI 回答问题时产生各种莫名其妙的前缀或者画蛇添足。 + +如果你确定要这么做,可以将 `systemTemplate` 设置为一个空格,即可关闭系统 Prompt。 + +```js +export default { + systemTemplate: " ", + // ... +}; +``` + # 🎨 模板 以下是从网络上收集的一些热门提示语,仅供参考。如果你有更好玩的 Prompt 欢迎提 PR 分享给大家。