在人工智能飞速发展的今天,大型语言模型(LLM)已经展现出令人惊叹的能力,但它们始终面临着一个致命缺陷——缺乏持久记忆。每次对话都像是第一次见面,用户不得不反复重复基本信息,这不仅影响体验,更大大增加了使用成本。现在,一个革命性的开源项目正在改变这一现状。
什么是Memori?
Memori是一个开源的SQL原生内存引擎,专为LLM、AI代理和多代理系统设计。只需一行代码memori.enable(),就能为任何LLM赋予持久化、可查询的记忆能力,让AI真正记住对话内容、从交互中学习,并在不同会话间保持上下文连贯性。
为什么选择Memori?
-
一行代码集成 - 完美兼容OpenAI、Anthropic、LiteLLM、LangChain等主流LLM框架 -
SQL原生存储 - 使用标准SQL数据库(SQLite、PostgreSQL、MySQL),完全掌控数据 -
80-90%成本节省 - 无需昂贵的向量数据库,直接利用现有SQL基础设施 -
零供应商锁定 - 内存数据可导出为SQLite,随时随地迁移 -
智能内存管理 - 自动实体提取、关系映射和上下文优先级排序
快速入门:5分钟搭建智能记忆系统
安装Memori只需要一个简单的命令:
pip install memorisdk
接下来,让我们看一个完整的示例,展示如何为OpenAI聊天模型添加记忆功能:
from memori import Memori
from openai import OpenAI
# 初始化Memori并启用记忆功能
memori = Memori(conscious_ingest=True)
memori.enable()
client = OpenAI()
# 第一次对话 - 提及正在构建FastAPI项目
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项目!
这个示例清晰地展示了Memori的核心价值:在第二次请求添加身份验证功能时,模型已经"记得"用户正在构建FastAPI项目,无需重复背景信息。
全面兼容的数据库支持
Memori支持所有主流SQL数据库,你可以根据项目需求灵活选择:
|
|
|
|---|---|
| SQLite | sqlite:///my_memory.db |
| PostgreSQL | postgresql://user:pass@localhost/memori |
| MySQL | mysql://user:pass@localhost/memori |
| Neon | postgresql://user:pass@ep-*.neon.tech/memori |
| Supabase | postgresql://postgres:pass@db.*.supabase.co/postgres |
这种设计让Memori能够无缝集成到现有的技术栈中,无论是简单的个人项目还是复杂的企业级应用。
广泛的LLM框架支持
通过LiteLLM的原生回调系统,Memori能够与几乎所有主流LLM框架协同工作:
|
|
|
|
|---|---|---|
| OpenAI |
|
from openai import OpenAI |
| Anthropic |
|
from anthropic import Anthropic |
| LiteLLM |
|
from litellm import completion |
| LangChain |
|
|
| Azure OpenAI |
|
ProviderConfig.from_azure()配置
|
| 100+模型 |
|
|
灵活的内存配置模式
Memori提供多种内存模式,满足不同场景的需求:
持久化存储配置
from memori import Memori
memori = Memori(
database_connect="postgresql://user:pass@localhost/memori",
conscious_ingest=True, # 短期工作记忆
auto_ingest=True, # 每次查询动态搜索
openai_api_key="sk-..."
)
memori.enable()
三种核心内存模式
意识模式 - 一次性工作记忆注入
memori = Memori(conscious_ingest=True)
自动模式 - 每次查询动态搜索
memori = Memori(auto_ingest=True)
组合模式 - 两者优势结合
memori = Memori(conscious_ingest=True, auto_ingest=True)
使用配置管理器
对于生产环境,推荐使用ConfigManager进行集中配置:
from memori import Memori, ConfigManager
config = ConfigManager()
config.auto_load() # 从环境变量或配置文件加载
memori = Memori()
memori.enable()
设置环境变量:
export MEMORI_DATABASE__CONNECTION_STRING="postgresql://..."
export MEMORI_AGENTS__OPENAI_API_KEY="sk-..."
export MEMORI_MEMORY__NAMESPACE="production"
核心架构解析
Memori的工作原理是通过拦截LLM调用——在调用前注入上下文,在调用后记录对话:
[架构流程图描述:应用程序 → Memori拦截器 → SQL数据库 → LLM提供商,形成完整循环]
工作流程详解
调用前(上下文注入)
-
应用程序调用 client.chat.completions.create(messages=[...]) -
Memori透明地拦截调用 -
检索代理(自动模式)或意识代理(意识模式)检索相关记忆 -
上下文在发送到LLM提供商前被注入到消息中
调用后(记录存储)5. LLM提供商返回响应 6. 内存代理提取实体,分类(事实、偏好、技能、规则、上下文) 7. 对话存储在SQL数据库中,并建立全文搜索索引 8. 原始响应返回给应用程序
后台处理(每6小时)
-
意识代理分析模式,将重要记忆从长期存储提升到短期存储
实际应用场景示例
个人助理场景
想象一个智能个人助理,它能够记住你的偏好、习惯和过往对话。当你第一次说"我喜欢喝黑咖啡"后,几周后询问"推荐一家咖啡馆"时,它会自动优先推荐提供优质黑咖啡的场所。
# 个人助理示例代码框架
from memori import Memori
import openai
memori = Memori(conscious_ingest=True, auto_ingest=True)
memori.enable()
# 第一次对话:用户表达偏好
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "我每天早晨都要喝黑咖啡,不喜欢加糖"}]
)
# 后续对话:基于记忆提供个性化建议
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "附近有什么好的咖啡推荐?"}]
)
# 模型会记得用户喜欢黑咖啡的偏好
多用户系统支持
Memori完美支持多用户场景,确保不同用户之间的记忆完全隔离:
# 多用户记忆隔离示例
from memori import Memori
# 用户A的记忆空间
memori_user_a = Memori(namespace="user_a")
memori_user_a.enable()
# 用户B的记忆空间
memori_user_b = Memori(namespace="user_b")
memori_user_b.enable()
企业级应用:客户支持系统
在企业客户支持场景中,Memori能够让AI客服记住每个客户的完整交互历史。当客户再次咨询时,客服立即了解之前的问题、解决方案和客户满意度,提供无缝的连续服务体验。
框架集成生态
Memori与主流AI框架深度集成,开箱即用:
|
|
|
|---|---|
| AgentOps |
|
| Agno |
|
| AWS Strands |
|
| Azure AI Foundry |
|
| AutoGen |
|
| CamelAI |
|
| CrewAI |
|
| Digital Ocean AI |
|
| LangChain |
|
| OpenAI Agent |
|
| Swarms |
|
交互式演示体验
Memori提供了多个实时演示,帮助开发者更好地理解其能力:
|
|
|
|
|---|---|---|
| 个人日记助手 |
|
立即尝试[1] |
| 研究助手 |
|
立即尝试[2] |
这些演示生动展示了Memori在真实场景中的应用价值。个人日记助手能够识别用户的情绪模式,研究助手则可以记住之前的研究主题和发现,大大提升工作效率。
行业应用前景
在实际应用中,Memori正在改变多个行业的人机交互方式。在教育领域,智能导师能够记住学生的学习进度和薄弱环节,提供个性化辅导;在医疗健康领域,AI助手可以持续跟踪患者的症状变化和治疗反应;在企业场景中,销售助理能够记住客户的偏好和过往互动,提升转化率。
与传统的向量数据库方案相比,Memori的SQL原生 approach 不仅大幅降低成本,还提供了更好的可查询性和可审计性。开发人员可以使用熟悉的SQL工具直接分析和优化记忆数据,为企业级应用提供了坚实的基础。
[图片8: Star History图表]
Memori作为开源SQL内存引擎的代表,正引领着LLM记忆技术的革新浪潮。通过将复杂的记忆管理简化为一行代码,它让每个开发者都能轻松构建具有持久记忆能力的智能应用。无论是个人项目还是企业级系统,Memori都提供了可靠、高效且经济实惠的解决方案。现在就开始使用Memori,让你的AI应用真正拥有"记忆力"吧!
参考资料
立即尝试: https://personal-diary-assistant.streamlit.app/
[2]立即尝试: https://researcher-agent-memori.streamlit.app/

