
MemGPT快速入门5分钟搭建具有长期记忆的AI智能体【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT还在为大型语言模型LLM的上下文限制而烦恼吗MemGPT现已更名为Letta为您带来了革命性的解决方案——这是一个专为LLM设计的记忆管理系统让AI智能体拥有真正的长期记忆能力。无论您是AI开发者、研究人员还是企业用户MemGPT都能帮助您构建更加智能、更具记忆能力的AI应用。为什么需要MemGPT传统LLM的局限性在传统的LLM应用中您可能经常遇到以下问题上下文限制大多数模型只能处理有限长度的对话历史通常4K-128K tokens记忆丢失每次对话结束后AI都会忘记之前的所有内容状态不持久智能体无法在不同会话间保持状态和记忆缺乏个性化AI无法记住用户的偏好和历史互动MemGPT通过创新的虚拟上下文管理技术完美解决了这些问题。它让AI智能体能够像人类一样记住过去的对话、学习用户的偏好并在长期互动中不断自我改进。MemGPT核心架构如何实现长期记忆MemGPT的核心创新在于其分层记忆系统从上图可以看到MemGPT的Agent Development EnvironmentADE界面清晰展示了其核心功能核心记忆Core Memory存储智能体的角色设定和用户信息归档记忆Archival Memory保存长期的历史对话和重要事件上下文窗口Context Window动态管理当前对话的上下文工具集成Tools支持调用外部工具和API这种分层设计让MemGPT智能体能够智能地在不同记忆层级间切换确保重要信息被长期保存同时保持对话的流畅性。三分钟快速部署从零开始搭建MemGPT环境准备MemGPT支持多种部署方式我们推荐使用Docker进行快速部署# 创建数据持久化目录 mkdir -p ~/.letta/.persist/pgdata # 启动MemGPT服务器 docker run \ -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \ -p 8283:8283 \ -e OPENAI_API_KEY您的OpenAI_API密钥 \ letta/letta:latest验证安装启动后访问http://localhost:8283/v1如果看到API响应说明服务器已成功运行。您还可以访问http://localhost:8283/docs查看完整的API文档。创建您的第一个记忆智能体安装Python客户端pip install letta-client基础智能体创建from letta_client import Letta # 连接到本地MemGPT服务器 client Letta(base_urlhttp://localhost:8283) # 创建具有长期记忆的智能体 agent_state client.agents.create( name我的个人助手, memory_blocks[ { label: human, value: 姓名张三\n职业软件工程师\n兴趣编程、阅读、旅行 }, { label: persona, value: 你是一个热情友好的AI助手擅长技术问题解答和日常对话 } ], modelopenai/gpt-4o-mini, embeddingopenai/text-embedding-3-small, ) print(f智能体创建成功ID{agent_state.id}) # 与智能体对话 response client.agents.messages.create( agent_idagent_state.id, input你好请介绍一下你自己 ) print(智能体回应, response.messages[-1].content)实战演练构建个性化客户服务助手让我们通过一个实际案例来展示MemGPT的强大功能。假设您需要构建一个客户服务智能体能够记住每个客户的偏好和历史问题。步骤1定义客户服务智能体from letta_client import Letta client Letta(base_urlhttp://localhost:8283) # 创建客户服务智能体 customer_service_agent client.agents.create( name客户服务助手, memory_blocks[ { label: persona, value: 你是一个专业的客户服务代表友好、耐心且知识渊博。 }, { label: instructions, value: 1. 始终使用客户姓名称呼\n2. 记住客户的历史问题\n3. 提供个性化解决方案 } ], modelopenai/gpt-4o-mini, tools[web_search, fetch_webpage], ) print(f客户服务智能体已创建{customer_service_agent.name})步骤2模拟客户对话# 第一个客户对话 response1 client.agents.messages.create( agent_idcustomer_service_agent.id, input你好我是李明我想了解产品的退货政策 ) print(首次对话, response1.messages[-1].content) # 几天后同一客户再次联系 response2 client.agents.messages.create( agent_idcustomer_service_agent.id, input你好我是李明上次我问过退货政策现在想了解具体流程 ) print(后续对话, response2.messages[-1].content)步骤3查看智能体记忆# 查看智能体的记忆状态 agent_details client.agents.retrieve(agent_idcustomer_service_agent.id) print(核心记忆, agent_details.core_memory) # 搜索归档记忆 search_results client.agents.memory.search( agent_idcustomer_service_agent.id, query李明 退货 ) print(相关记忆, search_results)MemGPT vs 传统LLM功能对比对比维度传统LLMMemGPT智能体记忆持久性会话级重启即丢失数据库持久化长期保存上下文管理固定窗口超出则丢失动态管理智能归档个性化能力每次对话重新开始记住用户偏好和历史状态保持无状态完整状态持久化工具集成有限支持丰富的自定义工具多会话一致性无法保持一致性跨会话记忆保持高级功能多智能体协作系统MemGPT支持创建多个智能体并让它们协同工作。这在复杂的业务场景中特别有用从上图可以看到MemGPT可以同时管理多个智能体每个智能体都有独立的记忆和功能。您可以根据需要创建专门的智能体# 创建多个专业智能体 sales_agent client.agents.create( name销售顾问, memory_blocks[{label: persona, value: 专业销售擅长产品推荐}], modelopenai/gpt-4o-mini ) tech_support_agent client.agents.create( name技术支持, memory_blocks[{label: persona, value: 技术专家擅长故障排查}], modelopenai/gpt-4o-mini ) # 智能体间协作 # 销售智能体可以将复杂技术问题转交给技术支持智能体自定义工具开发扩展智能体能力MemGPT允许您为智能体添加自定义工具使其能够执行特定任务from letta_client import Letta from datetime import datetime client Letta(base_urlhttp://localhost:8283) # 定义自定义工具 def check_inventory(product_id: str) - dict: 检查产品库存 Args: product_id: 产品ID Returns: 包含库存信息的字典 # 模拟库存检查逻辑 inventory { A001: {name: 笔记本电脑, stock: 15}, B002: {name: 智能手机, stock: 32}, C003: {name: 平板电脑, stock: 8} } if product_id in inventory: return {status: success, data: inventory[product_id]} else: return {status: error, message: 产品不存在} # 创建工具 inventory_tool client.tools.upsert_from_function(funccheck_inventory) # 创建带自定义工具的智能体 inventory_agent client.agents.create( name库存管理助手, memory_blocks[ {label: persona, value: 库存管理专家准确提供库存信息} ], modelopenai/gpt-4o-mini, tool_ids[inventory_tool.id] ) # 使用工具 response client.agents.messages.create( agent_idinventory_agent.id, input请检查产品A001的库存情况 ) print(工具调用结果, response.messages[-1].content)性能优化与最佳实践1. 数据库配置优化# 使用PostgreSQL作为生产数据库 docker run \ -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \ -p 8283:8283 \ -e DATABASE_URLpostgresql://user:passwordhost:5432/letta \ -e OPENAI_API_KEY您的密钥 \ letta/letta:latest2. 记忆管理策略核心记忆存储最重要的信息如用户身份和智能体角色归档记忆保存历史对话和重要事件定期清理设置记忆清理策略避免记忆膨胀3. 监控与调试MemGPT提供完整的监控接口# 获取智能体运行状态 agent_status client.agents.status(agent_idagent_state.id) print(智能体状态, agent_status) # 查看记忆使用情况 memory_usage client.agents.memory.usage(agent_idagent_state.id) print(记忆使用, memory_usage)常见问题与解决方案Q: MemGPT和Letta是什么关系A: MemGPT是项目的技术名称指代记忆管理技术Letta是完整的API服务器和运行时环境。两者是同一项目的不同组成部分。Q: 支持哪些LLM提供商A: MemGPT支持OpenAI、Anthropic、Google Vertex AI、Azure OpenAI、vLLM、Ollama等多种LLM服务。Q: 如何备份智能体数据A: 数据默认存储在PostgreSQL中备份数据库即可。使用Docker部署时数据位于~/.letta/.persist/pgdata目录。Q: 性能如何优化A: 建议使用SSD存储、合理配置数据库连接池、选择距离近的LLM服务端点并为智能体设置适当的记忆清理策略。进阶学习路径完成基础入门后您可以继续探索多智能体系统设计构建协作的智能体网络自定义记忆策略设计适合您业务场景的记忆管理方案生产环境部署将MemGPT部署到云服务器集群API集成开发将MemGPT集成到现有企业应用中性能监控与优化使用监控工具优化系统性能开始您的MemGPT之旅MemGPT为AI应用开发带来了革命性的变化。通过有效的记忆管理您可以构建出真正智能、有记忆、能够长期学习的AI助手。无论您是构建客户服务机器人、个人助理还是复杂的业务系统MemGPT都能为您提供强大的记忆管理能力。立即开始您的MemGPT之旅体验下一代AI智能体的强大功能提示项目详细文档和更多示例代码可以在项目目录的docs/和examples/文件夹中找到。完整的API参考文档位于fern/openapi.json。【免费下载链接】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),仅供参考