AI Infra:MemoRizz,能构建不同 Agent 角色长期记忆的 Python 实验库
一、项目简介:MemoRizz 是什么?
MemoRizz 是一个用于构建具有“记忆能力”的 AI 智能体(Agent)的 Python 实验库,旨在帮助开发者探索 上下文记忆、语义搜索、角色设定与工具调用 等智能体关键能力。它主要用于学习和研究,不推荐用于生产环境或敏感数据处理。
二、核心功能
2.1. 多类型记忆管理
支持不同类型的记忆模块,例如:
- 对话记忆(Conversation Memory)
- 长期记忆(Long-Term Memory)
- 工作流记忆(Workflow Memory)
2.2. 语义搜索与向量记忆
- 使用 OpenAI 的嵌入模型将信息向量化
- 支持基于 MongoDB Atlas Vector Search 或 PostgreSQL + pgvector 的记忆检索
2.3. 智能体架构(MemAgent)
整合:
- 语言模型(如 GPT-4)
- 记忆后端
- 工具箱(调用函数)
- 角色设定(Persona)
2.4. 角色系统(Persona)
可以给每个 Agent 定义名字、身份、目标、背景,形成更连贯的交互风格。
2.5. 工具注册机制(Toolbox)
允许开发者用装饰器 @toolbox
注册函数,智能体可以语义理解并调用工具函数。
三、使用示例
3.1 创建一个具备记忆的智能体:
from memorizz.memagent import MemAgent
from memorizz.memory_provider.mongodb.provider import MongoDBConfig, MongoDBProvider
from memorizz.llms.openai import OpenAI
memory = MongoDBProvider(MongoDBConfig(uri="你的MongoDB连接串"))
agent = MemAgent(
model=OpenAI(model="gpt-4"),
instruction="你是一个有帮助的助手。",
memory_provider=memory
)
agent.run("你好,我是John,一名软件工程师。")
agent.run("我之前告诉你了什么?")
→ 第二句中,Agent 可以记住 John 的身份。
3.2 添加角色和工具:
from memorizz.persona import Persona
agent.set_persona(Persona(
name="TechExpert",
role="技术专家",
goals="帮助用户解决技术问题",
background="多年软件开发经验"
))
from memorizz.toolbox import toolbox
@toolbox
def add(a: int, b: int) -> int:
return a + b
agent.add_tool(toolbox)
→ Agent 不仅有角色个性,还能通过自然语言触发 add
工具。
四、支持的存储后端
- MongoDB Atlas + Vector Search(云端推荐)
- PostgreSQL + pgvector(本地开发友好)
五、项目结构与学习资源
📁
examples/
文件夹:包含多个 Jupyter Notebook 示例- 多智能体交互
- 工具调用
- 长期记忆演示
- Persona 构建
- 向量检索
- 工作流记忆支持
六、延伸资源:作者演讲
🎙️ Richmond Alake 的 MongoDB 大会演讲:构建具备记忆的智能体
深入讲解了智能体记忆的架构原则与设计模式,非常推荐观看!
七、适合谁用?
- 想构建具备长期记忆能力的 AI Agent
- 对语义搜索、Persona 角色设定、Agent 工具链感兴趣的研究者或开发者
- 有意探索**下一代 AI 助手架构(如 RAG + Agent)**的团队或个人
总结
特性 | 说明 |
---|---|
项目名称 | MemoRizz |
作者 | Richmond Alake |
项目状态 | 实验性、活跃更新中 |
应用场景 | AI 智能体开发、RAG 记忆、角色化助手、工具调用系统 |
不推荐场景 | 生产环境、大规模用户数据处理 |