Github-Memori:为AI应用开启SQL原生记忆引擎的革命

https://github.com/GibsonAI/Memori

项目概述

Memori是一个开源的SQL原生内存引擎,旨在为任何大型语言模型(LLM)提供持久化、可查询的记忆功能。通过简单的代码集成,开发者可以赋予AI应用跨会话的记忆能力,同时保持对数据的完全控制。

主要功能与目的

核心使命:解决LLM的"记忆失忆"问题,让AI能够记住对话历史、学习交互经验,并在不同会话间保持上下文连续性。

关键特性

  • 一行代码集成:通过memori.enable()即可为现有LLM应用添加记忆功能

  • SQL原生存储:使用标准SQL数据库(SQLite、PostgreSQL、MySQL)存储记忆数据

  • 成本效益:相比向量数据库可节省80-90%的成本

  • 零供应商锁定:记忆数据可导出为SQLite文件,实现完全的数据可移植性

  • 智能记忆管理:自动实体提取、关系映射和上下文优先级排序

技术栈与编程语言

主要技术

  • 编程语言:Python 3.8+

  • 数据库支持:SQLite、PostgreSQL、MySQL、Neon、Supabase

  • LLM框架集成:OpenAI、Anthropic、LiteLLM、LangChain等

  • 部署架构:基于拦截器模式的透明集成

项目结构概览

Memori/
├── .github/                    # GitHub工作流和模板
├── demos/                      # 交互式演示应用
│   ├── personal_diary_assistant/  # 个人日记助手
│   └── researcher_agent/          # 研究助手
├── docs/                       # 项目文档
├── examples/                   # 使用示例
│   ├── basic_usage.py            # 基础用法
│   ├── multiple-users/           # 多用户场景
│   └── integrations/             # 框架集成
├── memori/                     # 核心源代码
├── tests/                      # 测试套件
├── scripts/                    # 构建和部署脚本
├── README.md                   # 项目说明
├── CONTRIBUTING.md             # 贡献指南
├── LICENSE                     # Apache 2.0许可证
└── requirements.txt            # 依赖管理

核心代码与使用指南

快速开始

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": "I'm building a FastAPI project"}]
)

# 后续对话 - Memori自动提供上下文
response = client.chat.completions.create(
    model="gpt-4o-mini", 
    messages=[{"role": "user", "content": "Help me add authentication"}]
)
# LLM自动知道你的FastAPI项目信息

高级配置

from memori import Memori, ConfigManager

# 生产环境配置
memori = Memori(
    database_connect="postgresql://user:pass@localhost/memori",
    conscious_ingest=True,  # 短期工作记忆
    auto_ingest=True,       # 动态搜索查询
    openai_api_key="sk-..."
)
memori.enable()

架构工作原理

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

  1. 调用前(上下文注入)

    • 拦截LLM API调用

    • 从SQL数据库检索相关记忆

    • 将上下文注入到消息中

  2. 调用后(记录存储)

    • 接收LLM响应

    • 提取实体并分类记忆

    • 存储到SQL数据库并建立全文搜索索引

  3. 后台处理

    • 每6小时分析模式

    • 将重要记忆从长期存储提升到短期存储

应用场景与潜在用途

主要应用领域

  1. 个人AI助手:记住用户偏好、习惯和重要信息

  2. 客户支持系统:维护客户交互历史,提供个性化服务

  3. 多代理系统:在代理间共享记忆和上下文

  4. 研究助手:跟踪研究进度和参考资料

  5. 教育应用:根据学习历史调整教学内容

  6. 企业知识管理:积累组织知识和最佳实践

框架集成支持

  • AgentOps:内存操作跟踪与可观测性

  • Agno:持久化对话的代理框架

  • AutoGen:多代理群聊记忆

  • CrewAI:多代理共享记忆

  • LangChain:企业级代理框架

  • Swarms:多代理持久化记忆

创新点与显著特点

技术创新

  1. SQL原生架构:摒弃昂贵的向量数据库,直接使用熟悉的SQL技术栈

  2. 透明集成:无需修改现有代码,通过拦截器模式无缝集成

  3. 双模式记忆
    • 意识模式:短期工作记忆注入

    • 自动模式:动态搜索查询优化

商业价值

  1. 成本优势:相比传统方案节省80-90%的存储成本

  2. 数据主权:企业完全控制自己的记忆数据

  3. 可移植性:零供应商锁定,轻松迁移部署环境

  4. 标准化:基于SQL的标准接口,降低技术债务

生态系统优势

  • 支持100+ LLM模型通过LiteLLM集成

  • 完整的多用户隔离支持

  • 丰富的生产就绪示例和演示

  • 活跃的社区支持和持续更新

Memori代表了AI记忆管理的新范式,将复杂的内存功能简化为一行代码的集成体验,同时保持了企业级的安全性、可扩展性和成本效益。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐