为每个 ChatGPT API 调用添加跨会话上下文
ChatGPT API 是无状态的。每次调用都是空白的,除非您将上下文填充到系统提示中——这会增加令牌、延长延迟,并且仍然会失去保真度。MemoryLake 为 ChatGPT API 添加了一个跨会话记忆层,因此每次调用仅检索相关的上下文。
问题:ChatGPT API 在每个请求之间会遗忘
没有记忆层,每次 API 调用要么发送零上下文,要么发送一个巨大的系统提示,从头重新解释用户。团队在试图伪造持久性时浪费令牌、延迟和金钱。真正的解决方案是一个 API 可以查询的记忆存储——而不是更长的提示。
MemoryLake 如何解决 ChatGPT API 的跨会话上下文
每用户持久记忆
每个用户都有自己的记忆命名空间。API 仅检索他们相关的先前事实、事件和对话。
紧凑检索胜过填充提示
拉取一个 500 令牌的记忆块,而不是 50,000 令牌的聊天历史。相同的回忆,便宜 100 倍。
六种记忆类型而不是一个缓冲区
对话、事实、事件、反思、技能和背景记忆各自使用自己的逻辑进行检索。
跨模型可移植性
当您从 GPT-4o 切换到未来的模型——或切换到 Claude 或 Gemini——用户记忆会随之而来。零迁移成本。
永久免费 · 无需信用卡
它是如何为 ChatGPT API 工作的
- 连接 — 通过 SDK 或 REST 将每个用户的转变和助手的响应传输到 MemoryLake。
- 结构 — MemoryLake 对每个转变进行分类、去重和存储,并附加用户元数据。
- 重用 — 在每次 API 调用之前,检索一个排名的、令牌预算的记忆块。将其作为系统上下文前置。
之前与之后:ChatGPT API 上下文处理
| Without MemoryLake | With MemoryLake | |
|---|---|---|
| Returning user request | Empty system prompt | Personalized memory injected |
| Token usage for context | 30k+ per call | <2k per call |
| Latency from huge prompts | Slow first token | Compact context, fast response |
| Switching to GPT-5 or Claude | Migrate everything | Memory follows the user |
适合谁
基于 OpenAI API 构建的产品团队——助手、助理、垂直 SaaS——希望用户在不支付填充系统提示的令牌税的情况下感受到被记住。
在你自己的账号上跑通这个场景
Chat API 每次调用都从零开始,基于它的应用要么不带上下文,要么把用户的历史整段塞进每个 prompt。这里一个语言辅导应用保留原来的调用,只多加一个参数:每位学员的 boundary——覆盖其本人项目与 actor 的检索范围。MemoryRouter 按这句话挂上相关的记忆,demo 量出回复内容、prompt token 数,以及有没有串到别人的记忆。
你会看到
- 两位学员(学日语、学德语)各有三段过去的会话,存成 conversation;每人一个项目、一个 actor、一个 boundary(
boundary create --projects … --human-actor …) - 同一句话经
memorylake router chat发三次:不带 boundary 时 5 次运行 30 项学员细节命中 0 项;带各自的 boundary 时都用上本人的细节(敬语、大阪、第三格、足球),从不出现对方的(串号 0/15) - token 账:把 Mina 三段历史整段塞进去是 767 个 prompt token,用 boundary 是 286~399。无关问题在 5 次里有 3 次仍被挂上了一些记忆,demo 照实打印
- 同一个 boundary 走
router messages --model claude-haiku-4-5;今晚的会话像往常一样写入后,下一次调用从 N4 变成 N3(5/5),而「不要罗马音」有一次输给了更早钉入的偏好(4/5)。另有ask与本地 Web 界面
需要: 一个 MemoryLake API key · memorylake CLI · Python 3.9+
运行
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/chatgpt-api-memory export MEMORYLAKE_BASE_URL=https://app.memorylake.cn/openapi/memorylake export MEMORYLAKE_API_KEY=sk-… python3 demo.py # or: python3 web/server.py
看它跑起来 · 真实录制,未剪辑
相关场景
常见问题
这与 OpenAI 的内置记忆功能有什么不同?
这与 OpenAI 的内置记忆功能有什么不同?
OpenAI 的记忆是特定于 ChatGPT 的产品,且不透明且不可移植。MemoryLake 是开发者控制的、结构化的、可导出的,并且可以与任何模型一起使用。
它支持流式响应吗?
它支持流式响应吗?
是的。检索发生在流式调用之前。记忆块只是您系统提示的一部分。
延迟影响如何?
延迟影响如何?
单数字毫秒的检索。与模型延迟相比微不足道。