微信扫码
与创始人交个朋友
我要投稿
猴哥的第 125 期分享,欢迎追看
上篇和大家分享了用 Dify 搭建一个简单的 AI 搜索引擎:
今天继续分享 Dify 智能体搭建
的相关内容。
最近在关注大模型长期记忆
的问题,前天分享了阿里开源的 MemoryScope 项目:
如何赋予AI智能体长期记忆?阿里开源 MemoryScope 实战,全程免费
无奈本地配置环境略显繁琐,对小白不是特别友好。
有没有可能在 Dify 上搭建一个类似的智能体,实现大模型长期记忆
?
琢磨之余,发现 Dify 的官方案例中就有一款类似的智能体。
今日分享,把搭建过程拆解后分享出来,希望对有类似需求的你,有所启发。
参考上篇教程,相信你已完成 Dify 本地安装,若资源有限,也可使用官方的在线体验地址。
在 Dify 首页,第一个 Tab,官方内置了众多搭建好的智能体案例:
其中,有一个个性化记忆助手
的智能体,点击添加到工作区
:
在自己的工作室
,可以看到这个智能体已复制进来:
点进来,就可以看到所有的编排逻辑,然后可根据自己需求进行修改:
Dify 中内置了一个全局变量 -- 会话变量
,在右上角:
这个会话变量
具体有什么用?
和多轮对话的内容一样,它也可以作为 LLM 的上下文,不过它的自定义程度更高。
比如在本文的智能体中,就定义了memory
这样的会话变量
,用来存储需要大模型记忆的信息。
问题来了:memory
是怎么发挥作用的?
下面我们一起去探一探。
step 1 信息过滤: 判断用户输入中是否需要记忆的信息:
从上面的提示词,可以看出,这个节点上大模型只需输出 Yes 或 No,所以下个节点应该是条件判断。
step 2 条件判断:根据上一步大模型输出的 Yes 或 No,分别路由到不同的分支,如果有需要记忆的信息,则执行上方提取记忆
的分支,否则走下面的分支。
step 3 提取记忆:通过大模型的角色设定,从用户输入中提取出值得
记忆的信息。
在提示词中,指定了提取的三种类型记忆:
"facts": [],
"preferences": [],
"memories": []
step 4 存储记忆:这一步是代码节点,通过编写简单的 Python 代码,将上一步的记忆信息,保存到一开始定义的会话变量
- memory
中。
step 5 根据记忆回复:把会话变量
- memory
转换成字符串,也就是下图中的{x}result
,放到角色提示词中,让大模型根据记忆,进行答复。
至此,基于对话内容中有需要缓存的记忆
,上方提取记忆
的分支就搞定了。
如果step 2
判断为 No
,则直接基于已有记忆进行答复,也即下方分支,流程图如下:
我在和它进行了几轮对话之后,点开右上角的会话变量
,可以发现memory
中已经缓存了多条事实类的记忆
:
完美!
真的完美么?
相比直接把多条聊天记录作为上下文
,这种方式要优雅很多,且极大减少了 Token 消耗量。
不过,个人认为至少还有两点缺陷:
这时,强烈建议你去试试上篇分享的 MemoryScope:
如何赋予AI智能体长期记忆?阿里开源 MemoryScope 实战
本文通过一个简单案例,带大家拆解并实操了Dify 搭建个性化记忆助手,整体流程比较简单,相信看到这里的你,一定还有很多想法要去实现,快去试试吧~
如果对你有帮助,欢迎点赞收藏备用。
之前微信机器人小爱(AI)
的多轮对话,是通过本地缓存上下文信息实现,其实完全可以用本文的智能体替代,后面抽空改造后,再和大家分享!
为方便大家交流,新建了一个 AI 交流群
,欢迎感兴趣的小伙伴加入。
微信机器人小爱(AI)
也在群里,公众号后台「联系我」,拉你进群。
? 关注猴哥,快速入门AI工具
# AI 工具:
本地部署大模型?看这篇就够了,Ollama 部署和实战53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-22
Dify 保姆级教程之:零代码打造图像生成专家(上)
2024-11-22
Dify 保姆级教程之:零代码打造 AI 搜索引擎
2024-11-15
dify案例分享-基于jina和http实现36氪新闻热榜文章
2024-11-10
安装 Dify 并集成 Ollama 和 Xinference
2024-11-05
【附案例源码】把阿里云验证码短信接入到dify中
2024-11-05
Dify 中的 Bearer Token 与 API-Key 鉴权方式
2024-11-01
Gitee AI 入驻 Dify,成倍加速 AI 应用开发落地
2024-10-27
免费使用 Mistral AI 并将其添加到 Dify 中使用
2024-04-25
2024-04-24
2024-07-20
2024-05-08
2024-05-07
2024-07-16
2024-05-09
2024-06-21
2024-04-25
2024-07-08