Memori 已发展成为一个功能全面的开源记忆系统,旨在为AI代理提供长期、结构化且可查询的记忆功能。它摒弃了专有的向量数据库,转而利用标准的SQL或MongoDB作为后端存储。这使得AI代理能够跨会话回忆和重用信息,而无需依赖临时提示或易失的会话状态,也无需手动编排。
该系统采用数据库无关的架构,开发者可以根据项目需求灵活选择后端:可以使用SQLite进行本地开发,选择PostgreSQL或MySQL以获得更好的扩展性,或者采用MongoDB来满足文档导向的需求。Memori会自动检测所使用的后端,并通过特定的适配器管理数据摄取、搜索和检索,同时对外保持一致的API接口。这种设计使其在注重可靠性和可移植性的生产工作负载中颇具吸引力。
Memori的记忆引擎能够自动从交互中提取实体、事实、关系等信息,并将其归类为事实、偏好、规则、身份和关系。它优先考虑存储的可解释性,将记忆以人类可读的格式保存,便于检查、导出或迁移,从而避免了供应商锁定。代理可以通过其API检索信息,无需直接编写SQL查询。正如项目维护者Sumanth P在回应社区问题时所说:
Memori在内部处理存储,代理可以通过其API检索信息,而无需直接生成SQL。
框架兼容性也是社区关注的问题。在社区讨论中,Anand Trimbake询问Memori是否与LangChain集成,这是许多AI代理开发者的常见需求。Sumanth P确认了支持,指出Memori可以直接在由LangChain驱动的管道中使用,无需额外的适配器。
这种对广泛生态系统支持的强调——覆盖OpenAI、Anthropic、LiteLLM、Azure OpenAI、Ollama、LM Studio、LangChain以及任何OpenAI兼容的技术栈——使得Memori能够作为即插即用的内存层,轻松融入从轻量级助手到复杂自主代理的各种AI应用中。
除了检索功能,Memori还将短期的“意识”上下文与长期积累的知识区分开来。短期上下文被直接注入提示词中,而长期记忆则通过自动摄取机制不断增长。这确保了身份相关的信息与通用知识被明确分离,有助于防止记忆的无控制扩张。
Memori拥有模块化架构、原生的SQL存储支持以及对多种数据库的兼容性,将自己定位为下一代智能代理系统的核心组件。它为开发者提供了一个可靠、经济高效且开源的内存基础设施,能够无缝集成到现有的大语言模型生态中。
对于有兴趣进行实验的开发者,完整的代码库已在GitHub上开源。
|