系列文章目录
第一章 Dify快速入门之环境搭建
第二章 Dify快速入门之基于知识库构建聊天机器人
第三章 Dify快速入门之构建工作流
第四章 Dify快速入门之chatflow
文章目录
- 系列文章目录
- 前言
- 一、创建chatflow
- 二、构建chatflow
- 1.知识检索节点
- 2.判断是否与知识库相关节点
- 3.Json解析节点
- 3.if/else节点
- 4.两部分处理
- 三、实施chatflow
- 总结
前言
Dify的Chatflow(聊天工作流)是其平台中的核心功能之一,旨在帮助用户通过可视化界面设计和部署复杂的对话式AI应用(如智能客服、多轮对话助手等),无需编写代码即可实现灵活的对话逻辑和AI能力集成。
本文将基于私有知识库和搜索引擎,构建高质量RAG聊天应用。
一、创建chatflow
在创建空白应用处点击创建。
二、构建chatflow
1.知识检索节点
本文是要基于知识库的,那么首先构建一个知识检索节点,并勾选我们之前建立的知识库。具体如图所示:
在这里需要用到另一类模型Rerank模型,这个模型呢可以去jina.ai获取免费的使用权限,然后在Dify的模型供应商添加。
2.判断是否与知识库相关节点
针对问题我们要先判断是否是基于知识库的提问,然后再根据是否相关进行下一步操作。
在system提示中写到:
基于上下文,以及用户的提问,判断是否与上下文的提问有关。
回答采用Json的数据格式。直接输出Json,不用使用Markdown语法。
如果与上下文相关,则回答:
{
"related":true
}
否则,回答:
{
"related":false
}
在user提示中写到:
3.Json解析节点
从上面的json数据中进行分析来进行下一步。设置如图所示:
3.if/else节点
从上面得到的结果我们将其分成2个部分处理,如果相关就走if路线,不相关则走else路线。
4.两部分处理
1.相关的话我们就直接借助LLM结合知识库进行生成,如图所示:
2.如果不相关就借助外部搜索引擎,这个按照提示就可以获取对应的api了,如图所示:
借助谷歌或其它搜索可能需要api,但学习阶段这个可以不用,知道就好了。
三、实施chatflow
如果是相关的就会:
而如果不相关则会走另一条路线:
按理来说谷歌搜索应该有内容的,不知道为啥了,有小伙伴知道这是什么原因吗?用DuckDuckGo是网络不行用不了,大家也可以去试试。
总结
以上就是基于私有知识库和搜索引擎,构建高质量RAG聊天应用,小伙伴可以根据自己的需要再进行修改。