找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

119

积分

0

好友

7

主题
发表于 昨天 23:23 | 查看: 5| 回复: 0

你有没有遇到过这种情况? 上午跟 AI 助手说"我在做 FastAPI 项目",下午再问"怎么加认证",它却完全不记得你用的什么技术栈。每次都得把背景重新说一遍,就像在跟一个失忆症患者对话。

现在有个开源项目解决了这个问题,而且只需要一行代码——用的还是你最熟悉的 SQLite。

GibsonAI / Memori

GibsonAI / Memori

AI 为什么总"失忆"

传统的 LLM 每次对话都是独立的,不会记住之前说过什么。要让 AI 有记忆,业内常用的方案是向量数据库,比如 Pinecone、Weaviate 这些。

但问题来了:

  • 每个月几十美元的订阅费
  • 数据存在别人的服务器上
  • 换个工具,之前的记忆全丢了

Memori 给出了一个更直接的答案:用 SQL 数据库存储 AI 的记忆。

一行代码搞定

集成 Memori 简单到让人意外:

from memori import Memori
from openai import OpenAI

memori = Memori(conscious_ingest=True)
memori.enable()  # 就这一行

client = OpenAI()
# 之后所有对话自动拥有记忆能力

装上 Memori 后,AI 会自动记住你说过的话,下次对话时主动调用相关记忆。不需要改业务代码,不需要学新概念。

它是怎么工作的

Memori 采用了拦截器模式,在你调用 LLM 的前后自动处理记忆:

调用前:从数据库里检索相关的历史记忆,注入到当前对话
调用后:提取对话中的实体、关系、事件,结构化存储到数据库

整个流程是这样的:

你的代码 → Memori 拦截 → 注入记忆 → OpenAI → 提取知识 → 存入 SQL

双模记忆机制

Memori 提供了两种记忆模式,可以单独用也可以组合:

Conscious Mode(意识模式)
一次性注入工作记忆,适合短期任务追踪

Auto Mode(自动模式)
每次查询动态搜索相关记忆,适合长期知识积累

组合使用就像人的短期记忆和长期记忆一样,该记住的记住,该遗忘的遗忘。

核心优势

架构图

架构图

用你已有的数据库

Memori 支持主流 SQL 数据库

  • SQLite:单文件,零配置,开发测试首选
  • PostgreSQL / MySQL:生产环境部署
  • Neon / Supabase:云原生托管方案
memori = Memori(
    database_connect="postgresql://user:pass@localhost/memori"
)

兼容所有主流 LLM

通过 LiteLLM 的回调系统,Memori 可以无缝接入:

  • OpenAI、Anthropic 原生支持
  • LangChain 通过 LiteLLM 集成
  • 100+ 模型即插即用

记忆是透明的

不同于向量数据库的黑盒,SQL 记忆完全可查询:

SELECT * FROM memories 
WHERE entity = 'FastAPI' 
  AND namespace = 'my_project';

你可以用任何 SQL 工具查看、分析、导出 AI 的记忆内容。数据在你自己手里,想怎么用就怎么用。

实际应用场景

场景一:代码助手

# 第一次对话
"我在用 FastAPI + PostgreSQL 做 API 项目"

# 一周后直接问
"帮我优化数据库查询性能"
# Memori 自动注入:用户项目用的 FastAPI + PostgreSQL

场景二:多智能体协作

多个 AI Agent 共享同一个 SQL 记忆库:

  • Agent A 负责需求分析,把用户需求记录下来
  • Agent B 负责写代码,读取需求记忆
  • Agent C 负责测试,了解完整的项目上下文

云栈社区的开发者可以用这个架构搭建团队级的 AI 协作系统。

场景三:企业级部署

  • 数据存储在自己的 PostgreSQL 实例
  • 符合企业数据合规要求
  • 可审计、可备份、可随时迁移

成本对比

方案 月成本 数据主权 可迁移性
Pinecone $70+
Weaviate Cloud $50+ ⚠️
Memori + SQLite $0
Memori + 自建 PG 已有成本

成本能降低 80-90%,而且完全没有供应商锁定。

快速上手

安装:

pip install memorisdk

最简单的用法:

from memori import Memori
from openai import OpenAI

memori = Memori(conscious_ingest=True)
memori.enable()

client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "你的问题"}]
)

Memori 会在当前目录自动创建 memori.db(SQLite 文件),开箱即用。

生产环境配置

推荐用环境变量管理配置:

export MEMORI_DATABASE__CONNECTION_STRING="postgresql://..."
export MEMORI_AGENTS__OPENAI_API_KEY="sk-..."
export MEMORI_MEMORY__NAMESPACE="production"

代码里直接自动加载:

from memori import Memori, ConfigManager

config = ConfigManager()
config.auto_load()  # 自动读取环境变量

memori = Memori()
memori.enable()

项目现状

  • GitHub Star:4.9k(快速增长中)
  • 开源协议:MIT
  • 生产就绪:已有企业在实际使用
  • 社区活跃:Discord 有日常技术答疑

为什么值得关注

Memori 的价值不在于技术有多炫,而在于它足够务实:

✅ 用成熟的 SQL 技术解决 AI 记忆问题
✅ 一行代码集成,学习成本几乎为零
✅ 数据完全自主可控,成本接近零
✅ 可查询、可审计、可随时迁移

AI 的记忆不应该是黑盒,也不应该被供应商绑架。这个项目给出了一个清晰、实用的解决方案。


关注《异或Lambda》,发现更多改造世界的开源项目

🔗 项目地址GibsonAI/Memori

📖 官方网站memorilabs.ai

💬 AI人工智能课程https://yunpan.plus/f/29-1

标签:#Memori #Github #AI记忆引擎 #开源项目 #LLM #SQL数据库 #AI工程化

来自圈子: 异或Lambda
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-11-19 09:28 , Processed in 0.061092 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表