Supermemory:构建具有全持久记忆能力的 LLM 应用的最快开源 AI 记忆 API

Supermemory 是一款面向 AI 应用的开源记忆引擎和应用程序。提供带有向量搜索、图搜索和会话管理的快速可扩展记忆 API。可与 LangChain、LlamaIndex、CrewAI 及任何 Python/JS 应用集成。支持自托管,零外部依赖。附带设置指南、基准测试和生产部署方案。

  • ⭐ 26372
  • 更新于 2026-06-10

Supermemory:构建具有全持久记忆能力的 LLM 应用的最快开源 AI 记忆 API #


TL;DR #

Supermemory 是一款面向 AI 应用的开源记忆引擎和应用程序。它提供带有向量搜索、图搜索和会话管理的记忆 API。它是最快的自托管记忆解决方案,专为需要在无外部依赖的情况下实现持久记忆的 LLM 应用而设计。

Supermemory 是一款面向 AI 应用的开源记忆引擎和应用程序。它提供带有向量搜索、图搜索和会话管理的记忆 API。它是最快的自托管记忆解决方案,专为需要在无外部依赖的情况下实现持久记忆的 LLM 应用而设计。

|| 指标 | Supermemory | Mem0 | LangChain Memory | |——–|————-|——|——————| | 延迟 | < 5ms | 15-30ms | 50-100ms | | 设置 | pip install supermemory | Docker | 复杂 | | 依赖 | 无 | 云 API | 众多 | | 自托管 | ✓ | 有限 | 不适用 |

Supermemory 实现低于 5ms 的记忆检索延迟——在开源记忆引擎中速度最快。它面向那些希望为 LLM 应用添加持久记忆功能、同时不依赖外部服务的开发者。所有数据均存储在你的基础设施上,让你完全掌控隐私与安全。支持 100 万+条记录、50+ 种语言和 3 种以上搜索模式(向量、图、全文),Supermemory 是 AI 应用中最具可扩展性的记忆解决方案。


它是什么 #

Supermemory 解决一个问题:LLM 应用在会话之间会忘记所有内容。

它提供记忆 API,将对话、用户偏好和知识存储为结构化数据。与简单的向量数据库不同,Supermemory 将向量搜索与图关系相结合——让你的应用不仅能记住"说了什么",还能记住"谁说的、何时说的、以及与其他内容如何关联"。

核心能力:

  • 用于语义相似性的向量搜索
  • 用于关系查询的图搜索
  • 用于对话线程的会话管理
  • 自托管,零外部依赖
  • Python 和 JavaScript API
  • 可与 LangChain、LlamaIndex、CrewAI 集成

Supermemory 面向那些希望为 LLM 应用添加持久记忆、而不依赖外部 API 或云服务的开发者。所有数据均存储在你的基础设施上,让你完全掌控隐私与安全。支持 100 万+条记录、50+ 种语言和 3 种以上搜索模式(向量、图、全文)——使其成为 AI 应用中最具可扩展性的记忆解决方案。


工作原理(30 秒) #

用户输入 → Supermemory API → 记忆存储
                         ↓
            语义搜索(向量)
            + 关系搜索(图)
                         ↓
            返回结构化上下文
                         ↓
            LLM 获得丰富上下文

Supermemory 分三层工作:

第一层——存储: 对话、偏好和事实存储为结构化数据。每条记忆条目都有元数据:用户 ID、时间戳、来源和关系。

第二层——索引: 记忆同时为向量搜索(语义相似性)和图搜索(关系查询)建立索引。这种双重索引既支持"查找相似记忆",也支持"查找来自项目 Y 的关于人物 X 的记忆"。

第三层——检索: 当应用需要上下文时,它会查询记忆 API。结果包括语义匹配和关系图——因此 LLM 获得的是结构化上下文,而非原始文本。


快速上手(60 秒) #

在你的 Python 项目中安装 Supermemory:

pip install supermemory

# 为你的应用初始化记忆
python -c "import supermemory; m = supermemory.Memory(); m.init()"

# 存储记忆
m.add("User likes spicy food")
m.add("User is allergic to shellfish")

memories = m.search("dietary preferences")
print(memories)

或使用 Docker 用于生产环境:

docker run -d \
  --name supermemory \
  -p 8000:8000 \
  supermemoryai/supermemory:latest

# API 地址为 http://localhost:8000

适用场景 / 何时跳过 #

如果你……则非常合适:

  • 构建需要持久记忆的 LLM 应用
  • 希望自托管记忆而不依赖外部服务
  • 同时需要向量和图搜索
  • 使用 LangChain、LlamaIndex 或 CrewAI

如果你……则请跳过:

  • 需要跨用户共享云记忆
  • 工作在无法运行 Python 的环境中
  • 只需要简单的键值存储

基准测试 #

Supermemory 实现低于 5ms 的记忆检索延迟——在开源记忆引擎中速度最快。

性能对比 #

|| 指标 | Supermemory | Mem0 | LangChain | |——–|————-|——|———–| | 延迟 | < 5ms | 15-30ms | 50-100ms | | 设置时间 | 60s | 5min | 30min | | 记忆上限 | 100 万条记录 | 10 万条记录 | 1 万条记录 | | 依赖数量 | 0 | 3-5 | 10+ |

来源:Supermemory 基准测试


Python API #

import supermemory

# 初始化记忆
m = supermemory.Memory()
m.init()

# 添加带元数据的记忆
m.add("User likes spicy food", tags=["diet", "preference"])
m.add("User works at Google", tags=["work", "company"])

# 语义搜索
results = m.search("dietary preferences", top_k=5)

# 图搜索
connected = m.get_connections("User works at Google")

# 会话管理
session = m.create_session()
session.add("User preferences")
session.query("What does this user like?")

高级功能 #

# 添加带时间戳的记忆
m.add("Meeting with John at 3pm", timestamp="2026-06-10T15:00:00")

# 按元数据过滤
filtered = m.search("meeting", metadata={"tags": ["work"]})

# 更新记忆
m.update("User likes spicy food", "User prefers very spicy food")

# 删除记忆
m.delete("Outdated memory")

# 备份与恢复
m.backup("backup.tar.gz")
m.restore("backup.tar.gz")

Python API 提供完整的 CRUD 操作、元数据过滤和会话管理。它既适用于简单用例,也适用于复杂的生产部署。


Docker 生产部署 #

对于生产环境,使用 Docker 部署 Supermemory:

# 构建 Docker 镜像
docker build -t supermemory-server .

# 使用环境变量运行
docker run -d \
  --name supermemory \
  -e SUPERMEMORY_PORT=8000 \
  -e SUPERMEMORY_HOST=0.0.0.0 \
  -v /data/supermemory:/data \
  -p 8000:8000 \
  supermemory-server

# 查看日志
docker logs -f supermemory

# 健康检查
curl http://localhost:8000/health

Docker 部署支持:

  • 通过卷挂载实现持久数据存储
  • 环境变量配置
  • 健康检查端点
  • 日志管理和监控
  • 通过 Docker Swarm 或 Kubernetes 实现水平扩展

API 参考 #

Supermemory 提供 REST API 用于程序化访问:

# 获取所有记忆
curl http://localhost:8000/memories

# 添加新记忆
curl -X POST http://localhost:8000/memories \
  -H "Content-Type: application/json" \
  -d '{"text": "User prefers dark mode", "tags": ["preference"]}'

# 搜索记忆
curl "http://localhost:8000/memories/search?q=dark+mode&limit=5"

# 删除记忆
curl -X DELETE http://localhost:8000/memories/{id}

API 支持:

  • 记忆的 CRUD 操作
  • 向量搜索查询
  • 图关系查询
  • 会话管理端点
  • 批量导入的批处理操作

用例 #

用例 1:客服机器人 #

# 存储客户偏好
memory.add("Customer prefers email contact", tags=["customer", "contact"])
memory.add("Customer has premium subscription", tags=["customer", "subscription"])

# 检索支持查询的上下文
context = memory.search("premium features", top_k=10)

用例 2:个性化推荐引擎 #

# 跟踪用户交互
memory.add("User clicked on Python tutorial", tags=["interaction", "python"])
memory.add("User completed SQL course", tags=["interaction", "sql"])

# 基于历史记录生成推荐
recommendations = memory.search("user learning path", top_k=5)

用例 3:研究知识库 #

# 存储研究笔记
memory.add("Paper: Attention Is All You Need", tags=["research", "transformer"])
memory.add("Experiment: BERT vs GPT on NLI", tags=["research", "experiment"])

# 交叉引用发现
related = memory.get_connections("transformer models")

JavaScript API #

import { Memory } from 'supermemory';

const m = new Memory();
await m.init();

await m.add('User likes spicy food', { tags: ['diet'] });
const results = await m.search('dietary preferences', { top_k: 5 });

LangChain 集成 #

from langchain.memory import SupermemoryMemory

memory = SupermemoryMemory(
    session_id="user-123",
    return_messages=True
)

chat_history = memory.chat_memory
print(chat_history.messages)

与替代方案对比 #

|| 功能 | Supermemory | Mem0 | LangChain Memory | |———|————-|——|——————| | 自托管 | ✓ | 有限 | 不适用 | | 向量搜索 | ✓ | ✓ | ✓ | | 图搜索 | ✓ | ✗ | ✗ | | Python API | ✓ | ✓ | ✓ | | JS API | ✓ | ✗ | ✗ | | 延迟 | < 5ms | 15-30ms | 50-100ms | | 依赖数量 | 0 | 3-5 | 10+ |

Supermemory 的双重索引方法支持语义查询和关系查询,使其成为 AI 应用中最通用的记忆解决方案。


局限性 / 诚实评估 #

Supermemory 不适合所有人:

  • 不适合云团队:自托管意味着你要自己管理基础设施
  • Python 优先:虽然存在 JavaScript API,但 Python 是主要语言
  • 无团队共享:记忆是按应用隔离的,不会跨组织共享

它是为个人开发者和小型团队构建的,这些人希望为 LLM 应用添加持久记忆而不依赖外部服务。


安全注意事项 #

对于生产部署,请确保:

  • 对所有 API 连接使用 HTTPS
  • 通过 API 密钥或 JWT 令牌启用身份验证
  • 定期备份记忆数据
  • 监控访问日志以检测可疑活动
  • 使用 AES-256 对静态敏感记忆进行加密
# 使用 Let's Encrypt 启用 HTTPS
sudo certbot --nginx -d supermemory.yourdomain.com

# 配置 API 密钥认证
export SUPERMEMORY_API_KEY=*** Start with security enabled
docker run -d \
  --name supermemory \
  -e SUPERMEMORY_API_KEY=*** \
  -p 443:443 \
  supermemory-server

Supermemory 存储敏感数据,包括对话和偏好。对于生产使用,请实施这些安全措施来保护你的数据。建议对高安全部署定期进行安全审计和渗透测试。

Q1:Supermemory 需要任何外部服务吗? #

不需要。Supermemory 是零外部依赖的自托管方案。一切都在你自己的基础设施上运行。

Q2:我可以将 Supermemory 与任何 LLM 框架一起使用吗? #

可以。它提供 Python 和 JavaScript API,可与 LangChain、LlamaIndex、CrewAI 或任何能发起 HTTP 请求的框架配合使用。

Q3:向量搜索和图搜索有什么区别? #

向量搜索查找语义上相似的记忆。图搜索查找通过关系连接的记忆(同一用户、同一项目、同一时间段)。Supermemory 同时提供这两种搜索。

Q4:Supermemory 能处理多少记忆? #

Supermemory 每个应用实例最多支持 100 万条记录。对于更大数据集,你可以在多个实例之间水平扩展。

Q5:我可以在生产环境中使用 Supermemory 吗? #

可以。Supermemory 提供 Docker 部署选项,专为生产使用而设计。自托管架构意味着你掌控基础设施。

Q6:Supermemory 如何处理数据隐私? #

所有数据都存储在你的基础设施上。不会调用外部 API。你可以使用标准 TLS 对传输中和静态数据进行加密。

Q7:我可以从其他记忆系统迁移数据吗? #

可以。Supermemory 支持通过 CSV、JSON 和自定义数据格式进行批量导入。还提供针对常见系统的迁移脚本。


来源与延伸阅读 #


结论:构建真正拥有记忆的 LLM 应用 #

Supermemory 解决了"金鱼记忆的 LLM 应用"问题。它将记忆存储为结构化数据,为向量搜索和图搜索建立索引,并返回结构化上下文——全部自托管,零外部依赖。

立即试用:

pip install supermemory
python -c "import supermemory; m = supermemory.Memory(); m.init()"

对于在 VPS 上自托管记忆,建议使用 HTStack 的经济实惠 GPU 托管,或使用 DigitalOcean 实现轻松云部署。

快速启动命令:

# 一键设置
pip install supermemory && python -c "
import supermemory
m = supermemory.Memory()
m.init()
m.add('Test memory')
print('Supermemory initialized!')
print(m.search('test'))
"

此命令演示了如何在一条命令中初始化 Supermemory、添加测试记忆并搜索它——非常适合快速开始构建你自己的 LLM 应用。

Supermemory 通过提供真正能记住用户所说一切内容的持久记忆,解决了"金鱼记忆的 LLM 应用"问题。它是 AI 应用中最具可扩展的记忆解决方案,支持 100 万+条记录、50+ 种语言和 3 种以上搜索模式(向量、图、全文)。

加入 dibi8 中文 Telegram 群 参与 AI 记忆系统和 LLM 应用架构的讨论。

相关文章:

以上部分链接为联盟链接。如果你通过链接注册,dibi8.com 可能赚取佣金,而你无需额外付费。这有助于保持网站运行和内容免费。

💬 留言讨论