
MemGPT 记忆智能体快速教程5 分钟跑通你的第一个长期记忆智能体【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPTMemGPT现名 Letta是一个开源的记忆智能体框架给大语言模型装上对话窗口之外的记忆。它解决一个很具体的麻烦普通聊天关窗即忘而基于它的智能体能记住历次对话、把状态存进数据库还能自主读取和改写自己的记忆。本文带你走完一条完整路径用 Docker 三步起服务、跑通第一次带记忆的对话再让智能体学会一项新技能。 记忆智能体和普通聊天机器人差在哪先建立一个直观对比普通对话是一次性的MemGPT 里的智能体是有状态的——它自带一座可以随时查、随时改的记忆库。对比维度普通 LLM 对话MemGPT 记忆智能体记忆存续时间会话结束即清空存入数据库长期保留上下文容量受模型窗口限制核心记忆 归档记忆分层随需调用记忆管理方式无智能体可自主读取、改写自己的记忆跨会话状态无法延续状态落库随时可恢复这种分层不是配置出来的而是机制决定的当下需要用到的内容放在上下文窗口里其余部分沉到数据库中智能体在对话过程中自己决定何时调回来、何时写进去。 三步在本地拉起 MemGPT 服务① 安装 Docker做什么MemGPT 的服务器以容器形式发布宿主机上只需要装好 Docker。怎么做按 Docker 官方安装指南在本机完成安装即可。怎么验证终端执行docker --version能打印出版本号即就绪。② 一条命令启动 MemGPT 服务器做什么拉取官方镜像把本地目录挂出去做数据库持久化并对外暴露 8283 端口。怎么做mkdir -p ~/.letta/.persist/pgdata docker run \ -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \ -p 8283:8283 \ -e OPENAI_API_KEY你的OpenAI密钥 \ letta/letta:latest怎么验证服务启动后浏览器访问http://localhost:8283/v1看到 API 页面返回内容就说明服务器已在监听。③ 安装 Python 客户端做什么后续用代码创建和驱动智能体靠的是 letta-client 这个 SDK。怎么做pip install letta-client怎么验证执行pip show letta-client终端打印出安装版本且无报错即完成。从零跑通第一次带记忆的对话下面这段代码一次性完成三件事创建智能体、写入两块记忆用户是谁、它自己是谁、然后问它对你了解多少。from letta_client import CreateBlock, Letta, MessageCreate # 连接本地 MemGPT 服务器 client Letta(base_urlhttp://localhost:8283) # 创建智能体human 记录用户信息persona 记录智能体自身人设 agent_state client.agents.create( name我的第一个记忆智能体, memory_blocks[ CreateBlock(labelhuman, value姓名张三), CreateBlock(labelpersona, value你是一个友善可靠的AI助手擅长解答技术问题), ], modelopenai/gpt-4o-mini, embeddingopenai/text-embedding-3-small, ) # 直接问它对你了解多少——答对记忆块里的信息说明链路已通 response client.agents.messages.create( agent_idagent_state.id, messages[MessageCreate(roleuser, content我叫什么名字你知道我哪些信息)], ) print(response.messages[-1].content)运行后如果回复里准确叫出了记忆块里写的名字整条链路就跑通了。接下来试试问它现在几点了——它自己回答不了这正好引出下一步给它加工具。截图中可以看到智能体在对话中调用core_memory_append工具把用户名这条信息写进了 human 记忆块——这正是记忆机制在实际工作的样子。在 ADE 图形界面里看清记忆的写入过程操作记忆不只有写代码一条路。MemGPT 附带一个名为 ADEAgent Development Environment的图形界面服务器启动后用浏览器打开 ADE选择 Local server 连接 8283 端口的本地服务即可。ADE 把三样东西摊在同一屏里右侧是对话区中间是核心记忆面板persona 和 human 两块都可以直接手工编辑底部是归档记忆列表也就是所有已沉淀的长期记忆。一边聊天一边看面板能直观看到智能体在什么时候、往哪块记忆里写了什么排查行为异常时非常顺手。给智能体加一项查时间的新技能想让智能体做它天生不会的事最直接的办法就是挂一个自定义工具。下面的例子给它配一个获取当前时间的工具。from letta_client.types import TerminalToolRule # 写一个普通 Python 函数docstring 会作为工具说明 def get_current_time() - str: 获取当前系统时间返回格式化的时间字符串 from datetime import datetime return f当前时间{datetime.now().strftime(%Y-%m-%d %H:%M:%S)} # 把函数注册成工具 time_tool client.tools.upsert_from_function(funcget_current_time) agent_state client.agents.create( memory_blocks[CreateBlock(labelhuman, value姓名张三)], modelopenai/gpt-4o-mini, embeddingopenai/text-embedding-3-small, tool_ids[time_tool.id], tool_rules[TerminalToolRule(tool_nametime_tool.name)], )创建完成后向它发一句现在几点了它会自己调用工具再把结果带回来。除工具外创建参数里还有两处值得了解context_window_limit可以抬高单轮对话容纳的上下文上限system用于传入自定义系统提示词让智能体行为贴合你的场景。完整参数清单以官方文档为准。新手最容易卡住的四个问题问MemGPT 和 Letta 到底是什么关系答同一个项目。MemGPT 是它最初发布时的名字后来整体改名为 Letta。如今社区里说 MemGPT 多指记忆智能体这套技术Letta 指完整的运行时环境二者指向同一份代码。问数据存在哪里怎么备份答Docker 部署下智能体的全部状态都落在 PostgreSQL 数据目录~/.letta/.persist/pgdata。把这个目录完整拷走就是一份全量备份。问只支持 OpenAI 吗答不只。Anthropic、Ollama、vLLM 等本地或托管服务都在支持范围内具体可用模型列表以官方文档为准。问容器起了客户端却一直连不上答按顺序查三处容器是否仍在运行8283 端口有没有被其他服务占用可在-p参数里换个端口启动时是否真的传入了有效的 OPENAI_API_KEY。接下来可以往哪走一句话总结MemGPT 让大模型拥有跨会话延续、且能被主动管理的长期记忆。基础链路跑通后有四个方向值得继续深入多智能体协作让多个智能体分工配合完成同一件事领域工具封装把天气、日历等业务接口做成智能体可调用的工具记忆策略设计为归档记忆的写入与检索定好规则生产环境部署把服务迁到服务器接入现有业务系统项目背景与发布状态可参考仓库内的 README.md最新功能与最佳实践以 docs.letta.com 官方文档为准。【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考