Dify 保姆级教程之:零代码打造个性化记忆助手

上篇和大家分享了用 Dify 搭建一个简单的 AI 搜索引擎:

Dify 保姆级教程之:零代码打造 AI 搜索引擎

今天继续分享 Dify 智能体搭建的相关内容。

最近在关注大模型长期记忆的问题,前天分享了阿里开源的 MemoryScope 项目:

如何赋予AI智能体长期记忆?阿里开源 MemoryScope 实战,全程免费

无奈本地配置环境略显繁琐,对小白不是特别友好。

有没有可能在 Dify 上搭建一个类似的智能体,实现大模型长期记忆

琢磨之余,发现 Dify 的官方案例中就有一款类似的智能体。

今日分享,把搭建过程拆解后分享出来,希望对有类似需求的你,有所启发。

参考上篇教程,相信你已完成 Dify 本地安装,若资源有限,也可使用官方的在线体验地址。

1. 官方案例

在 Dify 首页,第一个 Tab,官方内置了众多搭建好的智能体案例:

其中,有一个个性化记忆助手的智能体,点击添加到工作区

在自己的工作室,可以看到这个智能体已复制进来:

点进来,就可以看到所有的编排逻辑,然后可根据自己需求进行修改:

1. 了解会话变量

Dify 中内置了一个全局变量 – 会话变量,在右上角:

这个会话变量具体有什么用?

和多轮对话的内容一样,它也可以作为 LLM 的上下文,不过它的自定义程度更高。

比如在本文的智能体中,就定义了memory这样的会话变量,用来存储需要大模型记忆的信息。

问题来了:memory是怎么发挥作用的?

下面我们一起去探一探。

2. 智能体拆解

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,则直接基于已有记忆进行答复,也即下方分支,流程图如下:

3. 效果展示

我在和它进行了几轮对话之后,点开右上角的会话变量,可以发现memory中已经缓存了多条事实类的记忆

完美!

真的完美么?

相比直接把多条聊天记录作为上下文,这种方式要优雅很多,且极大减少了 Token 消耗量。

不过,个人认为至少还有两点缺陷:

  • 随着记忆内容的增多,每次对话,把所有记忆内容都作为上下文,会显得十分冗余,这里可以结合 RAG 来做;
  • 每次都从单论对话中提取记忆,缺乏足够的上下文,容易导致记忆内容的断章取义,理想的方式应该从多轮对话中提取有价值的信息;

这时,强烈建议你去试试上篇分享的 MemoryScope:

如何赋予AI智能体长期记忆?阿里开源 MemoryScope 实战

写在最后

本文通过一个简单案例,带大家拆解并实操了Dify 搭建个性化记忆助手,整体流程比较简单,相信看到这里的你,一定还有很多想法要去实现,快去试试吧~

如果对你有帮助,欢迎点赞收藏备用。

之前微信机器人小爱(AI)的多轮对话,是通过本地缓存上下文信息实现,其实完全可以用本文的智能体替代,后面抽空改造后,再和大家分享!


为方便大家交流,新建了一个 AI 交流群,欢迎感兴趣的小伙伴加入。

微信机器人小爱(AI)也在群里,公众号后台「联系我」,拉你进群。

<think>好的,用户现在在寻找关于Dify搭建的详细教程,特别是保姆的完整指南。我需要根据他们提供的引用内容来组织回答。首先,用户提到了引用[2],里面提到了使用Docker部署Dify,然后整合Ollama和私有化知识库的步骤。我应该详细分解这些步骤,确保结构清晰,符合用户要求的系统指令,比如使用正确的中文回答、分步骤说明,并且生成相关问题。 首先,我需要确认用户的需求是搭建Dify平台,可能用于构建知识库应用。引用中的步骤包括Docker部署、Ollama集成、知识库创建和嵌入模型选择。需要将这些步骤逐一解释,确保每个部分都详细,比如安装Docker的部分可能需要先检查系统是否已安装,如果没有,需要指导用户如何安装。然后,部署Dify时,可能需要拉取镜像、运行容器,并检查服务是否正常启动。 接下来是集成Ollama,用户可能不熟悉Ollama是什么,可能需要简要说明它是一个本地运行大模型的工具,然后给出具体的安装和启动命令。然后配置Dify的后台设置,修改模型配置,这里需要确保用户知道如何找到配置文件,可能需要给出路径或者具体的配置示例。 创建知识库的部分,需要引导用户进入Dify界面,创建知识库,上传文档,并选择嵌入模型。这里需要强调嵌入模型的重要性,比如选择beg-m3模型的高效性,以及如何处理文档格式。完成嵌入后,测试知识库的问答功能,确保一切正常。 最后的应用创建部分,用户可能需要将知识库集成到聊天应用中,这里需要指导用户如何在Dify中创建应用,并绑定知识库,设置对话流程等。 同时,用户提到内网穿透,引用[1]是关于Windows搭建网站和内网穿透的内容,虽然用户主要关注Dify,但可能需要在内网穿透部分简要提及相关工具,如frp或Ngrok,并引用[1]作为参考,但根据用户的问题,可能不需要深入展开,除非用户特别询问。 生成的相关问题需要围绕Dify部署的常见问题,比如优化部署、解决集成问题、模型选择、私有化知识库管理以及内网穿透的具体方法。这些问题应该帮助用户进一步解决可能遇到的挑战。 最后,检查回答是否符合所有系统指令:使用正确的中文、分步骤、LaTeX格式正确(但当前内容中可能没有数学表达式,所以不需要处理)、生成相关问题,并在引用处正确标注[^1]和[^2]。 现在需要将这些思考整理成一个结构清晰、步骤分明的回答,确保用户能够按照步骤操作,同时自然地插入引用标注。</think>以下是关于Dify私有化部署的保姆教程,整合了Docker部署、Ollama集成与知识库创建的完整流程: ### 一、Docker环境准备 1. 安装Docker Desktop(Windows/Mac)或Docker Engine(Linux) 2. 验证安装:终端执行`docker --version`,显示版本号即成功[^2] ### 二、部署Dify平台 ```bash # 拉取最新镜像 docker pull dify/dify:latest # 启动容器(含PostgreSQL/Redis) docker run -d --name dify \ -p 8080:8080 \ -v /data/dify/storage:/app/dify/storage \ dify/dify:latest ``` 部署完成后访问`http://localhost:8080`进入控制台 ### 三、Ollama集成配置 1. 安装Ollama(支持macOS/Linux/Windows) ```bash # Linux安装示例 curl -fsSL https://ollama.com/install.sh | sh ollama serve ``` 2. 在Dify后台修改模型配置: ```yaml # config.yaml ollama: base_url: http://localhost:11434 models: - llama2 - mistral ``` ### 四、知识库创建流程 1. **新建知识库** - 登录Dify控制台 → 知识库 → 新建 - 命名规范建议:`部门_类型_版本`(如`技术部_产品手册_v1.2`) 2. **文档上传规范** - 支持格式:PDF/DOCX/Markdown/TXT - 单文件建议<20MB - 批量上传使用ZIP压缩包 3. **嵌入模型选择** ```python # beg-m3模型配置示例 embedding_model = "BAAI/bge-m3" max_seq_length = 8192 ``` 该模型支持中英文混合检索,适合长文本处理 ### 五、应用创建与测试 1. 创建对话型应用 2. 绑定已创建的知识库 3. 配置对话流程: ``` 用户输入 → 意图识别 → 知识库检索 → 模型生成 → 结果反馈 ``` 4. 使用测试窗口验证问答准确性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值