ChatGPT的记忆功能是如何工作的?
几个月前,我在与ChatGPT的一些互动中注意到了一个新的“内存已更新”消息。
我起初并没有太在意,但是哎呀,我真爱这个功能。
它存储了关于你的某些信息,可能对未来的对话很重要和相关。记忆存储在单个用户的所有会话中,换句话说,你不再需要在之前的会话中提供过的相同上下文。
例如,当我在一个新的会话中询问它建议周末计划时,它会建议与我的爱好相关的活动。
我的天生好奇心促使我在网络上搜索,以了解ChatGPT的记忆功能是如何工作的,但令人惊讶的是,并没有太多易于获取的信息。因此,我决定试着自己解释它。
如何记忆功能起作用
识别重要信息
首先,系统需要确定哪些用户输入值得保存为记忆。有规则和分类模型帮助识别重要信息。
规则可能基于单词或字符模式,使用例如RegEx的工具。例如,每当用户说出“记住这个…”或“我更喜欢…”。
用户可能不会明确表示他们希望ChatGPT记住某些信息。因此,有分类模型来识别看起来重要或有用的信息。
存储内存
一旦确定,这些记忆就会为每个用户存储。目前,ChatGPT似乎依赖于用户账户系统,并为每个已登录用户单独存储记忆。这使得ChatGPT能够跨用户会话使用记忆。
在回答问题时引用记忆
在其核心,记忆功能使用 RAG(检索增强生成),这是大型语言模型(LLM)中非常流行的机制。
RAG 位于核心的 LLM 之外(例如 GPT-4),它允许 LLM 具有额外的上下文,这些上下文可能不在其训练数据或用户输入中。
一个简单的RAG表示如下:
RAG 在问答使用案例中变得非常受欢迎,当有一个真实来源时,LLM 应参考这个来源来回答问题。例如,许多客户支持聊天机器人在回答客户问题时使用 RAG 来参考产品文档或其他内部文档。
如何充分利用记忆功能
个人提示
如果您希望ChatGPT记住某个特定的事情,您可以明确说明,以确保它会被存储。
我也喜欢使用记忆功能来指导ChatGPT我希望他们的回应是怎样的。例如,
- 我告诉ChatGPT,我希望它只返回它编辑过的行,而不是返回整个代码块。我发现这样可以减少错误,并且我仍然能够很好地理解正在发生的事情。
- 我告诉ChatGPT我喜欢如何构建我的电子邮件。这样它的输出就能保留我的语气和写作风格,我就不必编辑输出内容那么多。
数据隐私
OpenAI表示已经建立了机制来防止记忆敏感信息。
默认情况下,记忆(例如您的聊天记录)会被用来训练Open AI模型。您可以在设置->数据控制中关闭此功能。
管理内存
您可以通过点击设置->个性化->管理来查看和删除记忆。
您可以在Open AI的FAQ中了解更多关于ChatGPT的记忆功能。