首页
学习
活动
专区
圈层
工具
发布

炸裂!Agent 拥有「永生记忆」,对话永不掉线的秘密竟是...

你是否想过,Agent 拥有永久记忆能力,即便用户退出后重新发起对话,它也能完整记住所有对话历史,始终与用户保持同频,提供如此贴心周到的服务,用户怎能不满意呢?

而实现这一强大功能并不复杂。下面,我们基于 A Langgraph 创建一个具备永久记忆的 Agent。

一、环境搭建

首先,我们要搭建运行环境,这里使用 jupyter 环境,若尚未搭建本地环境,请先完成搭建。

除环境外,还需两个重要的 api:

OpenAI 的 api,可在某宝搜索获取。

Tavily 的 api,在指定页面登录即可免费获取。使用 Tavily 的联网功能,是因为有伙伴询问如何让 RAG 联网,在此进行示例。

接着,创建名为 “yiyiai”、Python 版本为 “3.10” 的 conda 环境:

激活环境:

安装依赖包,使用 jupyter 实操,通过 langgraph 创建 Agent,tavily 提供 - tools 联网查询功能,OpenAI 作为后端大模型:

创建.env 文件,存入获取的 key 以便调用:

二、让 Agent 运行并实现记忆功能

代码已上传至会员盘,打开 jupyter 或使用顺手工具操作。进入操作环境后,在 conda 命令行窗口输入指令,自动跳转浏览器打开 jupyter-notebook,双击代码逐步操作。

以下是实现 Agent 持续记忆的关键代码及步骤:

三、记录存储

将记录存储到临时内存 memory 中,使用 SqliteSaver 实现:

给记录添加 ID(“thread_id: test_thread”):

agent_executor 是反应式代理执行器,使用 model 和一组 tools。checkpointer 参数 memory 为代理提供记忆存储机制,config 字典为代理执行器提供配置信息,“thread_id” 区分不同线程和会话。

不过,这种方式虽能让 Agent 记住用户信息,但数据量增大时,数据库会变大,大模型上下文窗口会限制性能。后续会针对此问题提供解决思路与实操方法。

我们通过 3 个实例进一步了解 Agent 记忆功能,这里仅演示示例 3:

查看工作目录,数据库就位,记录皆在其中。

此外,后续还会有系列 Agent 相关内容分享:

番外 1

Agent 拥有记忆!1 个用户 = 1 个数据库,与用户同频!(即本篇内容)

番外 2

优化持续记忆,绕过上下文限制,只记该记的!实时摘要!

番外 3

Agent 自我反思 + 评判 + 优化的实践!提供最优方案。

番外 4

用知识图谱提升 RAG - 星图提升系统性能!

所有内容,除图文介绍外,还有代码实操,并组织腾讯会议带大家动手操作。这个暑期,会梳理完整的 Agent 0-1 学习地图,助大家快速入门。

别再犹豫,动手才出真章,赶紧行动起来!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OClrdW285Of5nf4oGP8tKBKA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券