返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

3700 Star 的 MemOS:在 Claude 之前,就把 AI 的记忆和知识库分清楚了。

[复制链接]
链载Ai 显示全部楼层 发表于 3 天前 |阅读模式 打印 上一主题 下一主题

昨天刚被路透 Claude 的「Knowledge Base + Memory」将进行更新,本质上解决的是同一个老问题:

原生的 AI,每一次对话对模型来说都是第一次见你。模型不会记得你之前做过什么、怎么决策、有什么偏好。

要让 AI 看起来记得,我们只能在每次请求时,把历史上下文、用户信息、文档内容一股脑儿重新塞回去。

在逛 GitHub 的时候,我发现了一个已经 3700+ Star 的开源项目:MemOS。

它不是简单拉长上下文窗口,而是把记忆和知识库当成一等公民来管理,专门处理长期记忆、上下文连续性,以及跨对话的状态复用。以及,支持知识库。

更重要的是——

这些能力现在就已经能用。

MemOS 已经支持把文件、URL 等内容接入知识库,并在对话过程中持续更新记忆,让模型不再每次从零开始。项目也在持续维护和快速迭代中,不需要等下一代模型或“未来功能”。

如果你最近刚好在关注 Claude、Coworks 和知识库相关以及记忆机制,

那MemOS 可以说是一个现在就能上手体验的版本。

MemOS 是行业首个 AI 记忆操作系统,它不仅仅是一个存储工具,通过首创的三层记忆操作架构,为 AI Agent 装上了海马体,让 AI 真正拥有了可成长、可管理的记忆能力。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 2em;visibility: visible;">01

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;color: rgba(0, 0, 0, 0.9);font-size: 17px;visibility: visible;">开源项目简介

开源地址:https://github.com/MemTensor/MemOS

如果你不使用 MemOS,去管理 AI 应用的记忆:你通常要自己切分文档、做向量化、写检索逻辑,还得担心上下文超长。

MemOS 这个开源项目的的思路是:把记忆当成一种系统资源来管理,就像操作系统管理内存和硬盘一样。

它有一套完整的框架,让你的 AI 能够:

  • 记住长期互动:不只是几句对话,而是长期的用户偏好和经历。

  • 自我进化:随着对话增多,它对你的了解是动态更新的,而不是死的。

  • 多模态记忆:这点还是很强的,之处图片和文档/图表的理解与记忆,不再局限于纯文本。

  • 知识库能力:你可以直接把文件接入 MemOS,形成可检索、可复用的长期知识资产。支持上传文件 / URL自动解析;一个知识库可被多个项目共享使用;对话持续进行时,记忆可动态更新与修正。

和 RAG 的区别

传统 RAG 方案的核心痛点在于它是无状态的,而 MemOS 提供的是动态的长期记忆。

具体区别可以看下面这两张图:

MemOS 架构

MemOS 的架构确实有点东西。它不仅仅是存取数据,它引入了调度 Scheduling) 的概念。它把记忆分成了好几种类型:

  • 有存文本的 Textual Memory:比如你说了啥,有加速推理的 Activation Memory,这是为了省 token 和加速,甚至还有 Parametric Memory 存 LoRA 权重的。

  • 工具记忆 Tool Memory:它能记录 Agent 调用工具的轨迹。如果你的 Agent 上次用某个工具报错了,下次它可能就记得要换种用法。这才是真正的智能,而不是每次都掉进同一个坑里。

  • Redis Streams 调度器:这就很工程化了。为了处理高并发,它用 Redis Streams 搞了一套多级队列。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: 2em;visibility: visible;">03

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;color: rgba(0, 0, 0, 0.9);font-size: 17px;visibility: visible;">如何使用

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;color: rgba(0, 0, 0, 0.9);font-size: 17px;visibility: visible;">① 创建知识库

你可以登录 MemOS 控制台创建一个新的知识库。然后把各种文件 PDF、Word 等上传至知识库。

MemOS 会自动完成存储、解析、分段和生成记忆。你需要等待文档状态显示为「可用」。在知识库列表页,复制刚刚创建的知识库 ID,后续代码中会用到:

② 准备环境

在 Python 环境中运行以下命令安装必要的库:

pipinstallOpenAIdatetime

准备 API Key

MemOS API Key:去如下网站注册一下,然后打开 API 密钥控制台,生成一个 API 密钥复制一下。

地址:https://memos-dashboard.openmem.net/cn/quickstart/?source=landing

OpenAI API Key:准备你的大模型服务商 Key。

③ 代码实现核心逻辑

你需要编写一个 Python 脚本,先配置环境变量,在代码中设置 API Key 和 知识库 ID:

importosimportjsonos.environ["MEMOS_API_KEY"]="你的_MemOS_Key"os.environ["OPENAI_API_KEY"]="你的_OpenAI_Key"os.environ["MEMOS_BASE_URL"]="https://memos.memtensor.cn/api/openmem/v1"#替换为你的知识库ID列表os.environ["KNOWLEDGE_BASE_IDS"]=json.dumps(["你的_知识库ID"])

然后你只需要调用 MemOS 的三个核心 API,搜索记忆、添加消息、获取消息,就能让 AI 拥有一个能够记住用户偏好且不断进化的知识库。

④ 实例化助手:

ai_assistant=KnowledgeBaseAssistant()user_id="test_user_001"#定义一个用户ID

⑤ 启动对话循环:

创建一个 while 循环,接收用户输入 input,调用 ai_assistant.chat() 获取回复并打印。

还有其它的用法,感兴趣的去访问开源项目主页。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作